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

From: martin rudalics <[email-masked]>
Date: Thu, 02 May 2013 21:08:09 +0200

> The code thus commented is ifdef'ed away...

That's what I'm wondering about.

 > 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?  Does this mean the OP could
have used `set-frame-parameter' and it would have worked in his sense?

 > 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.

 > 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.

martin