]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/mouse.el (context-menu-map): Fix when menu is a command (bug#50851)
authorJuri Linkov <juri@linkov.net>
Tue, 28 Sep 2021 19:00:41 +0000 (22:00 +0300)
committerJuri Linkov <juri@linkov.net>
Tue, 28 Sep 2021 19:00:41 +0000 (22:00 +0300)
* lisp/help.el (help--analyze-key): Get information at the position
of mouse click such as 'C-h k' on a context menu item (bug#50067).

lisp/help.el
lisp/mouse.el

index 8f771670408ee963ad142469fa1eaaa964398c75..b794751ecab9cc518aa137850f5184bf63a37320 100644 (file)
@@ -695,7 +695,7 @@ Returns a list of the form (BRIEF-DESC DEFN EVENT MOUSE-MSG)."
         (mouse-msg (if (or (memq 'click modifiers) (memq 'down modifiers)
                            (memq 'drag modifiers))
                         " at that spot" ""))
-        (defn (key-binding key t)))
+        (defn (save-excursion (mouse-set-point event) (key-binding key t))))
     ;; Handle the case where we faked an entry in "Select and Paste" menu.
     (when (and (eq defn nil)
               (stringp (aref key (1- (length key))))
index d80b241af52ed55ef0332d4e84004864e2a2cb68..5d4e05fa25e328e2146f73de53e47db799bdddc6 100644 (file)
@@ -328,7 +328,7 @@ the function `context-menu-filter-function'."
 
     ;; Remove duplicate separators
     (let ((l menu))
-      (while l
+      (while (consp l)
         (when (and (equal (cdr-safe (car l)) menu-bar-separator)
                    (equal (cdr-safe (cadr l)) menu-bar-separator))
           (setcdr l (cddr l)))