(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))))