[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r117242: Avoid the type error on f10 when lookup-key
From: |
Sam Steingold |
Subject: |
[Emacs-diffs] trunk r117242: Avoid the type error on f10 when lookup-key returns an number. |
Date: |
Mon, 02 Jun 2014 19:02:33 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 117242
revision-id: address@hidden
parent: address@hidden
committer: Sam Steingold <address@hidden>
branch nick: trunk
timestamp: Mon 2014-06-02 15:02:31 -0400
message:
Avoid the type error on f10 when lookup-key returns an number.
* lisp/menu-bar.el (lookup-key-ignore-too-long): Extract from...
(popup-menu): ...here.
(menu-bar-open): Use it to avoid an error when `lookup-key'
returns a number.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/menu-bar.el menubar.el-20091113204419-o5vbwnq5f7feedwu-546
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2014-06-02 18:36:47 +0000
+++ b/lisp/ChangeLog 2014-06-02 19:02:31 +0000
@@ -1,3 +1,10 @@
+2014-06-02 Sam Steingold <address@hidden>
+
+ * menu-bar.el (lookup-key-ignore-too-long): Extract from...
+ (popup-menu): ...here.
+ (menu-bar-open): Use it to avoid an error when `lookup-key'
+ returns a number.
+
2014-06-02 Michael Albinus <address@hidden>
* net/tramp.el (tramp-call-process): Add traces.
=== modified file 'lisp/menu-bar.el'
--- a/lisp/menu-bar.el 2014-05-21 16:35:31 +0000
+++ b/lisp/menu-bar.el 2014-06-02 19:02:31 +0000
@@ -2140,6 +2140,13 @@
(declare-function x-menu-bar-open "term/x-win" (&optional frame))
(declare-function w32-menu-bar-open "term/w32-win" (&optional frame))
+(defun lookup-key-ignore-too-long (map key)
+ "Call `lookup-key' and convert numeric values to nil."
+ (let ((binding (lookup-key map key)))
+ (if (numberp binding) ; `too long'
+ nil
+ binding)))
+
(defun popup-menu (menu &optional position prefix from-menu-bar)
"Popup the given menu and call the selected option.
MENU can be a keymap, an easymenu-style menu or a list of keymaps as for
@@ -2192,11 +2199,9 @@
(let ((mouse-click (apply 'vector event))
binding)
(while (and map (null binding))
- (setq binding (lookup-key (car map) mouse-click))
- (if (numberp binding) ; `too long'
- (setq binding nil))
+ (setq binding (lookup-key-ignore-too-long (car map)
mouse-click))
(setq map (cdr map)))
- binding))
+ binding))
(t
;; We were given a single keymap.
(lookup-key map (apply 'vector event)))))
@@ -2270,8 +2275,10 @@
(let* ((x tty-menu--initial-menu-x)
(menu (menu-bar-menu-at-x-y x 0 frame)))
(popup-menu (or
- (lookup-key global-map (vector 'menu-bar menu))
- (lookup-key (current-local-map) (vector 'menu-bar menu))
+ (lookup-key-ignore-too-long
+ global-map (vector 'menu-bar menu))
+ (lookup-key-ignore-too-long
+ (current-local-map) (vector 'menu-bar menu))
(cdar (minor-mode-key-binding (vector 'menu-bar menu))))
(posn-at-x-y x 0 nil t) nil t)))
(t (with-selected-frame (or frame (selected-frame))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r117242: Avoid the type error on f10 when lookup-key returns an number.,
Sam Steingold <=