diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-01-05 14:40:53 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-01-05 14:40:53 +0000 |
commit | 660c1febae14ef93ae9274e24b9d9328a4ee75cf (patch) | |
tree | 570a655685357f34774835b3b7e8625eeddbe918 | |
parent | 0e6ba2b458bb4aa699032a4510803834b2668853 (diff) | |
download | emacs-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.el | 13 |
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 |