Subject: Re: bug#37609: Tool-bar-mode grows the frame's height

From: martin rudalics <[email-masked]>
Date: Tue, 4 May 2021 11:15:58 +0200

Revisiting after some recent changes:

 > emacs -Q -f tool-bar-mode
 >
 > that disables tool-bar-mode before it's displayed for the first time,
 > and evaluating
 >
 > (let ((initial (assq 'outer-size (frame-geometry))))
 >    (tool-bar-mode 1)
 >    (tool-bar-mode 0)
 >    (list (assq 'outer-size (frame-geometry)) initial))
 >
 > => ((outer-size 680 . 693) (outer-size 680 . 676))
 >
 > indicates growing of the frame's height.

Here I get with a current Lucid (I suppose you will encounter troubles
building with Motif these days) build

((outer-size 764 . 702) (outer-size 764 . 702))

whereas on Emacs 27 this was indeed

((outer-size 764 . 720) (outer-size 764 . 702))

Can you please check again?

 > OTOH, in a new session again with emacs -Q -f tool-bar-mode
 >
 > (progn
 >    (tool-bar-mode 1)
 >    (assq 'outer-size (frame-geometry)))
 >
 > => (outer-size 680 . 693)

This gets me

(outer-size 764 . 720)

but evaluating

(assq 'outer-size (frame-geometry))

once more (it takes time to relate such changes to `frame-geometry') now
gives

(outer-size 764 . 738)

which should yield the same value of (frame-height) as before (please
check).  On Emacs 27 this was botched because the outer size changed to

(outer-size 764 . 720)

only and the frame height dropped from 36 to 35 lines.

 > (progn
 >    (tool-bar-mode 0)
 >    (assq 'outer-size (frame-geometry)))
 >
 > => (outer-size 680 . 693)

This now gets me

(outer-size 764 . 702)

as expected.

 > It's strange that the results are the same because visually
 > the frame's height grows.

So please have one more look into this issue.

Thanks, martin