Don't assume window-point and point are the same

The function `cursor-sensor--detect' calls `bobp' to decide whether to
check properties at (1- (window-point)).  However, (window-point) may be
at beginning of buffer, even if (point) is not.  In this case an
`args-out-of-range' error will be signaled (Bug#25104).

* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
value of (window-point) against (point-min), rather than (bobp) to
decide if (1- (window-point)) is accessible.
This commit is contained in:
Noam Postavsky 2016-12-04 01:06:52 -05:00
parent a3487a8121
commit 35ce3fb141

View file

@ -114,7 +114,7 @@
;; 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 (bobp)
(unless (<= (point-min) point)
(get-char-property (1- point) 'cursor-sensor-functions))))
(old (window-parameter window 'cursor-sensor--last-state))
(oldposmark (car old))