]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix help commands for menu-bar menus
authorEli Zaretskii <eliz@gnu.org>
Wed, 27 Oct 2021 13:09:47 +0000 (16:09 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 27 Oct 2021 13:09:47 +0000 (16:09 +0300)
* lisp/help.el (help--analyze-key): Fix "C-h c" and "C-h k" on
menu-bar menu items.  (Bug#51421)

lisp/help.el

index 92e22aecb5bf9d80c21fafc1f7abe0f9f8e09bf7..d22f50de8ab094b29c83d5565e985bee7ecbd6b8 100644 (file)
@@ -701,7 +701,13 @@ in the selected window."
          ;; is selected from the context menu that should describe KEY
          ;; at the position of mouse click that opened the context menu.
          ;; When no mouse was involved, don't use `mouse-set-point'.
-         (defn (if buffer (key-binding key t)
+         (defn (if (or buffer
+                       ;; Clicks on the menu bar produce "event" that
+                       ;; is just '(menu-bar)', for which
+                       ;; `mouse-set-point' is not useful.
+                       (and (not (windowp (posn-window (event-start event))))
+                            (not (framep (posn-window (event-start event))))))
+                   (key-binding key t)
                  (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)