• Martin Rudalics's avatar
    Fix semantics of 'minibuffer' frame parameter · 1a1062d6
    Martin Rudalics authored
    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.
    1a1062d6
frame.c 167 KB