GNU bug report logs - #71430
Persistent Highlighting Issue with query-replace using "act-and-show" Option

Previous Next

Package: emacs;

Reported by: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>

Date: Sat, 8 Jun 2024 07:31:02 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 71430 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
Cc: 71430 <at> debbugs.gnu.org
Subject: Re: bug#71430: Persistent Highlighting Issue with query-replace using
 "act-and-show" Option
Date: Sat, 08 Jun 2024 11:33:55 +0300
> Date: Sat, 8 Jun 2024 09:29:41 +0200
> From: Gabriele Nicolardi <gabriele <at> medialab.sissa.it>
> 
> I’ve encountered a potential bug in Emacs when using the |query-replace| 
> (via |perform-replace|) functions. When performing text replacements 
> across a buffer and choosing to replace but not immediately move the 
> point (using the |,| |act-and-show| option), the function does replace 
> the text as expected but fails to update the highlighting to the region 
> containing the replacement.
> 
> *Steps to Reproduce:*
> 
>  1.
> 
>     Open a buffer with the following content:
> 
>     |String to be replaced. Another string. String to be replaced.
>     Another string. End |
> 
>  2.
> 
>     Run the following command:
> 
>     |(query-replace "String to be replaced." "Replacement." nil
>     (point-min) (point-max)) |
> 
>  3.
> 
>     When prompted to replace a match, use the |,| (|act-and-show|)
>     option to replace the text but pause moving to the next match.
> 
> *Expected Behavior:*
> After a replacement is made and before moving to the next match, the 
> highlighted region of the replaced text should be “updated” to fit the 
> replaced text.
> 
> *Actual Behavior:*
> The highlighting remains on the matched region. This issue can be 
> visually confirmed in the following animation:

You don't say in what version of Emacs you see the problematic
behavior.  I can reproduce the behavior you report in Emacs 29, but
not in Emacs 30 (on the master branch of the Emacs Git repository).
So I think this bug was already solved on the master branch, which
will become Emacs 30.




This bug report was last modified 1 year and 46 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.