emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-25 0ce37ea: Fix Isearch prompt when invoked with an


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 0ce37ea: Fix Isearch prompt when invoked with an argument
Date: Mon, 14 Mar 2016 18:18:21 +0000

branch: emacs-25
commit 0ce37eac45f8b1279e89e854f71bb3f35fd43d29
Author: Kaushal Modi <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Fix Isearch prompt when invoked with an argument
    
    * lisp/isearch.el (isearch--describe-regexp-mode): With
    `search-default-mode' set to nil, if user does C-u C-s, the minibuffer
    now displays "Regexp I-search: " again.  But if the user has set
    `search-default-mode' to t, and then does C-s, the minibuffer now
    displays "I-search: " because the default search mode is now regexp
    mode.  Comments have been added to explain the priority of conditions
    in the `cond' form.  (Bug#22991)
---
 lisp/isearch.el |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/lisp/isearch.el b/lisp/isearch.el
index b8ada2c..988503e 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2574,15 +2574,26 @@ the word mode."
   (when (eq regexp-function t)
     (setq regexp-function #'word-search-regexp))
   (let ((description
-         ;; Don't use a description on the default search mode.
-         (cond ((equal regexp-function search-default-mode) "")
+         (cond
+          ;; 1. Do not use a description on the default search mode,
+          ;;    but only if the default search mode is non-nil.
+          ((or (and search-default-mode
+                    (equal search-default-mode regexp-function))
+               ;; Special case where `search-default-mode' is t
+               ;; (defaults to regexp searches).
+               (and (eq search-default-mode t)
+                    (eq search-default-mode isearch-regexp))) "")
+          ;; 2. Use the `isearch-message-prefix' set for
+          ;;    `regexp-function' if available.
                (regexp-function
                 (and (symbolp regexp-function)
                      (or (get regexp-function 'isearch-message-prefix)
                          "")))
+          ;; 3. Else if `isearch-regexp' is non-nil, set description
+          ;;    to "regexp ".
                (isearch-regexp "regexp ")
-               ;; We're in literal mode. If the default mode is not
-               ;; literal, then describe it.
+          ;; 4. And finally, if we're in literal mode (and if the
+          ;;    default mode is also not literal), describe it.
                ((functionp search-default-mode) "literal "))))
     (if space-before
         ;; Move space from the end to the beginning.



reply via email to

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