Subject: Re: bug#22298: 25.1.50; Enabling tool-bar-mode caused frame size setting failure

From: CHENG Gao <[email-masked]>
Date: Mon, 11 Jan 2016 19:08:20 +0800

*On Sun, 10 Jan 2016 21:58:10 +0100
* Also sprach Anders Lindgren <[email-masked]>:

> Hi Cheng!
>
> Ah, it was the information that the expressions should be placed in the
> init file that I was missing.
>
> I can confirm that I can reproduce the problem using the following recipe.
>
> Place the following lines in a file, say bug22298.el:
>
>     (when window-system
>       (set-frame-size (selected-frame) 155 38 nil)
>       (tool-bar-mode 1))
>
>     emacs -Q -l bug22298.el
>
> Here, Emacs use its standard frame size whereas it should use the newly
> specified size (155x38).
>
>     -- Anders Lindgren

Thank you Anders.

I played a while and tweaked some settings to do more tests, and found
out that though tool-bar-mode can trigger this bug, the culprit seems
not to be tool-bar-mode.

Before set-frame-size setting, I have:
,----
| (setq frame-resize-pixelwise t)
`----

With this setting, tool-bar-mode can not show after set-frame-size. If I
comment it out, location of tool-bar-mode setting does not matter.

Even I comment out frame-resize-pixelwise setting, if I use
,----
|  (set-frame-size (selected-frame) 155 38 t)
`----
that's to use pixelwise setting, same problem as before.

So it's all about pixelwise setting. I can't decide it's a bug or a
(mis)feature.  I'll try to dig a little in C source code
(set-frame-size), but my knowledge of C is very limited.