Subject: Re: bug#72986: Disabling menu-bar-mode changes size of new frames

From: martin rudalics <[email-masked]>
Date: Fri, 4 Oct 2024 19:21:25 +0200

>> ... and here we get the correct number of lines albeit with a surplus of
 >> 12 pixels.  How does that first frame without menu bar look to you?
 >>
 >
 > Looks correct. Unlike some previous situations, where there were oddities
 > (e.g. the frame was wider than the Emacs window, or the minibuf was cut off
 > at the bottom), the frame seems to fit the contents perfectly.

Somewhere these 12 pixels must show up.  What does

(window-pixel-height)

in the *scratch* window evaluate to?

 From my earlier

 > So far I failed to notice that first ConfigureNotify following the
 > MapNotify.  It comes with the expected values XS=1328x1260.  Where on
 > earth does it come from ...
 >
 > > xg_frame_resized, unchanged, PS=1328x1260, XS=1328x1260
 > > ConfigureNotify, PS=1328x1260, XS=1328x1258, DS=1328x1260
 >
 > ... and where does this with XS=1328x1258 come from?  On my system, I
 > get just one ConfigureNotify for each xg_frame_set_char_size.

I can only suspect that this comes from a request to move the frame that
doesn't show up in the history.  Now the only location where this might
happen is in xterm.c around like 29259 here:

	if (original_left != x || original_top != y)
	  XMoveWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
		       original_left, original_top);

Please put a breakpoint on that line and tell me whether it gets hit.
The probability is less than 1% but who knows ...

martin