GNU bug report logs -
#14170
24.3; linum won't create all overlays after a folding
Previous Next
Reported by: E Sabof <esabof <at> gmail.com>
Date: Tue, 9 Apr 2013 21:38:01 UTC
Severity: normal
Found in version 24.3
Done: Noam Postavsky <npostavs <at> users.sourceforge.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Thu, 11 Apr 2013 04:23:13 +0100
> From: E Sabof <esabof <at> gmail.com>
> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, rgm <at> gnu.org, 14170 <at> debbugs.gnu.org
> Here it is:
>
> (defun 14170-mini ()
> (interactive)
> (remove-overlays)
> (let* ((win-end-initial (window-end nil t))
> (test-ov (make-overlay (point) (+ (point) 1000))))
> (overlay-put test-ov 'display "...")
> (cl-assert (not (= win-end-initial (window-end nil t))))
> ))
>
> Will fail most of the time.
Thanks.
Actually, I had a hard time making it fail consistently (after I
overcame the initial failure due to cl-assert not being available in
"emacs -Q" ;-), until I found a simple way to make it 100% repeatable:
(defun 14170-mini ()
(interactive)
(remove-overlays)
(sit-for 0) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
(let* ((win-end-initial (window-end nil t))
(test-ov (make-overlay (point) (+ (point) 1000))))
(overlay-put test-ov 'display "...")
(cl-assert (not (= win-end-initial (window-end nil t))))
And that immediately led to the root cause: window-end was thinking
that the display is up to date, while it really wasn't.
Turns out this is a regression introduced in v24.1, while solving bug
#12600. I think I fixed this (trunk revision 112268) without
reintroducing that bug.
I don't know if this solves the original problem with linum, but if it
doesn't, that's a different problem.
Thanks.
P.S. Note that the above recipe still predictably fails at EOB, but
this is expected and correct.
This bug report was last modified 9 years and 62 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.