Fix "C-h k" when clicking on another frame

* lisp/help.el (help--analyze-key): Don't barf if the key sequence
includes a switch-frame event.  (Bug#59785)
This commit is contained in:
Eli Zaretskii 2022-12-03 21:43:36 +02:00
parent f6e2f30f39
commit afa4fcb95b
2 changed files with 5 additions and 3 deletions

View file

@ -861,11 +861,13 @@ in the selected window."
(mouse-msg (if (or (memq 'click modifiers) (memq 'down modifiers)
(memq 'drag modifiers))
" at that spot" ""))
(click-pos (event-end event))
;; Use `posn-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, don't use `posn-set-point'.
(defn (if buffer
;; When no mouse was involved, or the event doesn't provide a
;; valid position, don't use `posn-set-point'.
(defn (if (or buffer (not (consp click-pos)))
(key-binding key t)
(save-excursion (posn-set-point (event-end event))
(key-binding key t)))))

View file

@ -1729,7 +1729,7 @@ and `event-end' functions."
((eq area 'horizontal-scroll-bar)
(cons (scroll-bar-scale pair (window-width window)) 0))
(t
(if use-window
(if (and (windowp frame-or-window) use-window)
(cons (/ (car pair) (window-font-width window))
(/ (cdr pair) (window-font-height window)))
;; FIXME: This should take line-spacing properties on