* bug#71430: Persistent Highlighting Issue with query-replace using "act-and-show" Option
@ 2024-06-08 7:29 Gabriele Nicolardi
2024-06-08 8:33 ` Eli Zaretskii
0 siblings, 1 reply; 3+ messages in thread
From: Gabriele Nicolardi @ 2024-06-08 7:29 UTC (permalink / raw)
To: 71430
[-- Attachment #1.1: Type: text/plain, Size: 1557 bytes --]
Hi,
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:
View Animation on Imgur <https://imgur.com/a/BxVwVff>
*Visual Evidence:*
* Highlight *before* using |act-and-show| (match):
* Highlight *after* using |act-and-show| while paused (replacement):
As demonstrated, the highlighted region post-replacement does not
correspond to any current match, which is misleading and might affect
further editing decisions.
Best regards,
Gabriele Nicolardi
[-- Attachment #1.2.1: Type: text/html, Size: 146549 bytes --]
[-- Attachment #1.2.2: MWE_130.png --]
[-- Type: image/png, Size: 38561 bytes --]
[-- Attachment #1.2.3: MWE_131.png --]
[-- Type: image/png, Size: 37614 bytes --]
[-- Attachment #2: match.png --]
[-- Type: image/png, Size: 38561 bytes --]
[-- Attachment #3: replacement.png --]
[-- Type: image/png, Size: 37614 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#71430: Persistent Highlighting Issue with query-replace using "act-and-show" Option
2024-06-08 7:29 bug#71430: Persistent Highlighting Issue with query-replace using "act-and-show" Option Gabriele Nicolardi
@ 2024-06-08 8:33 ` Eli Zaretskii
2024-06-08 10:41 ` Eli Zaretskii
0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2024-06-08 8:33 UTC (permalink / raw)
To: Gabriele Nicolardi; +Cc: 71430
> Date: Sat, 8 Jun 2024 09:29:41 +0200
> From: Gabriele Nicolardi <gabriele@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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#71430: Persistent Highlighting Issue with query-replace using "act-and-show" Option
2024-06-08 8:33 ` Eli Zaretskii
@ 2024-06-08 10:41 ` Eli Zaretskii
0 siblings, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2024-06-08 10:41 UTC (permalink / raw)
To: gabriele; +Cc: 71430-done
> Date: Sat, 8 Jun 2024 11:05:24 +0200
> From: Gabriele Nicolardi <gabriele@medialab.sissa.it>
>
> Il 08/06/24 10:33, Eli Zaretskii ha scritto:
> >> Date: Sat, 8 Jun 2024 09:29:41 +0200
> >> From: Gabriele Nicolardi <gabriele@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.
>
>
>
> > > Cc: 71430@debbugs.gnu.org
> > > Date: Sat, 08 Jun 2024 11:33:55 +0300
> > > From: Eli Zaretskii <eliz@gnu.org>
> > >
> > > > Date: Sat, 8 Jun 2024 09:29:41 +0200
> > > > From: Gabriele Nicolardi <gabriele@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.
>
> Oh, sorry! My Emacs version is 29.3.
OK, thanks, so I'm now closing this bug.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-06-08 10:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-08 7:29 bug#71430: Persistent Highlighting Issue with query-replace using "act-and-show" Option Gabriele Nicolardi
2024-06-08 8:33 ` Eli Zaretskii
2024-06-08 10:41 ` Eli Zaretskii
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).