From d94eb6ebc8fa99288a2e19c6e57909a8bfc8cdbf Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 10 Aug 1995 23:19:22 +0000 Subject: [PATCH] (isearch-other-meta-char): Avoid bug checking whether a key is defined in the function key map. Call cancel-kbd-macro-events. --- lisp/isearch.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/isearch.el b/lisp/isearch.el index fca09b9decd..8a63446c5b7 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1007,12 +1007,14 @@ and the meta character is unread so that it applies to editing the string." (main-event (aref key 0)) (keylist (listify-key-sequence key))) (cond ((and (= (length key) 1) - (lookup-key function-key-map key)) + (let ((lookup (lookup-key function-key-map key))) + (not (or (null lookup) (integerp lookup))))) ;; Handle a function key that translates into something else. ;; If the key has a global definition too, ;; exit and unread the key itself, so its global definition runs. ;; Otherwise, unread the translation, ;; so that the translated key takes effect within isearch. + (cancel-kbd-macro-events) (if (lookup-key global-map key) (progn (isearch-done) @@ -1035,12 +1037,14 @@ and the meta character is unread so that it applies to editing the string." copy) nil))) (setcar keylist (- main-event (- ?\C-\S-a ?\C-a))) + (cancel-kbd-macro-events) (apply 'isearch-unread keylist)) ((eq search-exit-option 'edit) (apply 'isearch-unread keylist) (isearch-edit-string)) (search-exit-option (let (window) + (cancel-kbd-macro-events) (apply 'isearch-unread keylist) ;; Properly handle scroll-bar and mode-line clicks ;; for which a dummy prefix event was generated as (aref key 0). -- 2.39.2