aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Rudalics2019-03-05 10:46:19 +0100
committerMartin Rudalics2019-03-05 10:46:19 +0100
commita552cc21dc324b1be71c181684b0ab2e6cf0a60f (patch)
tree64ba993180246d1837d5a1ef3c30c1c8ed749ac2 /doc
parenteb8dbafff11fded9c96294a0680455bcde70882c (diff)
downloademacs-a552cc21dc324b1be71c181684b0ab2e6cf0a60f.tar.gz
emacs-a552cc21dc324b1be71c181684b0ab2e6cf0a60f.zip
Fix handling of minibuffer-only child frames (Bug#33498)
* doc/lispref/frames.texi (Buffer Parameters): Describe how to make a minibuffer-only child frame. (Child Frames): Describe how minbuffer child frames are deleted. * src/frame.c (delete_frame): Handle deletion of minibuffer child frames (Bug#33498). In the course, fix reassigning of 'default-minibuffer-frame' with minibuffer-only frames. * lisp/frame.el (frame-notice-user-settings): Handle creation of initial minibuffer-only child frame. (make-frame): Handle creation of frame with a minibuffer-only child frame.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/frames.texi20
1 files changed, 17 insertions, 3 deletions
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 820006a5675..9b3e02f4de0 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1884,6 +1884,12 @@ minibuffer window to @code{t} and vice-versa, or from @code{t} to
1884@code{nil}. If the parameter specifies a minibuffer window already, 1884@code{nil}. If the parameter specifies a minibuffer window already,
1885setting it to @code{nil} has no effect. 1885setting it to @code{nil} has no effect.
1886 1886
1887The special value @code{child-frame} means to make a minibuffer-only
1888child frame (@pxref{Child Frames}) whose parent becomes the frame
1889created. As if specified as @code{nil}, Emacs will set this parameter
1890to the minibuffer window of the child frame but will not select the
1891child frame after its creation.
1892
1887@vindex buffer-predicate@r{, a frame parameter} 1893@vindex buffer-predicate@r{, a frame parameter}
1888@item buffer-predicate 1894@item buffer-predicate
1889The buffer-predicate function for this frame. The function 1895The buffer-predicate function for this frame. The function
@@ -3214,9 +3220,17 @@ top-level frame which also always appears on top of its parent
3214window---the desktop's root window. When a parent frame is iconified or 3220window---the desktop's root window. When a parent frame is iconified or
3215made invisible (@pxref{Visibility of Frames}), its child frames are made 3221made invisible (@pxref{Visibility of Frames}), its child frames are made
3216invisible. When a parent frame is deiconified or made visible, its 3222invisible. When a parent frame is deiconified or made visible, its
3217child frames are made visible. When a parent frame is about to be 3223child frames are made visible.
3218deleted (@pxref{Deleting Frames}), its child frames are recursively 3224
3219deleted before it. 3225 When a parent frame is about to be deleted (@pxref{Deleting
3226Frames}), its child frames are recursively deleted before it. There
3227is one exception to this rule: When the child frame serves as a
3228surrogate minibuffer frame (@pxref{Minibuffers and Frames}) for
3229another frame, it is retained until the parent frame has been deleted.
3230If, at this time, no remaining frame uses the child frame as its
3231minibuffer frame, Emacs will try to delete the child frame too. If
3232that deletion fails for whatever reason, the child frame is made a
3233top-level frame.
3220 3234
3221 Whether a child frame can have a menu or tool bar is window-system or 3235 Whether a child frame can have a menu or tool bar is window-system or
3222window manager dependent. Most window-systems explicitly disallow menus 3236window manager dependent. Most window-systems explicitly disallow menus