emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100371: * tmm.el (tmm-get-keymap)


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100371: * tmm.el (tmm-get-keymap): Skip bindings without labels.
Date: Mon, 10 Jan 2011 21:28:48 -0500
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100371
committer: Stefan Monnier <address@hidden>
branch nick: emacs-23
timestamp: Mon 2011-01-10 21:28:48 -0500
message:
  * tmm.el (tmm-get-keymap): Skip bindings without labels.
  (tmm-prompt): Simplify.
  (tmm-add-prompt): Remove unused var `win'.
modified:
  lisp/ChangeLog
  lisp/tmm.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-01-11 00:14:25 +0000
+++ b/lisp/ChangeLog    2011-01-11 02:28:48 +0000
@@ -1,5 +1,9 @@
 2011-01-11  Stefan Monnier  <address@hidden>
 
+       * 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".
 

=== modified file 'lisp/tmm.el'
--- a/lisp/tmm.el       2011-01-02 23:50:46 +0000
+++ b/lisp/tmm.el       2011-01-11 02:28:48 +0000
@@ -168,14 +168,13 @@
     ;; 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 @@
   (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 @@
               (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))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]