summaryrefslogtreecommitdiff
path: root/lisp/isearch.el
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-11-29 22:04:33 +0000
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-11-29 22:09:39 +0000
commitd976561ba29a0de87b692fb985aebe68f3645cdc (patch)
treed02bbeca0b5d398c84fa554e830dcf9ba5dcfe29 /lisp/isearch.el
parent0887bdf90bed0749813632cc67a5663fbed64371 (diff)
downloademacs-d976561ba29a0de87b692fb985aebe68f3645cdc.tar.gz
* lisp/isearch.el (isearch-search-fun-default): Nicer error
message when the search fails.
Diffstat (limited to 'lisp/isearch.el')
-rw-r--r--lisp/isearch.el27
1 files changed, 17 insertions, 10 deletions
diff --git a/lisp/isearch.el b/lisp/isearch.el
index eb5e5baf0b9..6cbe612d72e 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2643,16 +2643,23 @@ Can be changed via `isearch-search-fun-function' for special needs."
(isearch-regexp isearch-regexp-lax-whitespace)
(t isearch-lax-whitespace))
search-whitespace-regexp)))
- (funcall
- (if isearch-forward #'re-search-forward #'re-search-backward)
- (cond (isearch-regexp-function
- (let ((lax (isearch--lax-regexp-function-p)))
- (if (functionp isearch-regexp-function)
- (funcall isearch-regexp-function string lax)
- (word-search-regexp string lax))))
- (isearch-regexp string)
- (t (regexp-quote string)))
- bound noerror count))))
+ (condition-case er
+ (funcall
+ (if isearch-forward #'re-search-forward #'re-search-backward)
+ (cond (isearch-regexp-function
+ (let ((lax (isearch--lax-regexp-function-p)))
+ (if (functionp isearch-regexp-function)
+ (funcall isearch-regexp-function string lax)
+ (word-search-regexp string lax))))
+ (isearch-regexp string)
+ (t (regexp-quote string)))
+ bound noerror count)
+ (search-failed
+ (signal (car er)
+ (let ((prefix (get isearch-regexp-function 'isearch-message-prefix)))
+ (if (and isearch-regexp-function (stringp prefix))
+ (list (format "%s [using %ssearch]" string prefix))
+ (cdr er)))))))))
(defun isearch-search-string (string bound noerror)
"Search for the first occurrence of STRING or its translation.