diff options
| author | Martin Rudalics | 2019-03-05 10:46:19 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2019-03-05 10:46:19 +0100 |
| commit | a552cc21dc324b1be71c181684b0ab2e6cf0a60f (patch) | |
| tree | 64ba993180246d1837d5a1ef3c30c1c8ed749ac2 /doc | |
| parent | eb8dbafff11fded9c96294a0680455bcde70882c (diff) | |
| download | emacs-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.texi | 20 |
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, |
| 1885 | setting it to @code{nil} has no effect. | 1885 | setting it to @code{nil} has no effect. |
| 1886 | 1886 | ||
| 1887 | The special value @code{child-frame} means to make a minibuffer-only | ||
| 1888 | child frame (@pxref{Child Frames}) whose parent becomes the frame | ||
| 1889 | created. As if specified as @code{nil}, Emacs will set this parameter | ||
| 1890 | to the minibuffer window of the child frame but will not select the | ||
| 1891 | child 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 |
| 1889 | The buffer-predicate function for this frame. The function | 1895 | The buffer-predicate function for this frame. The function |
| @@ -3214,9 +3220,17 @@ top-level frame which also always appears on top of its parent | |||
| 3214 | window---the desktop's root window. When a parent frame is iconified or | 3220 | window---the desktop's root window. When a parent frame is iconified or |
| 3215 | made invisible (@pxref{Visibility of Frames}), its child frames are made | 3221 | made invisible (@pxref{Visibility of Frames}), its child frames are made |
| 3216 | invisible. When a parent frame is deiconified or made visible, its | 3222 | invisible. When a parent frame is deiconified or made visible, its |
| 3217 | child frames are made visible. When a parent frame is about to be | 3223 | child frames are made visible. |
| 3218 | deleted (@pxref{Deleting Frames}), its child frames are recursively | 3224 | |
| 3219 | deleted before it. | 3225 | When a parent frame is about to be deleted (@pxref{Deleting |
| 3226 | Frames}), its child frames are recursively deleted before it. There | ||
| 3227 | is one exception to this rule: When the child frame serves as a | ||
| 3228 | surrogate minibuffer frame (@pxref{Minibuffers and Frames}) for | ||
| 3229 | another frame, it is retained until the parent frame has been deleted. | ||
| 3230 | If, at this time, no remaining frame uses the child frame as its | ||
| 3231 | minibuffer frame, Emacs will try to delete the child frame too. If | ||
| 3232 | that deletion fails for whatever reason, the child frame is made a | ||
| 3233 | top-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 |
| 3222 | window manager dependent. Most window-systems explicitly disallow menus | 3236 | window manager dependent. Most window-systems explicitly disallow menus |