GNU bug report logs -
#22991
25.0.92: C-u C-s does not display "Regexp I-search:" in the echo area
Previous Next
Reported by: Kaushal Modi <kaushal.modi <at> gmail.com>
Date: Fri, 11 Mar 2016 19:50:02 UTC
Severity: normal
Found in version 25.0.92
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On Fri, Mar 11, 2016 at 5:22 PM, Artur Malabarba <bruce.connor.am <at> gmail.com>
wrote:
> This last patch looks fine to me. 👍
>
Thanks.
Here's one more shot with fix for that bug that was already there that Eli
mentioned.
Now if the user has set search-default-mode to t and if they do C-s, the
description is still "" (not "regexp "). So the minibuffer would read
"I-search: ".
Below is the patch created using git format-patch with appropriate commit
log.
From df1a6e8e9d8227f5c137236a09fda9818c479d0c Mon Sep 17 00:00:00 2001
From: Kaushal Modi <kaushal.modi <at> gmail.com>
Date: Fri, 11 Mar 2016 17:34:50 -0500
Subject: [PATCH] Fix description for regexp searches (bug 22991)
* 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: ". 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.
---
lisp/isearch.el | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/lisp/isearch.el b/lisp/isearch.el
index b8ada2c..646a906 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2574,15 +2574,26 @@ isearch--describe-regexp-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.
--
2.6.0.rc0.24.gec371ff
--
Kaushal Modi
[Message part 2 (text/html, inline)]
This bug report was last modified 9 years and 70 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.