emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/isearch-mb fccf1b7 08/20: Fix post-command hook for the


From: Stefan Monnier
Subject: [elpa] externals/isearch-mb fccf1b7 08/20: Fix post-command hook for the failed search case
Date: Sun, 16 May 2021 17:21:13 -0400 (EDT)

branch: externals/isearch-mb
commit fccf1b7b3fb7b6735db099d6ef71424f37d09617
Author: Augusto Stoffel <arstoffel@gmail.com>
Commit: Augusto Stoffel <arstoffel@gmail.com>

    Fix post-command hook for the failed search case
---
 isearch-mb.el | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/isearch-mb.el b/isearch-mb.el
index b6cf073..bf15b18 100644
--- a/isearch-mb.el
+++ b/isearch-mb.el
@@ -64,15 +64,23 @@
             text isearch-string)
       (delete-minibuffer-contents)
       (insert isearch-string))
+    ;; Update search buffer
     (unless (string-equal text isearch-string)
       (let ((inhibit-redisplay t))
         (with-minibuffer-selected-window
           (setq isearch-string (substring-no-properties text))
           (isearch-update-from-string-properties text)
-          (if (get this-command 'isearch-mb--no-search)
+          ;; Backtrack to barrier and search, unless the `this-command'
+          ;; is special or the search regexp is invalid.
+          (if (or (get this-command 'isearch-mb--no-search)
+                  (and isearch-regexp
+                       (condition-case err
+                           (prog1 nil (string-match-p isearch-string ""))
+                         (invalid-regexp
+                          (prog1 t (isearch-mb--message (cadr err)))))))
               (isearch-update)
             (goto-char isearch-barrier)
-            (setq isearch-adjusted t isearch-yank-flag t)
+            (setq isearch-adjusted t isearch-success t)
             (isearch-search-and-update))))))
   (set-text-properties (minibuffer-prompt-end) (point-max) nil)
   (when-let ((fail-pos (isearch-fail-pos)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]