changeset 76802:293d8ec25f85

(tmm-menubar): Select the right menu item with the mouse. (tmm-prompt): Don't make the mouse user select the first menu item twice.
author Nick Roberts <nickrob@snap.net.nz>
date Fri, 30 Mar 2007 06:11:38 +0000
parents aac76e7c087c
children ee4ef15d1a2c
files lisp/tmm.el
diffstat 1 files changed, 23 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/tmm.el	Fri Mar 30 06:11:13 2007 +0000
+++ b/lisp/tmm.el	Fri Mar 30 06:11:38 2007 +0000
@@ -74,13 +74,13 @@
 	(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 @@
 	     (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))