]> git.eshelyaron.com Git - emacs.git/commitdiff
Wrap around the search on typing a letter (bug#56535)
authorJuri Linkov <juri@linkov.net>
Mon, 1 Aug 2022 19:19:01 +0000 (22:19 +0300)
committerJuri Linkov <juri@linkov.net>
Mon, 1 Aug 2022 19:19:01 +0000 (22:19 +0300)
* doc/emacs/search.texi (Repeat Isearch): Improve values no/no-ding.

* lisp/isearch.el (isearch-search-and-update): Try to repeat the search
on an error when isearch-wrap-pause is no/no-ding.

doc/emacs/search.texi
etc/NEWS
lisp/isearch.el

index 27d4db854129fd18cd2a182df9916dfe689a8b7f..582e764c55fec76052b23038629c63520b2d4c00 100644 (file)
@@ -228,8 +228,9 @@ customizing the @code{isearch-wrap-pause} user option.  If it is
 @code{t} (the default), signal an error.  (Repeating the search will
 wrap around.)  If @code{no}, issue a @code{ding} and wrap immediately
 after reaching the last match.  If @code{no-ding}, wrap immediately,
-but don't @code{ding}.  Finally, if @code{nil}, never wrap, but just
-stop at the last match.
+but don't @code{ding}.  With the values @code{no} and @code{no-ding}
+the search will try to wrap around also on typing a character.
+Finally, if @code{nil}, never wrap, but just stop at the last match.
 
 @cindex search ring
 @findex isearch-ring-advance
index b011413cbc3f8c0f5c89eea08a34f4d4141027a3..7aff7921f9869e2c6064572b74238e569f2e718c 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1457,6 +1457,11 @@ outside the echo area, Emacs will, by default, end the Isearch and
 yank the text at mouse cursor.  But if 'mouse-yank-at-point' is
 non-nil, the text will now be added to the Isearch instead.
 
++++
+*** Changes for values 'no' and 'no-ding' of 'isearch-wrap-pause'.
+Now with these values the search will wrap around not only on repeating
+with 'C-s C-s', but also after typing a character.
+
 +++
 *** New user option 'char-fold-override'.
 Non-nil means that the default definitions of equivalent characters
index 8f480a87d94bae21c027025385b610283e38241f..336c5f1bde2b3a294509b222fdaf74e651c1ce32 100644 (file)
@@ -2838,7 +2838,9 @@ The command accepts Unicode names like \"smiling face\" or
                            isearch-barrier
                            (1+ isearch-other-end)))))
       (isearch-search)
-      ))
+      (when (and (memq isearch-wrap-pause '(no no-ding))
+                 (not isearch-success))
+        (isearch-repeat (if isearch-forward 'forward 'backward)))))
   (isearch-push-state)
   (if isearch-op-fun (funcall isearch-op-fun))
   (isearch-update))