From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Subwindow terminology Date: Mon, 07 Nov 2011 11:17:01 +0100 Message-ID: <4EB7B01D.5070702@gmx.at> References: <87wrbfrxqz.fsf@gnu.org> <4EB51CCC.6040806@gmx.at> <87hb2iohql.fsf@uwakimon.sk.tsukuba.ac.jp> <4EB53A16.3030604@gmx.at> <4EB64A64.8080902@gmx.at> <878vntob44.fsf@uwakimon.sk.tsukuba.ac.jp> <4EB6689F.1000202@gmx.at> <8762iwoq27.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1320661041 15525 80.91.229.12 (7 Nov 2011 10:17:21 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 7 Nov 2011 10:17:21 +0000 (UTC) Cc: Dave Abrahams , emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 07 11:17:17 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RNMGS-0007Xh-Lg for ged-emacs-devel@m.gmane.org; Mon, 07 Nov 2011 11:17:16 +0100 Original-Received: from localhost ([::1]:59155 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNMGS-00059f-5u for ged-emacs-devel@m.gmane.org; Mon, 07 Nov 2011 05:17:16 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:51065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNMGM-00059a-NH for emacs-devel@gnu.org; Mon, 07 Nov 2011 05:17:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RNMGL-0001VO-Kt for emacs-devel@gnu.org; Mon, 07 Nov 2011 05:17:10 -0500 Original-Received: from mailout-de.gmx.net ([213.165.64.22]:55651) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1RNMGL-0001VK-7l for emacs-devel@gnu.org; Mon, 07 Nov 2011 05:17:09 -0500 Original-Received: (qmail invoked by alias); 07 Nov 2011 10:17:07 -0000 Original-Received: from 62-47-48-41.adsl.highway.telekom.at (EHLO [62.47.48.41]) [62.47.48.41] by mail.gmx.net (mp066) with SMTP; 07 Nov 2011 11:17:07 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19UOSUfnmRUtftf5VE5bjb8gqrzuAso+o1Xr9CNau H5NfEM10MEyct1 User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: <8762iwoq27.fsf@uwakimon.sk.tsukuba.ac.jp> X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 213.165.64.22 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:145926 Archived-At: > > > Does anyone ever actually think in genealogical terms? [...] > > > Does anybody *ever* care about anything except in which of the > > > visible windows output will appear (and similar static questions > > > about the current window configuration)? > > > > People interested in manipulating window configurations will have to > > care. > > They never have cared about genealogy in the past. My reference is to your "care about anything ..." and not to your "think in...". > I don't see why > they need to now; sure, you have the issue that window identity needs > to be considered carefully in implementation since variables may refer > to them. Of course they need to be implicitly aware of the tree > structure, but that can be deduced from the arrangement of windows in > most cases. The genealogical issues should be managed internally, and > AFAICS they can be managed internally. I never asked people to care about genealogical issues. Personally, I think in invariants and never in genealogical terms. That's why I tend to avoid terms like "descendant" or "ancestor" in descriptions. > > > And at the Lisp level, only leaf windows are actually accessible as > > > far as I know. Are there any Lisp functions that operate on parent > > > windows, other than those that create or destroy children? > > > > Plenty. You can split, delete, and resize them > > Not up to now. You could split a leaf window; this creates a sibling, > and may involve either creation of a new parent or addition of the > sibling as a child of the existing parent. The function API doesn't > know about the parent though. Similarly, the Lisp API may delete all > siblings of a given window, in which case the parent would be deleted > and the child become a child of its grandparent. If you resize a leaf > perpendicularly to relation to its siblings, the parent will be > implicitly resized. Parents were simply a device for keeping the tree > structure. > > Are you saying that parent windows are now visible to the Lisp API for > operations like split, even though you can't select them for > displaying buffers? Yes. > This seems like a bad idea to me. Why? > > (you can't resize and delete a frame's root window, obviously). > > Except by resizing or deleting the frame. Or the minibuffer window. I don't count these as operations on windows though. martin