aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/isearch.el
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2001-01-05 14:41:53 +0000
committerGerd Moellmann <[email protected]>2001-01-05 14:41:53 +0000
commit1f4139d5ae9f3c9273e3a2c7db251fb0fc8716af (patch)
treef6db8dfaa1a4ebe2a4487222611a4017174802d4 /lisp/isearch.el
parent82c5d67ae0f9091e1557878e20ab52f4996f67a3 (diff)
(isearch-old-signal-hook): New variable.
(isearch-mode): Set signal-hook-function to isearch-done. (isearch-done): Restore old signal-hook-function. ----------------------------
Diffstat (limited to 'lisp/isearch.el')
-rw-r--r--lisp/isearch.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/lisp/isearch.el b/lisp/isearch.el
index a394c47259..6191c4912f 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 <[email protected]>
@@ -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