Subject: Re: bug#46827: Broken initial size of GTK3 frame

From: Eli Zaretskii <[email-masked]>
Date: Sun, 28 Feb 2021 20:09:16 +0200

> From: martin rudalics <[email-masked]>
> Date: Sun, 28 Feb 2021 10:31:30 +0100
> 
> With a GTK3 build I start Emacs with the following initial file
> contents:
> 
> (customize-set-variable
>   'default-frame-alist
>   '((cursor-color . "red3")
>     (width . 80)
>     (height . 32)))
> 
> Here this results in a frame that is 36 lines high, has a root window of
> 31 lines and a minibuffer window of 1 line.  The remaining four lines at
> the bottom of the frame are (more or less) empty.
> 
> I traced this behavior back to
> 
> Fix redisplay performance problems with some fonts
> * src/font.c (font_list_entities): Revert part of the changes
> introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
> zero_vector in the font-cache is an important indication that
> cannot be removed.  (Bug#21028)

This is very strange, that commit was not supposed to affect frame
dimensions.

Could you please step through the relevant frame-sizing code, and see
how that zero_vector entry in the font-cache causes this problem?