* tmm.el (tmm-get-keymap): Skip bindings without labels.

(tmm-prompt): Simplify.
(tmm-add-prompt): Remove unused var `win'.

Fixes: debbugs:7721
This commit is contained in:
Stefan Monnier 2011-01-10 21:28:48 -05:00
parent cfab9f9bd7
commit 9ca3fe48ff
2 changed files with 36 additions and 34 deletions

View file

@ -1,5 +1,9 @@
2011-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
* 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".

View file

@ -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))