diff lisp/help.el @ 73082:40a575bcdf72

* help.el (describe-key-briefly, describe-key): Don't expect an extra up event if a down-event is generated by a popup menu.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 23 Sep 2006 19:34:38 +0000
parents eacc6e3eac06
children 8a999db76eda
line wrap: on
line diff
--- a/lisp/help.el	Sat Sep 23 19:06:28 2006 +0000
+++ b/lisp/help.el	Sat Sep 23 19:34:38 2006 +0000
@@ -572,7 +572,12 @@
 	   ;; event then is in the second element of the vector.
 	   (and (vectorp key)
 		(or (and (eventp (aref key 0))
-			 (memq 'down (event-modifiers (aref key 0))))
+			 (memq 'down (event-modifiers (aref key 0)))
+			 ;; However, for the C-down-mouse-2 popup
+			 ;; menu, there is no subsequent up-event.  In
+			 ;; this case, the up-event is the next
+			 ;; element in the supplied vector.
+			 (= (length key) 1))
 		    (and (> (length key) 1)
 			 (eventp (aref key 1))
 			 (memq 'down (event-modifiers (aref key 1)))))
@@ -647,7 +652,12 @@
 	    ;; and use it as the third argument.
 	    (and (vectorp key)
 		 (or (and (eventp (aref key 0))
-			  (memq 'down (event-modifiers (aref key 0))))
+			  (memq 'down (event-modifiers (aref key 0)))
+			  ;; However, for the C-down-mouse-2 popup
+			  ;; menu, there is no subsequent up-event.  In
+			  ;; this case, the up-event is the next
+			  ;; element in the supplied vector.
+			  (= (length key) 1))
 		     (and (> (length key) 1)
 			  (eventp (aref key 1))
 			  (memq 'down (event-modifiers (aref key 1)))))