diff options
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/subr.el | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6d3fcf971b1..baa8045ccc3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-04-27 Chong Yidong <cyd@gnu.org> + + * subr.el (read-key): Avoid running filter function when setting + up temporary tool bar entries (Bug#9922). + 2012-04-26 Andreas Schwab <schwab@linux-m68k.org> * vc/vc-git.el (vc-git-state): Fix regexp matching diff output. diff --git a/lisp/subr.el b/lisp/subr.el index 3b120e6ff6a..9b293bb21ac 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2019,7 +2019,10 @@ some sort of escape sequence, the ambiguity is resolved via `read-key-delay'." (let ((map (make-sparse-keymap))) ;; Don't hide the menu-bar and tool-bar entries. (define-key map [menu-bar] (lookup-key global-map [menu-bar])) - (define-key map [tool-bar] (lookup-key global-map [tool-bar])) + (define-key map [tool-bar] + ;; This hack avoids evaluating the :filter (Bug#9922). + (or (cdr (assq 'tool-bar global-map)) + (lookup-key global-map [tool-bar]))) map)) (aref (catch 'read-key (read-key-sequence-vector prompt nil t)) 0)) (cancel-timer timer) |