Subject: Re: bug#9875: 24.0.90; Confusing description of the "window tree" in ELisp manual

From: Juri Linkov <[email-masked]>
Date: Fri, 28 Oct 2011 11:04:35 +0300

> It is unnatural to talk about "size" or "side" of a window that
> doesn't really exist on the screen!

FWIW, I have no problem imagining a window that doesn't really exist
on the screen.  I imagine it as an "abstract window" with invisible
outlines that group visible windows.  So I have no problem understanding
"internal windows" when reading the documentation.

It seems the source of your complaints is the duality of window
representation: data and view.  When manipulating the window tree
(e.g. when saving/restoring the window tree) it makes sense to think
in terms of data - window tree with nodes.  But when manipulating
windows of the screen (e.g. when splitting windows), it makes sense
to think in terms of visual representation where "internal windows"
are distinct objects (albeit invisible).

So thinking about "internal windows" requires imagination skills.
But diagrams in the Info manual help greatly.

The only problem with these diagrams is that ASCII art
doesn't distinguish between internal and live windows:

          ______________________________________
         | ______  ____________________________ |
         ||      || __________________________ ||
         ||      ||| ___________  ___________ |||
         ||      ||||           ||           ||||
         ||      ||||           ||           ||||
         ||      ||||_____W6____||_____W7____||||
         ||      |||____________W4____________|||
         ||      || __________________________ ||
         ||      |||                          |||
         ||      |||____________W5____________|||
         ||__W2__||_____________W3_____________ |
         |__________________W1__________________|

It would help to draw live and internal windows with different lines, e.g.

          ______________________________________
         |******** ____________________________ |
         |*      *| __________________________ ||
         |*      *||**************************|||
         |*      *||*           **           *|||
         |*      *||*           **           *|||
         |*      *||******W6***********W7*****|||
         |*      *||____________W4____________|||
         |*      *|****************************||
         |*      *|*                          *||
         |*      *|*************W5*************||
         |***W2***|_____________W3_____________ |
         |__________________W1__________________|

but this is ugly and I can't find a better way to draw them.