emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-28 9ed53b0: * lisp/help.el (help--analyze-key): Avoid mouse-set-po


From: Juri Linkov
Subject: emacs-28 9ed53b0: * lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse events
Date: Wed, 13 Oct 2021 15:17:55 -0400 (EDT)

branch: emacs-28
commit 9ed53b022db7df2d027a82af6897ea8ac977664b
Author: Juri Linkov <juri@linkov.net>
Commit: Juri Linkov <juri@linkov.net>

    * lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse 
events
    
    (bug#51173)
---
 lisp/help.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/help.el b/lisp/help.el
index eaca337..7e2e492 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -695,11 +695,13 @@ 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" ""))
-         ;; Use mouse-set-point to handle the case when a menu item
+         ;; Use `mouse-set-point' to handle the case when a menu item
          ;; 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, it defaults to window-point.
-        (defn (save-excursion (mouse-set-point event) (key-binding key t))))
+         ;; When no mouse was involved, don't use `mouse-set-point'.
+         (defn (if (consp event)
+                   (save-excursion (mouse-set-point event) (key-binding key t))
+                 (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))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]