From: Juri Linkov Date: Wed, 13 Oct 2021 19:17:27 +0000 (+0300) Subject: * lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse events X-Git-Tag: emacs-28.0.90~299 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ed53b022db7df2d027a82af6897ea8ac977664b;p=emacs.git * lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse events (bug#51173) --- diff --git a/lisp/help.el b/lisp/help.el index eaca33795ae..7e2e492a368 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))))