Fix cursor-sensor--detect when current buf != selected window's buf

* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
trying to read text properties from position taken from another
buffer.  (Bug#38740)
This commit is contained in:
Federico Tedin 2020-02-17 21:58:43 +01:00 committed by Eli Zaretskii
parent 2e39fc83bb
commit d7c22338d2

View file

@ -146,9 +146,10 @@ By convention, this is a list of symbols where each symbol stands for the
;; It's often desirable to make the cursor-sensor-functions property
;; non-sticky on both ends, but that means get-pos-property might
;; never see it.
(new (or (get-char-property point 'cursor-sensor-functions)
(unless (<= (point-min) point)
(get-char-property (1- point) 'cursor-sensor-functions))))
(new (and (eq (current-buffer) (window-buffer))
(or (get-char-property point 'cursor-sensor-functions)
(unless (<= (point-min) point)
(get-char-property (1- point) 'cursor-sensor-functions)))))
(old (window-parameter window 'cursor-sensor--last-state))
(oldposmark (car old))
(oldpos (or (if oldposmark (marker-position oldposmark))