unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
@ 2023-12-30 22:56 Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-04 11:10 ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-30 22:56 UTC (permalink / raw)
  To: 68158

With emacs -Q, in the buffer which pops open after...

(progn
  (setopt isearch-wrap-pause 'no)
  ;; (setopt isearch-wrap-pause 'no-ding)  ; this causes the same problem
  (with-current-buffer (generate-new-buffer "isearch-wrap-pause-test")
    (insert "bar")
    (goto-char (point-min))
    (pop-to-buffer (current-buffer))))

...run isearch for "baz" with...

C-s b a z

...then attempt to delete the non-matching "z" character with DEL.

Expected contents of minibuffer:

"Isearch: ba"

Actual contents of minibuffer:

"Failing overwrapped I-search: baz"

Pressing DEL a second time actually deletes the "z".

Thanks for your help!!

Joseph

GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
cairo version 1.16.0)





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
  2023-12-30 22:56 bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-04 11:10 ` Eli Zaretskii
  2024-01-04 17:02   ` Juri Linkov
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-01-04 11:10 UTC (permalink / raw)
  To: Joseph Turner, Juri Linkov; +Cc: 68158

> Date: Sat, 30 Dec 2023 14:56:13 -0800
> From:  Joseph Turner via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> With emacs -Q, in the buffer which pops open after...
> 
> (progn
>   (setopt isearch-wrap-pause 'no)
>   ;; (setopt isearch-wrap-pause 'no-ding)  ; this causes the same problem
>   (with-current-buffer (generate-new-buffer "isearch-wrap-pause-test")
>     (insert "bar")
>     (goto-char (point-min))
>     (pop-to-buffer (current-buffer))))
> 
> ...run isearch for "baz" with...
> 
> C-s b a z
> 
> ...then attempt to delete the non-matching "z" character with DEL.
> 
> Expected contents of minibuffer:
> 
> "Isearch: ba"
> 
> Actual contents of minibuffer:
> 
> "Failing overwrapped I-search: baz"
> 
> Pressing DEL a second time actually deletes the "z".
> 
> Thanks for your help!!
> 
> Joseph
> 
> GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
> cairo version 1.16.0)

Juri, could you please look into this?  It seems to be a regression in
Emacs 29.1 due to your changes in commit 7320a812e, to solve
bug#56535.  I guess we need to distinguish between self-inserting
characters and DEL?





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
  2024-01-04 11:10 ` Eli Zaretskii
@ 2024-01-04 17:02   ` Juri Linkov
  2024-01-04 17:49     ` Eli Zaretskii
  2024-01-04 18:58     ` Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 7+ messages in thread
From: Juri Linkov @ 2024-01-04 17:02 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 68158, Joseph Turner

[-- Attachment #1: Type: text/plain, Size: 923 bytes --]

>> (progn
>>   (setopt isearch-wrap-pause 'no)
>>   ;; (setopt isearch-wrap-pause 'no-ding)  ; this causes the same problem
>>   (with-current-buffer (generate-new-buffer "isearch-wrap-pause-test")
>>     (insert "bar")
>>     (goto-char (point-min))
>>     (pop-to-buffer (current-buffer))))
>>
>> ...run isearch for "baz" with...
>>
>> C-s b a z
>>
>> ...then attempt to delete the non-matching "z" character with DEL.
>>
>> GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
>> cairo version 1.16.0)
>
> Juri, could you please look into this?  It seems to be a regression in
> Emacs 29.1 due to your changes in commit 7320a812e, to solve
> bug#56535.  I guess we need to distinguish between self-inserting
> characters and DEL?

This means that we need to preclude 'isearch-push-state' in 'isearch-repeat'
from updating 'isearch-cmds'.

Should I push this patch to the emacs-29 branch?  It looks safe.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: isearch-wrap-pause-no-ding.patch --]
[-- Type: text/x-diff, Size: 578 bytes --]

diff --git a/lisp/isearch.el b/lisp/isearch.el
index ee5660309df..f753a5377ca 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2844,7 +2844,8 @@ isearch-search-and-update
       (isearch-search)
       (when (and (memq isearch-wrap-pause '(no no-ding))
                  (not isearch-success))
-        (isearch-repeat (if isearch-forward 'forward 'backward)))))
+        (let ((isearch-cmds isearch-cmds))
+          (isearch-repeat (if isearch-forward 'forward 'backward))))))
   (isearch-push-state)
   (if isearch-op-fun (funcall isearch-op-fun))
   (isearch-update))

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
  2024-01-04 17:02   ` Juri Linkov
@ 2024-01-04 17:49     ` Eli Zaretskii
  2024-01-05  7:41       ` Juri Linkov
  2024-01-04 18:58     ` Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-01-04 17:49 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 68158, joseph

