Subject: Re: bug#14326: 24.3; Conflict of w32-send-sys-command and set-default-font

From: Eli Zaretskii <[email-masked]>
Date: Thu, 02 May 2013 22:38:43 +0300

> Date: Thu, 02 May 2013 21:08:09 +0200
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
>  > The code thus commented is ifdef'ed away...
> 
> That's what I'm wondering about.

You cannot just call change_frame_size on Windows anyway.  It doesn't
do what you'd expect.

>  > That's not the issue here.  The issue here is that, when
>  > w32-send-sys-command is used, Emacs doesn't have any way of knowing
>  > that this call is going to change the frame's size.  The argument to
>  > w32-send-sys-command is just some mumbo-jumbo as far as Emacs is
>  > concerned.  Only when the WM_SIZE message comes in as result of that,
>  > do we know that the frame size is about to change.
> 
> So w32-send-sys-command is handled differently from setting the
> fullscreen frame parameter to maximized?

Not really: the latter is implemented by calling the former (or
actually doing the same independently).

> Does this mean the OP could have used `set-frame-parameter' and it
> would have worked in his sense?

No, see above.

>  > By contrast, set-default-font works in the opposite direction: Emacs
>  > _does_ understand what that means, it does know how to load a font and
>  > get its metrics, and it does know how to resize the frame as result.
> 
> But when x_set_window_size tells Windows that it wants to resize the
> frame, it stumbles into some away-defined code.

Not sure what x_set_window_size has to do with all this.

>  > So even if the actual resize involves some messages that need to come
>  > to our window procedure, that doesn't matter, because we are already
>  > ready for the resize.  Not so when w32-send-sys-command is used.
>  >
>  > Or at least this is my understanding, admittedly very limited in this
>  > area.
>  >
>  > Btw, try "M-: (set-default-font "David-8") RET" in "emacs -Q", and you
>  > will see that the tool bar (not the menu bar) will wrap, but I see no
>  > adverse effects of that.  So I really don't see why we should be
>  > afraid of such wrapping.
> 
> We do our own toolbar wrapping.  But the menubar is wrapped by Windows.

And that is a problem because...?