GNU bug report logs - #12600
24.2.50; linum-mode: line numbers in fringe do not refresh when resizing frame

Previous Next

Package: emacs;

Reported by: Christoph Scholtes <cschol2112 <at> gmail.com>

Date: Sun, 7 Oct 2012 23:05:01 UTC

Severity: normal

Merged with 11496

Found in versions 24.1.50, 24.2.50

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 12600 <at> debbugs.gnu.org, cschol2112 <at> gmail.com
Subject: bug#12600: 24.2.50; linum-mode: line numbers in fringe do not refresh when resizing frame
Date: Thu, 11 Oct 2012 18:56:46 +0200
> Date: Thu, 11 Oct 2012 09:12:50 +0200
> From: martin rudalics <rudalics <at> gmx.at>
> CC: cschol2112 <at> gmail.com, 12600 <at> debbugs.gnu.org
> 
> I have no idea what these window structure members (window_end_valid,
> last_modified and last_overlay_modified) stand for in practice, who's
> supposed to set them, why and when.  At least setting window_end_valid
> to Qnil in window_resize_apply did not help.  But writing
> 
>    if (! NILP (update)
> /**       && ! (! NILP (w->window_end_valid) **/
> /** 	    && w->last_modified >= BUF_MODIFF (b) **/
> /** 	    && w->last_overlay_modified >= BUF_OVERLAY_MODIFF (b)) **/
>        && !noninteractive)
> 
> makes the problem disappear.
> 
> So apparently this can be fixed easily but as long as I don't understand
> that cryptic conjunct I won't do it.

That 'if' is just an optimization: it tries to avoid a (potentially
expensive) call to move_it_vertically.  It could be expensive with
large windows and/or very long lines, for example.

So if window-end is not supposed to be called in some inner loop, and
we don't mind getting slower on behalf of a package whose design is
known to be flawed anyway, we can disable the optimization.  Disabling
this optimization should never do any harm, AFAIU, except slow down
the function.




This bug report was last modified 12 years and 256 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.