]> git.eshelyaron.com Git - emacs.git/commitdiff
(tmm-menubar): Select the right menu item with the mouse.
authorNick Roberts <nickrob@snap.net.nz>
Fri, 30 Mar 2007 06:11:38 +0000 (06:11 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Fri, 30 Mar 2007 06:11:38 +0000 (06:11 +0000)
(tmm-prompt): Don't make the mouse user select the first menu item
twice.

lisp/tmm.el

index 1347ed8144464b318aca3f7025f262febf65be40..c2ffd5e62bfafe000b32bbf18cdce8fd67c55ab2 100644 (file)
@@ -74,13 +74,13 @@ we make that menu bar item (the one at that position) the default choice."
        (let ((tail menu-bar)
              this-one
              (column 0))
-         (while (and tail (< column x-position))
+         (while (and tail (<= column x-position))
            (setq this-one (car tail))
-           (if (and (consp (car tail))
-                    (consp (cdr (car tail)))
-                    (stringp (nth 1 (car tail))))
+           (if (and (consp this-one)
+                    (consp (cdr this-one))
+                    (stringp (nth 1  this-one)))
                (setq column (+ column
-                               (length (nth 1 (car tail)))
+                               (length (nth 1 this-one))
                                1)))
            (setq tail (cdr tail)))
          (setq menu-bar-item (car this-one))))
@@ -210,21 +210,24 @@ Its value should be an event that has a binding in MENU."
             (setq history (append history history history history))
             (setq tmm-c-prompt (nth (- history-len 1 index-of-default) history))
             (add-hook 'minibuffer-setup-hook 'tmm-add-prompt)
-            (save-excursion
-              (unwind-protect
-                  (setq out
-                        (completing-read
-                         (concat gl-str " (up/down to change, PgUp to menu): ")
-                         tmm-km-list nil t nil
-                         (cons 'history (- (* 2 history-len) index-of-default))))
-                (save-excursion
-                  (remove-hook 'minibuffer-setup-hook 'tmm-add-prompt)
-                  (if (get-buffer "*Completions*")
-                      (progn
-                        (set-buffer "*Completions*")
-                        (use-local-map tmm-old-comp-map)
-                        (bury-buffer (current-buffer)))))
-                ))))
+            (if default-item
+                (setq out (car (nth index-of-default tmm-km-list)))
+              (save-excursion
+                (unwind-protect
+                    (setq out
+                          (completing-read
+                           (concat gl-str
+                                   " (up/down to change, PgUp to menu): ")
+                           tmm-km-list nil t nil
+                           (cons 'history
+                                 (- (* 2 history-len) index-of-default))))
+                  (save-excursion
+                    (remove-hook 'minibuffer-setup-hook 'tmm-add-prompt)
+                    (if (get-buffer "*Completions*")
+                        (progn
+                          (set-buffer "*Completions*")
+                          (use-local-map tmm-old-comp-map)
+                          (bury-buffer (current-buffer))))))))))
       (setq choice (cdr (assoc out tmm-km-list)))
       (and (null choice)
           (> (length out) (length tmm-c-prompt))