Subject: 24.3.50; `make-frame' broken for `fullscreen' parameter on MS Windows

From: "Drew Adams" <[email-masked]>
Date: Tue, 12 Mar 2013 15:21:31 -0700

emacs -Q
 
In *scratch*, type this:
 
(defun foo ()
  (interactive)
  (select-frame (make-frame '((minibuffer . t)
                              (fullscreen . maximized)))))
  
(frame-parameters)
 
Evaluate the `foo' definition, then M-x foo.
 
A new frame is created with the same content (good).
However:
 
1. There is no minibuffer shown.
2. The frame is not maximized.
 
Nevertheless, go to eob (put point after `(frame-parameters)'), and
enter this (there will be no echo, so type carefully):
 
M-x pp-eval-last-sexp RET
 
You will see the frame parameters for the created frame.  Among them you
will see this parameter entry, which is correct (though the frame is NOT
maximized): (fullscreen . maximized).
 
And you will see this entry (or similar):
(minibuffer . #<window 03B1A3F8 on  *Minibuf-0*>)

That is not correct wrt the arg to `make-frame'.  And note that there is still
no minibuffer visible in this frame.  So if, e.g., you try to use Isearch, you
will not see the minibuffer (but Isearch will work OK).
 
Nor is the minibuffer window for the new frame on some other frame (which would
be wrong too).
 
It seems that multiple things are broken, here.  And the same thing
holds if you specify `fullboth' instead of `maximized'.
 
Note, however, that this works fine:
 
M-: (set-frame-parameter nil 'fullscreen 'maximized) ; or fullboth
 
As does this:
 
(modify-frame-parameters nil '((fullscreen . maximized)))
 
And this command too works fine (same as `foo', except for parameter
`fullscreen'):
 
(defun bar ()
  (interactive)
  (select-frame (make-frame '((minibuffer . t)))))
 
But `make-frame' seems quite broken.
 
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2013-03-04 on ODIEONE
Bzr revision: 111935 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/Devel/emacs/build/include --ldflags -LC:/Devel/emacs/build/lib'