summaryrefslogtreecommitdiff
path: root/lisp/isearch.el
diff options
context:
space:
mode:
authorKaushal Modi <kaushal.modi@gmail.com>2016-03-22 00:28:27 +0100
committerMichael Heerdegen <michael_heerdegen@web.de>2016-03-22 01:05:24 +0100
commit91e667692ba1362ca1334b8d58fd16c305ad5e2a (patch)
treebc51f2fd488e95829932bed60a25f686fe8386d7 /lisp/isearch.el
parent76ef52267cf887e3e1aa6d25b3b16dd0601dd459 (diff)
downloademacs-91e667692ba1362ca1334b8d58fd16c305ad5e2a.tar.gz
Fix an Isearch var to be a string (Bug#23038)
* isearch.el (isearch--describe-regexp-mode): The `description' var needs to always be a string. Add the missing default case for the cond form that ensures that. Before this bug fix, for the events when `regexp-function' and `search-default-mode' both were nil, `description' also stayed nil. So when `space-before' was non-nil, the "non-string" `description' (with a value of nil) got passed as an argument to `replace-regexp-in-string' (where a string was expected). That caused the error described in Bug#23038.
Diffstat (limited to 'lisp/isearch.el')
-rw-r--r--lisp/isearch.el19
1 files changed, 11 insertions, 8 deletions
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 988503eaa4f..48354d39d48 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2585,16 +2585,19 @@ the word mode."
(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)
- "")))
+ (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 ")
- ;; 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 "))))
+ (isearch-regexp "regexp ")
+ ;; 4. Else if we're in literal mode (and if the default
+ ;; mode is also not literal), describe it.
+ ((functionp search-default-mode) "literal ")
+ ;; 5. And finally, if none of the above is true, set the
+ ;; description to an empty string.
+ (t ""))))
(if space-before
;; Move space from the end to the beginning.
(replace-regexp-in-string "\\(.*\\) \\'" " \\1" description)