branch: master commit b1b7d8955ed283604f89eb6bdc336a247604dea7 Author: Michael Heerdegen <michael_heerde...@web.de> Commit: Michael Heerdegen <michael_heerde...@web.de>
[on-screen] Fix error for a corner case Fix error when large parts of a buffer have been deleted, and bump version to 1.3.3. * packages/on-screen/on-screen.el (on-screen-after-scroll): Don't try to count lines relative to former window-start when that position is outside of current buffer bounds. --- packages/on-screen/on-screen.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/on-screen/on-screen.el b/packages/on-screen/on-screen.el index 954591a..58a80cc 100644 --- a/packages/on-screen/on-screen.el +++ b/packages/on-screen/on-screen.el @@ -7,7 +7,7 @@ ;; Created: 24 Jan 2013 ;; Keywords: convenience ;; URL: https://github.com/michael-heerdegen/on-screen.el -;; Version: 1.3.2 +;; Version: 1.3.3 ;; Package-Requires: ((cl-lib "0")) @@ -526,7 +526,9 @@ This should normally go to `window-scroll-functions'." ((timerp timer) (timer-set-time timer (timer-relative-time (current-time) on-screen-delay))) ((or (not area) - (= display-start s1))) + (= display-start s1) + ;; Deleting a large portion of the buffer caused window scroll + (not (<= (point-min) s1 (point-max))))) ((and (numberp on-screen-drawing-threshold) (< (abs (apply #'count-lines (sort (list display-start s1) #'<))) on-screen-drawing-threshold))) @@ -551,7 +553,7 @@ This should normally go to `window-scroll-functions'." ;;scrolling down near buffer end (setq s2 nil)) - (cond + (cond ((equal method '(shadow . nil)) (if (and s1 s2) (list (make-overlay s1 s2)) ())) ((eq (car method) 'shadow)