From 9ca3fe48ff046163b11b98f95c4459bae351cf66 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 10 Jan 2011 21:28:48 -0500 Subject: * tmm.el (tmm-get-keymap): Skip bindings without labels. (tmm-prompt): Simplify. (tmm-add-prompt): Remove unused var `win'. Fixes: debbugs:7721 --- lisp/ChangeLog | 4 ++++ lisp/tmm.el | 66 ++++++++++++++++++++++++++++------------------------------ 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4553b6ed28..22c92d3691 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2011-01-11 Stefan Monnier + * tmm.el (tmm-get-keymap): Skip bindings without labels (bug#7721). + (tmm-prompt): Simplify. + (tmm-add-prompt): Remove unused var `win'. + * whitespace.el (global-whitespace-newline-mode): Fix call (bug#7810) to minor mode which used nil accidentally to mean "turn off". diff --git a/lisp/tmm.el b/lisp/tmm.el index 3d8433e281..0341b5384f 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -168,14 +168,13 @@ Its value should be an event that has a binding in MENU." ;; It has no other elements. ;; The order of elements in tmm-km-list is the order of the menu bar. (mapc (lambda (elt) - (if (stringp elt) - (setq gl-str elt) - (cond - ((listp elt) (tmm-get-keymap elt not-menu)) - ((vectorp elt) - (dotimes (i (length elt)) - (tmm-get-keymap (cons i (aref elt i)) not-menu)))))) - menu) + (cond + ((stringp elt) (setq gl-str elt)) + ((listp elt) (tmm-get-keymap elt not-menu)) + ((vectorp elt) + (dotimes (i (length elt)) + (tmm-get-keymap (cons i (aref elt i)) not-menu))))) + menu) ;; Choose an element of tmm-km-list; put it in choice. (if (and not-menu (= 1 (length tmm-km-list))) ;; If this is the top-level of an x-popup-menu menu, @@ -368,32 +367,31 @@ Stores a list of all the shortcuts in the free variable `tmm-short-cuts'." (add-hook 'minibuffer-exit-hook 'tmm-delete-map nil t) (unless tmm-c-prompt (error "No active menu entries")) - (let ((win (selected-window))) - (setq tmm-old-mb-map (tmm-define-keys t)) - ;; Get window and hide it for electric mode to get correct size - (save-window-excursion - (let ((completions - (mapcar 'car minibuffer-completion-table))) - (or tmm-completion-prompt - (add-hook 'completion-setup-hook - 'tmm-completion-delete-prompt 'append)) - (unwind-protect - (with-output-to-temp-buffer "*Completions*" - (display-completion-list completions)) - (remove-hook 'completion-setup-hook 'tmm-completion-delete-prompt))) - (set-buffer "*Completions*") - (tmm-remove-inactive-mouse-face) - (when tmm-completion-prompt - (let ((buffer-read-only nil)) - (goto-char (point-min)) - (insert tmm-completion-prompt)))) - (save-selected-window - (other-window 1) ; Electric-pop-up-window does + (setq tmm-old-mb-map (tmm-define-keys t)) + ;; Get window and hide it for electric mode to get correct size + (save-window-excursion + (let ((completions + (mapcar 'car minibuffer-completion-table))) + (or tmm-completion-prompt + (add-hook 'completion-setup-hook + 'tmm-completion-delete-prompt 'append)) + (unwind-protect + (with-output-to-temp-buffer "*Completions*" + (display-completion-list completions)) + (remove-hook 'completion-setup-hook 'tmm-completion-delete-prompt))) + (set-buffer "*Completions*") + (tmm-remove-inactive-mouse-face) + (when tmm-completion-prompt + (let ((buffer-read-only nil)) + (goto-char (point-min)) + (insert tmm-completion-prompt)))) + (save-selected-window + (other-window 1) ; Electric-pop-up-window does ; not work in minibuffer - (Electric-pop-up-window "*Completions*") - (with-current-buffer "*Completions*" - (setq tmm-old-comp-map (tmm-define-keys nil)))) - (insert tmm-c-prompt))) + (Electric-pop-up-window "*Completions*") + (with-current-buffer "*Completions*" + (setq tmm-old-comp-map (tmm-define-keys nil)))) + (insert tmm-c-prompt)) (defun tmm-delete-map () (remove-hook 'minibuffer-exit-hook 'tmm-delete-map t) @@ -497,7 +495,7 @@ It uses the free variable `tmm-table-undef' to keep undefined keys." (if (or in-x-menu (stringp (car-safe elt))) (setq str event event nil km elt) (setq str event event nil km (cons 'keymap elt))))) - (unless (eq km 'ignore) + (unless (or (eq km 'ignore) (null str)) (let ((binding (where-is-internal km nil t))) (when binding (setq binding (key-description binding)) -- cgit v1.2.3