Subject: bug#25511: 26.0.50; modify-frame-parameters modifies undesignated parameter?

From: Katsumi Yamaoka <[email-masked]>
Date: Tue, 24 Jan 2017 09:45:37 +0900

On Tue, 24 Jan 2017 07:54:29 +0900, Katsumi Yamaoka wrote:
> On Mon, 23 Jan 2017 11:28:14 +0100, martin rudalics wrote:
>> Can you try this with a native Windows build and compare the behaviors?
> Ok, I'll try the binary distribution.

I tried emacs-25-20161227T071030Z-bin-i686-mingw32.7z in:
<https://sourceforge.net/p/emacs-bin/activity/?page=0&limit=100#58638d5fe88f3d01f432e025>

(make-frame '((left . 0) (top . 0)))
launches a new frame on the top-left corner of the *lower* screen,
the position and the size are:
((top . 0) (left . 0) (width . 80) (height . 36))
It varies to
((top + -1076) (left + -258) (width . 80) (height . 36))
after moving it to the top-left corner of the upper screen.
I feel it a very good behavior.

As for the eclipse of the bottom of an Emacs frame by the task-
bar, it doesn't happen by default.  However, it seems to be due
to the size of the default font.  The default font is somewhat
small to me, so I tried:

(add-to-list
 'default-frame-alist
 '(font
   . "-outline-Arial Unicode MS-normal-normal-normal-mono-16-*-*-*-p-*-iso8859-1"))

After that, a new frame got too tall, so I think I still need
a workaround like this:

(defadvice make-frame (after shrink-frame-height activate)
  "Shrink the height of a new frame."
  (sit-for 0)
  (if (> (frame-parameter ad-return-value 'height) 30)
      (modify-frame-parameters ad-return-value '((height . 30)))))

Regards,