GNU bug report logs - #18357
24.3.93; Calendar not fully displayed

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Fri, 29 Aug 2014 18:25:02 UTC

Severity: minor

Found in version 24.3.93

Done: Stephen Berman <stephen.berman <at> gmx.net>

Bug is archived. No further changes may be made.

Full log


Message #61 received at 18357 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 18357 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#18357: 24.3.93; Calendar not fully displayed
Date: Sun, 31 Aug 2014 13:28:57 +0200
> If I follow you (but I'm not sure I do), I think you are mistaken here:
> when I step through the code, fit-window-to-buffer is called (in
> calendar-generate-window, as noted above) with *Calendar* buffer window
> already being the selected window.  In any case, the estimate for the
> mode line height should be the same in my case as in yours, see below.

It seems you're right.  If, with my recipe, I set a breakpoint at line
9880 in xdisp.c

    y = y + WINDOW_MODE_LINE_HEIGHT (w);

then, for some reason I can't explain, the value of w->mode_line_height
is already set to a non-negative value although from my reading of the
code this should happen only if line 1428 of xdisp.c (in pos_visible_p)
was executed before, a thing which doesn't happen here.  I must admit
that I don't understand the window mode line height caching mechanism.

> In my recipe, both active and inactive mode lines have the same height:
> face mode-line-inactive inherits the overline attribute from face
> mode-line.
>
> One interesting observation (which I do not understand), is that when I
> execute the recipe and step through calendar-generate-window with
> Edebug, after the call to fit-window-to-buffer, the height of the
> Calendar window is 9, and the Calendar is fully displayed.  But when I
> execute the recipe alone, the height is 8 and the display is partial.

Probably edebug has the same effect as the `sit-for' in my scenario.  It
redisplays the window and the new mode line height is used when fitting
the window.  In any case the `sit-for' in my scenario makes sure that
w->mode_line_height is 20 at the breakpoint mentioned above as opposed
to 16 without the `sit-for'.

martin




This bug report was last modified 10 years and 352 days ago.

Previous Next


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