aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKaushal Modi2016-03-22 00:28:27 +0100
committerMichael Heerdegen2016-03-22 01:05:24 +0100
commit91e667692ba1362ca1334b8d58fd16c305ad5e2a (patch)
treebc51f2fd488e95829932bed60a25f686fe8386d7 /lisp
parent76ef52267cf887e3e1aa6d25b3b16dd0601dd459 (diff)
downloademacs-91e667692ba1362ca1334b8d58fd16c305ad5e2a.tar.gz
emacs-91e667692ba1362ca1334b8d58fd16c305ad5e2a.zip
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')
-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."
2585 (eq search-default-mode isearch-regexp))) "") 2585 (eq search-default-mode isearch-regexp))) "")
2586 ;; 2. Use the `isearch-message-prefix' set for 2586 ;; 2. Use the `isearch-message-prefix' set for
2587 ;; `regexp-function' if available. 2587 ;; `regexp-function' if available.
2588 (regexp-function 2588 (regexp-function
2589 (and (symbolp regexp-function) 2589 (and (symbolp regexp-function)
2590 (or (get regexp-function 'isearch-message-prefix) 2590 (or (get regexp-function 'isearch-message-prefix)
2591 ""))) 2591 "")))
2592 ;; 3. Else if `isearch-regexp' is non-nil, set description 2592 ;; 3. Else if `isearch-regexp' is non-nil, set description
2593 ;; to "regexp ". 2593 ;; to "regexp ".
2594 (isearch-regexp "regexp ") 2594 (isearch-regexp "regexp ")
2595 ;; 4. And finally, if we're in literal mode (and if the 2595 ;; 4. Else if we're in literal mode (and if the default
2596 ;; default mode is also not literal), describe it. 2596 ;; mode is also not literal), describe it.
2597 ((functionp search-default-mode) "literal ")))) 2597 ((functionp search-default-mode) "literal ")
2598 ;; 5. And finally, if none of the above is true, set the
2599 ;; description to an empty string.
2600 (t ""))))
2598 (if space-before 2601 (if space-before
2599 ;; Move space from the end to the beginning. 2602 ;; Move space from the end to the beginning.
2600 (replace-regexp-in-string "\\(.*\\) \\'" " \\1" description) 2603 (replace-regexp-in-string "\\(.*\\) \\'" " \\1" description)