Subject: Re: bug#67678: 30.0.50; Turning off menu-bar-mode after setting some default face attributes causes bad initial rendering

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 Dec 2023 12:06:27 +0200

> From: Mekeor Melire <[email-masked]>
> Date: Thu, 07 Dec 2023 07:35:36 +0000
> 
> When I run "emacs -Q -l the-following-snippet.el",
> 
> --8<---------------cut here---------------start------------->8---
> ;; this snippet does provoke the bug.
> (set-face-attribute 'default nil :weight 'medium)
> (menu-bar-mode 0)
> --8<---------------cut here---------------end--------------->8---
> 
> I find an Emacs frame with bad initial rendering: There is no text
> visible. See attached screenshot.

I cannot reproduce this here.

Does the font you use for the default face have the medium weight
variant?  What happens if you replace 'medium with 'bold in the
snippet above?

> When I resize the frame, the rendering is corrected, i.e. the text of
> the scratch buffer becomes visible.

Is the display also corrected if you invoke "M-x redraw-display"
instead of resizing the frame?

> Personally, I wonder if there is a mistake how menu-bar.el handles
> a customized default face. See:
> 
> https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/menu-bar.el?h=e4e1e268c8e9f7de6fe5d4b05beb595a1781c02c#n839

That's unlikely, since that code deals with saving the options changed
via menu-bar menus.  That is, that code is in a function invoked when
you click on the menu bar and select Options->Save Options.  It is not
supposed to be used when processing your snippet file.

Adding Po Lu, in case he has some ideas.