unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Bob Floyd" <bobfloyd@comcast.net>
To: "'Juri Linkov'" <juri@linkov.net>
Cc: 45617@debbugs.gnu.org
Subject: bug#45617: <query-replace> loses the edit region. Works in 23.3, broke in 26.3
Date: Thu, 28 Jan 2021 08:31:54 -0800	[thread overview]
Message-ID: <005401d6f593$1845e600$48d1b200$@net> (raw)
In-Reply-To: <87blda7ljp.fsf@mail.linkov.net>

Good idea. I placed this query-replaceX in my .emacs:

(defun query-replaceX (from-string to-string &optional delimited start end
backward region-noncontiguous-p)
  (interactive
   (let ((common
	  (query-replace-read-args
	   (concat "Query replace"
		   (if current-prefix-arg
		       (if (eq current-prefix-arg '-) " backward" " word")
		     "")
		   (if (use-region-p) " in region" ""))
	   nil)))
     (list (nth 0 common) (nth 1 common) (nth 2 common)
	   ;; These are done separately here
	   ;; so that command-history will record these expressions
	   ;; rather than the values they had this time.
	   (if (use-region-p) (region-beginning))
	   (if (use-region-p) (region-end))
	   (nth 3 common)
	   (if (use-region-p) (region-noncontiguous-p)))))
  (message "region: %S %S" start end)
  (perform-replace from-string to-string t nil delimited nil nil start end
backward region-noncontiguous-p))

1. Select region by dragging left mouse
2. ESC-x query-replaceX to start the above
3. double-mouse click on the last _xxx in the selected region

  CompilationUnit::Elaborate::Setup::InitOrderKey::
  Cmp( TThis const& _r ) const
  {
    int _xxx;

    // Primary sort is by phase to group all symbols in a phase together.

    if ( ( _xxx = phase - _r.phase ) != 0 )
      return _cmp;  <<<<------------ double mouse click on this (was _xxx)

4. keyboard enter _cmp, so the command window looks like:
   Query replace in region (default _cmp → _xxx): _xxx with: _cmp
5. keyboard enter. The result is the above snippet of code, it incorrectly
replaced only 1 of the 3 _xxx's

Here is the *Messages* buffer beginning with the (1) select region:

Mark set
region: 6576 6582
Mark set
Replaced 1 occurrence
Auto-saving...done
Mark set

What would you like me to do next?


-----Original Message-----
From: Juri Linkov [mailto:juri@linkov.net] 
Sent: Wednesday, January 27, 2021 1:44 AM
To: Bob Floyd
Cc: 'Eli Zaretskii'; 45617@debbugs.gnu.org
Subject: Re: bug#45617: <query-replace> loses the edit region. Works in
23.3, broke in 26.3

> It looks like the `replace.elc` file I've been creating isn't being
loaded:
>
> I changed:
> (message "Replaced %d occurrence%s%s"
> To:
> (message "Replaced XX %d occurrence%s%s"
>
> And the *Messages* buffer still shows:
> Replaced 3 occurences
>
> I've verified the elc file is re-written each time I change and
> byte-compile-file replace.el.
>
> Is there a command that shows the paths to the elc files loaded? Or, does
a
> new instance of emacs share elc's from an existing running copy of emacs
> (that would be pretty geeky!)? I'm doing my tests with an emacs running
for
> several days now, assuming it would not interfere.

Maybe the simplest way is that you can temporarily copy redefined
functions to your .emacs file, and you can evaluate redefined functions
using C-M-x.






  reply	other threads:[~2021-01-28 16:31 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-03  1:05 bug#45617: <query-replace> loses the edit region. Works in 23.3, broke in 26.3 Bob Floyd
2021-01-03 14:47 ` Eli Zaretskii
2021-01-03 19:18   ` Bob Floyd
2021-01-04 17:26     ` Eli Zaretskii
2021-01-04 17:37   ` Juri Linkov
2021-01-04 22:40     ` Bob Floyd
2021-01-05 18:27       ` Juri Linkov
2021-01-05 19:45         ` Bob Floyd
2021-01-06 17:44           ` Juri Linkov
2021-01-06 18:19             ` Eli Zaretskii
2021-01-06 22:10               ` Bob Floyd
2021-01-13 18:53                 ` Juri Linkov
2021-01-15  1:22                   ` Bob Floyd
2021-01-15  8:54                     ` Juri Linkov
2021-01-15 11:23                       ` Eli Zaretskii
2021-01-19 17:45                         ` Juri Linkov
2021-01-19 18:39                           ` Eli Zaretskii
2021-01-15 18:05                       ` Bob Floyd
2021-01-19 17:43                         ` Juri Linkov
2021-01-20 22:48                           ` Bob Floyd
2021-01-20 23:23                           ` Bob Floyd
2021-01-21 21:50                             ` Juri Linkov
2021-01-22 17:31                               ` Bob Floyd
2021-01-23 17:20                                 ` Juri Linkov
2021-01-23 18:03                                   ` Bob Floyd
2021-01-23 18:31                                     ` Juri Linkov
2021-01-24 20:40                                       ` Bob Floyd
2021-01-25 17:07                                         ` Juri Linkov
2021-01-25 18:13                                           ` Bob Floyd
2021-01-25 18:54                                             ` Juri Linkov
2021-01-25 19:34                                               ` Bob Floyd
2021-01-25 19:51                                                 ` Juri Linkov
2021-01-26  0:34                                                   ` Bob Floyd
2021-01-27  9:43                                                     ` Juri Linkov
2021-01-28 16:31                                                       ` Bob Floyd [this message]
2021-01-28 18:42                                                         ` Juri Linkov
2021-01-28 21:32                                                           ` Bob Floyd
2021-01-29  8:56                                                             ` Juri Linkov
2021-01-15 18:09                   ` Bob Floyd
2021-01-07 18:46               ` Juri Linkov
2021-01-07 19:36                 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='005401d6f593$1845e600$48d1b200$@net' \
    --to=bobfloyd@comcast.net \
    --cc=45617@debbugs.gnu.org \
    --cc=juri@linkov.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).