From 9ed53b022db7df2d027a82af6897ea8ac977664b Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 13 Oct 2021 22:17:27 +0300 Subject: [PATCH] * 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 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)))) -- 2.39.2