Fix semantics of 'minibuffer' frame parameter
commit1a1062d6e16f97effa7030cc5f297c9c57b232ad
authorMartin Rudalics <rudalics@gmx.at>
Sun, 21 Aug 2016 09:36:11 +0000 (21 11:36 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Sun, 21 Aug 2016 09:36:11 +0000 (21 11:36 +0200)
treeaec1647cdd2b5f098f49baba5836af8ccff3c89e
parentf0ee3ca5a92d5503268da7f9e0d71a1a58893c8a
Fix semantics of 'minibuffer' frame parameter

The 'minibuffer' frame parameter is now t for a normal frame
(a frame with a root window plus a minibuffer window) and the
frame's minibuffer window for a minibuffer-less frame (a frame
whose minibuffer window is on another frame).  See also:
https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01259.html

* src/frame.c (make_frame, make_frame_without_minibuffer)
(make_minibuffer_frame): When assigning the frame's minibuffer
window also store corresponding 'minibuffer' frame parameter.
(store_frame_param): Move the 'minibuffer' parameter checks to
the beginning so we can silently override the value before it
gets stored in the parameter alist.  Fix error handling.
(Fframe_parameters): Return value of 'minibuffer' parameter
unmodified.

* lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
the parameter is a minibuffer window, save (minibuffer . nil)
instead of (minibuffer . t).
(frameset--reuse-frame): To find a non-minibuffer-only frame
look out for a frame whose 'minibuffer' parameter is t instead
of that frame's minibuffer window.
(frameset-minibufferless-first-p): To find a minibuffer-less
frame look out for a frame whose 'minibuffer' parameter is a
window instead of nil.
lisp/frameset.el
src/frame.c