Philipp Stephani schrieb am Mi., 14. Sep. 2016 um 18:54 Uhr: > Eli Zaretskii schrieb am Sa., 31. Okt. 2015 um 14:34 Uhr: > > > From: Michael Welsh Duggan > > Date: Sat, 31 Oct 2015 09:07:05 -0400 > > > > > I've changed the (bobp) to (= point 1). I'll run it for a couple of > > > weeks and report back. > > > > This change seems to have done the trick. I have not encountered the > > error in several days. > > Thanks for testing. I pushed the change, and I'm arking this bug as > done. > > > > This change was reverted in 76ef52267cf887e3e1aa6d25b3b16dd0601dd459. > It also doesn't seem correct. cursor-sensor--detect is only used in > pre-redisplay-functions, and the documentation of that variable says: > "Hook run just before redisplay. > It is called in each window that is to be redisplayed. It takes one > argument, > which is the window that will be redisplayed. When run, the > ‘current-buffer’ > is set to the buffer displayed in that window." > That means that (bobp) is correct and (= point 1) cannot give a different > result, unless narrowing is in effect (then only bobp is correct). > Given that replacing (bobp) with (= point 1) does solve this bug, the > documentation of pre-redisplay-functions must be incorrect, i.e. the > current buffer is not the buffer of the window passed as argument. I think > the only way how this can happen is that a previous entry in > pre-redisplay-functions has changed the current buffer. Probably the > implementation of redisplay--pre-redisplay-functions should be changed from > (with-current-buffer (window-buffer win) > (run-hook-with-args 'pre-redisplay-functions win)) > to > (run-hook-wrapped 'pre-redisplay-functions > (lambda (func) (with-current-buffer (window-buffer win) > (funcall func win) > nil)) > or so. > I've attached a patch for this.