From: Richard M. Stallman Date: Thu, 10 Aug 1995 23:19:22 +0000 (+0000) Subject: (isearch-other-meta-char): Avoid bug checking whether X-Git-Tag: emacs-19.34~3036 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d94eb6ebc8fa99288a2e19c6e57909a8bfc8cdbf;p=emacs.git (isearch-other-meta-char): Avoid bug checking whether a key is defined in the function key map. Call cancel-kbd-macro-events. --- 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).