diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/help.el | 6 | ||||
-rw-r--r-- | lisp/subr.el | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lisp/help.el b/lisp/help.el index 8e1b325141e..b709062cb27 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -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))))) diff --git a/lisp/subr.el b/lisp/subr.el index 21f43092d42..dc219a49a74 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -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 |