> From: Juri Linkov <juri@linkov.net>
> Cc: Joseph Turner <joseph@breatheoutbreathe.in>,  68158@debbugs.gnu.org
> Date: Thu, 04 Jan 2024 19:02:52 +0200
> 
> >> C-s b a z
> >>
> >> ...then attempt to delete the non-matching "z" character with DEL.
> >>
> >> GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
> >> cairo version 1.16.0)
> >
> > Juri, could you please look into this?  It seems to be a regression in
> > Emacs 29.1 due to your changes in commit 7320a812e, to solve
> > bug#56535.  I guess we need to distinguish between self-inserting
> > characters and DEL?
> 
> This means that we need to preclude 'isearch-push-state' in 'isearch-repeat'
> from updating 'isearch-cmds'.
> 
> Should I push this patch to the emacs-29 branch?  It looks safe.

Yes, please.

Thanks.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
  2024-01-04 17:02   ` Juri Linkov
  2024-01-04 17:49     ` Eli Zaretskii
@ 2024-01-04 18:58     ` Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-05  7:42       ` Juri Linkov
  1 sibling, 1 reply; 7+ messages in thread
From: Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-04 18:58 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Eli Zaretskii, 68158

Juri Linkov <juri@linkov.net> writes:

[...]

> This means that we need to preclude 'isearch-push-state' in 'isearch-repeat'
> from updating 'isearch-cmds'.
>
> Should I push this patch to the emacs-29 branch?  It looks safe.

Thank you!  This solves the problem on my machine.

Joseph






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
  2024-01-04 17:49     ` Eli Zaretskii
@ 2024-01-05  7:41       ` Juri Linkov
  0 siblings, 0 replies; 7+ messages in thread
From: Juri Linkov @ 2024-01-05  7:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 68158, joseph

>> >> C-s b a z
>> >>
>> >> ...then attempt to delete the non-matching "z" character with DEL.
>> >>
>> >> GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
>> >> cairo version 1.16.0)
>> >
>> > Juri, could you please look into this?  It seems to be a regression in
>> > Emacs 29.1 due to your changes in commit 7320a812e, to solve
>> > bug#56535.  I guess we need to distinguish between self-inserting
>> > characters and DEL?
>> 
>> This means that we need to preclude 'isearch-push-state' in 'isearch-repeat'
>> from updating 'isearch-cmds'.
>> 
>> Should I push this patch to the emacs-29 branch?  It looks safe.
>
> Yes, please.

So now pushed to emacs-29.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char
  2024-01-04 18:58     ` Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-05  7:42       ` Juri Linkov
  0 siblings, 0 replies; 7+ messages in thread
From: Juri Linkov @ 2024-01-05  7:42 UTC (permalink / raw)
  To: Joseph Turner; +Cc: Eli Zaretskii, 68158

close 68158 29.1.90
thanks

>> This means that we need to preclude 'isearch-push-state' in 'isearch-repeat'
>> from updating 'isearch-cmds'.
>>
>> Should I push this patch to the emacs-29 branch?  It looks safe.
>
> Thank you!  This solves the problem on my machine.

Thanks for confirming and for the bug report.  So now closing it.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-01-05  7:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-30 22:56 bug#68158: isearch-wrap-pause 'no or 'no-ding breaks isearch-delete-char Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-04 11:10 ` Eli Zaretskii
2024-01-04 17:02   ` Juri Linkov
2024-01-04 17:49     ` Eli Zaretskii
2024-01-05  7:41       ` Juri Linkov
2024-01-04 18:58     ` Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-05  7:42       ` Juri Linkov

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).