Subject: bug#22404: 25.1.50; Forcing `window-scroll-functions` to run.

From: Keith David Bershatsky <[email-masked]>
Date: Mon, 01 Feb 2016 21:58:43 -0800

I completely understand and respect your decision to go in a different direction than my draft implementation of this new feature, but I thought it might be helpful for you to compare my ideas to your own proposed implementation as you go forward.  Because my proposed implementation mirrors the current implementation of the `window-scroll-functions` hook, `xdisp.c` performs all of the necessary checking to see whether the user's function attached to the `window-start-end-hook` changes the buffer in such a way that requires further work on the part of redisplay.  Attached is the revised edition of my new animal, whose proposed buffer-local usage is as follows:

(setq scroll-conservatively 101)

(setq window-start-end-var t)

(defun window-start-end-fn (win start end pbol-start peol-end)
 (message "win: %s | start: %s | end: %s | peol-start: %s | peol-end: %s"
   win start end pbol-start peol-end))

(add-hook 'window-start-end-hook 'window-start-end-fn nil t)