bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#38181: Actual height of mode-line not taken into account


From: martin rudalics
Subject: bug#38181: Actual height of mode-line not taken into account
Date: Mon, 4 May 2020 17:04:18 +0200

> I don't think I follow.  Are you saying that
> inhibit-free-realized-faces is non-nil when you run Lisp
> interactively,

Yes.

> or in general in a Lisp program that was not called,
> directly or indirectly, from redisplay_internal?  That should never
> happen, as the code arranges for inhibit-free-realized-faces to be
> reset to its original value when redisplay_internal returns.  If this
> doesn't work, then we have a serious bug on our hands, and should fix
> it ASAP.

The problem here seems that the original value is true.  So if I'm not
entirely misguided it must be somehow set by PRODUCE_GLYPHS outside of
redisplay_internal.

> This variable is supposed to be non-nil only when we are done
> preparing the desired matrices and are about to call update_frame,
> because that function cannot cope with faces referenced in the desired
> matrices that were meanwhile freed.  This could happen if some hook
> called from redisplay_internal manages to run code that decides to
> free the faces.
>
> But once update_frame is done, we don't need this variable set
> anymore, and it should revert to nil soon enough, because
> redisplay_internal returns soon after that.
>
> What am I missing?

Your explanation coincides with how I expected this variable to behave.
It does not coincide with the behavior I see.

Thanks, martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]