emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 9a07af0: Clarify concept of "surrogate minibuffer f


From: Martin Rudalics
Subject: [Emacs-diffs] master 9a07af0: Clarify concept of "surrogate minibuffer frames" (Bug#20538)
Date: Tue, 19 May 2015 09:09:16 +0000

branch: master
commit 9a07af01d046d072520593a729ea18230761e205
Author: Martin Rudalics <address@hidden>
Commit: Martin Rudalics <address@hidden>

    Clarify concept of "surrogate minibuffer frames" (Bug#20538)
    
    * src/frame.c (Fdelete_frame): In doc-string mention that frame
    can't be deleted if it has a surrogate minibuffer.
    * doc/lispref/frames.texi (Minibuffers and Frames)
    (Deleting Frames): Explain "surrogate minibuffer frames".
---
 doc/lispref/frames.texi |   21 ++++++++++++++-------
 src/frame.c             |    7 ++++---
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index e19472e..c0d17f0 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1624,7 +1624,8 @@ tooltip, it first runs the hook 
@code{delete-frame-functions} (each
 function gets one argument, @var{frame}).  By default, @var{frame} is
 the selected frame.
 
-A frame cannot be deleted if its minibuffer is used by other frames.
+A frame cannot be deleted as long as its minibuffer serves as surrogate
+minibuffer for another frame (@pxref{Minibuffers and Frames}).
 Normally, you cannot delete a frame if all other frames are invisible,
 but if @var{force} is address@hidden, then you are allowed to do so.
 @end deffn
@@ -1700,12 +1701,18 @@ you can get it with @code{minibuffer-window} 
(@pxref{Definition of
 minibuffer-window}).
 
 @cindex frame without a minibuffer
-However, you can also create a frame with no minibuffer.  Such a frame
-must use the minibuffer window of some other frame.  When you create the
-frame, you can explicitly specify the minibuffer window to use (in some
-other frame).  If you don't, then the minibuffer is found in the frame
-which is the value of the variable @code{default-minibuffer-frame}.  Its
-value should be a frame that does have a minibuffer.
address@hidden surrogate minibuffer frame
+However, you can also create a frame without a minibuffer.  Such a frame
+must use the minibuffer window of some other frame.  That other frame
+will serve as @dfn{surrogate minibuffer frame} for this frame and cannot
+be deleted via @code{delete-frame} (@pxref{Deleting Frames}) as long as
+this frame is live.
+
+When you create the frame, you can explicitly specify the minibuffer
+window to use (in some other frame).  If you don't, then the minibuffer
+is found in the frame which is the value of the variable
address@hidden  Its value should be a frame that does
+have a minibuffer.
 
 If you use a minibuffer-only frame, you might want that frame to raise
 when you enter the minibuffer.  If so, set the variable
diff --git a/src/frame.c b/src/frame.c
index 2208655..edf6566 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1823,9 +1823,10 @@ DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 
2, "",
        doc: /* Delete FRAME, permanently eliminating it from use.
 FRAME defaults to the selected frame.
 
-A frame may not be deleted if its minibuffer is used by other frames.
-Normally, you may not delete a frame if all other frames are invisible,
-but if the second optional argument FORCE is non-nil, you may do so.
+A frame may not be deleted if its minibuffer serves as surrogate
+minibuffer for another frame.  Normally, you may not delete a frame if
+all other frames are invisible, but if the second optional argument
+FORCE is non-nil, you may do so.
 
 This function runs `delete-frame-functions' before actually
 deleting the frame, unless the frame is a tooltip.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]