]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve documentation of the window tree
authorEli Zaretskii <eliz@gnu.org>
Mon, 19 Nov 2018 18:31:49 +0000 (20:31 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 19 Nov 2018 18:31:49 +0000 (20:31 +0200)
* doc/lispref/windows.texi (Windows and Frames): More accurate
wording regarding the relation of a mini-window to its frame's
window tree.

* src/window.h (struct window): Improve commentary to some
fields.

doc/lispref/windows.texi
src/window.h

index 46f106838a5cbb6fb3cf8655a4e9c2735d486c2f..04689f1c5e2343b7ff41fb6af041c961c11e1fec 100644 (file)
@@ -198,12 +198,13 @@ relationships between live windows.  The root node of a window tree is
 called the @dfn{root window}.  It can be either a live window (if the
 frame has just one window), or an internal window.
 
-  A minibuffer window (@pxref{Minibuffer Windows}) is not part of its
-frame's window tree unless the frame is a minibuffer-only frame.
-Nonetheless, most of the functions in this section accept the
-minibuffer window as an argument.  Also, the function
-@code{window-tree} described at the end of this section lists the
-minibuffer window alongside the actual window tree.
+  A minibuffer window (@pxref{Minibuffer Windows}) that is not alone
+on its frame does not have a parent window, so it strictly speaking is
+not part of its frame's window tree.  Nonetheless, it is a sibling
+window of the frame's root window, and thus can be reached via
+@code{window-next-sibling}.  Also, the function @code{window-tree}
+described at the end of this section lists the minibuffer window
+alongside the actual window tree.
 
 @defun frame-root-window &optional frame-or-window
 This function returns the root window for @var{frame-or-window}.  The
index 629283ac40cb18b9d560d9a1751c241c1a1a7cf9..c7f525e270470d1cc581a621bea938173222f4ba 100644 (file)
@@ -93,12 +93,14 @@ struct window
     /* The frame this window is on.  */
     Lisp_Object frame;
 
-    /* Following (to right or down) and preceding (to left or up) child
-       at same level of tree.  */
+    /* Following (to right or down) and preceding (to left or up)
+       child at same level of tree.  Whether this is left/right or
+       up/down is determined by the 'horizontal' flag, see below.
+       A minibuffer window has the frame's root window pointed by 'prev'.  */
     Lisp_Object next;
     Lisp_Object prev;
 
-    /* The window this one is a child of.  */
+    /* The window this one is a child of.  For a minibuffer window: nil.  */
     Lisp_Object parent;
 
     /* The normal size of the window.  These are fractions, but we do
@@ -113,7 +115,9 @@ struct window
     Lisp_Object new_normal;
     Lisp_Object new_pixel;
 
-    /* May be buffer, window, or nil.  */
+    /* For a leaf window: a buffer; for an internal window: a window;
+       for a pseudo-window (such as menu bar or tool bar): nil.  It is
+       a buffer for a minibuffer window as well.  */
     Lisp_Object contents;
 
     /* A marker pointing to where in the text to start displaying.