summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-01-05 14:40:53 +0000
committerGerd Moellmann <gerd@gnu.org>2001-01-05 14:40:53 +0000
commit660c1febae14ef93ae9274e24b9d9328a4ee75cf (patch)
tree570a655685357f34774835b3b7e8625eeddbe918
parent0e6ba2b458bb4aa699032a4510803834b2668853 (diff)
downloademacs-660c1febae14ef93ae9274e24b9d9328a4ee75cf.tar.gz
(isearch-old-signal-hook): New variable.
(isearch-mode): Set signal-hook-function to isearch-done. (isearch-done): Restore old signal-hook-function. ----------------------------
-rw-r--r--lisp/isearch.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/lisp/isearch.el b/lisp/isearch.el
index a394c47259f..6191c4912f5 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1,6 +1,6 @@
;;; isearch.el --- incremental search minor mode.
-;; Copyright (C) 1992, 93, 94, 95, 96, 97, 1999, 2000
+;; Copyright (C) 1992, 93, 94, 95, 96, 97, 1999, 2000, 2001
;; Free Software Foundation, Inc.
;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
@@ -271,6 +271,7 @@ Default value, nil, means edit the string instead."
(define-key map "\M-\C-r" 'isearch-repeat-backward)
(define-key map "\177" 'isearch-delete-char)
(define-key map "\C-g" 'isearch-abort)
+
;; This assumes \e is the meta-prefix-char.
(or (= ?\e meta-prefix-char)
(error "Inconsistency in isearch.el"))
@@ -403,6 +404,9 @@ Default value, nil, means edit the string instead."
;; isearch is invoked.
(defvar isearch-input-method-local-p nil)
+;; Value of `signal-hook-function' before setting our own.
+(defvar isearch-old-signal-hook nil)
+
;; Minor-mode-alist changes - kind of redundant with the
;; echo area, but if isearching in multiple windows, it can be useful.
@@ -575,6 +579,8 @@ is treated as a regexp. See \\[isearch-forward] for more info."
(run-hooks 'isearch-mode-hook)
(add-hook 'mouse-leave-buffer-hook 'isearch-done)
+ (setq isearch-old-signal-hook signal-hook-function
+ signal-hook-function 'isearch-done)
;; isearch-mode can be made modal (in the sense of not returning to
;; the calling function until searching is completed) by entering
@@ -635,6 +641,8 @@ is treated as a regexp. See \\[isearch-forward] for more info."
(setq command-history (cons command command-history))))
(remove-hook 'mouse-leave-buffer-hook 'isearch-done)
+ (setq signal-hook-function isearch-old-signal-hook)
+
;; Called by all commands that terminate isearch-mode.
;; If NOPUSH is non-nil, we don't push the string on the search ring.
(setq overriding-terminal-local-map nil)
@@ -1460,8 +1468,7 @@ If there is no completion possible, say so and continue searching."
(defun isearch-pop-state ()
(setq isearch-cmds (cdr isearch-cmds))
- (isearch-top-state)
- )
+ (isearch-top-state))
(defun isearch-push-state ()
(setq isearch-cmds