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: Windows' "split status" Date: Wed, 23 Nov 2011 15:15:19 +0100 Message-ID: <4ECCFFF7.1030702@gmx.at> References: <87vcqqoekt.fsf@gnu.org> <4EBD6B63.4050607@gmx.at> <87vcqq6utg.fsf@gnu.org> <4EBE4414.10009@gmx.at> <87d3cwr9hc.fsf@gnu.org> <4EBFA0AF.7000608@gmx.at> <87obwgatpy.fsf@gnu.org> <4EBFFBA5.1000309@gmx.at> <87hb26gdx8.fsf@gnu.org> <4EC213EA.4080304@gmx.at> <871ut9n2rr.fsf@gnu.org> <4EC2821C.4020400@gmx.at> <87sjlfxbg1.fsf@spindle.srvr.nix> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1322057753 1730 80.91.229.12 (23 Nov 2011 14:15:53 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 23 Nov 2011 14:15:53 +0000 (UTC) Cc: Chong Yidong , Stefan Monnier , emacs-devel@gnu.org To: Nix Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 23 15:15:47 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 1RTDc3-0000To-K2 for ged-emacs-devel@m.gmane.org; Wed, 23 Nov 2011 15:15:47 +0100 Original-Received: from localhost ([::1]:50319 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTDc3-0008J1-0N for ged-emacs-devel@m.gmane.org; Wed, 23 Nov 2011 09:15:47 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:45482) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTDbv-0008Ii-7X for emacs-devel@gnu.org; Wed, 23 Nov 2011 09:15:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RTDbu-0000fN-Bt for emacs-devel@gnu.org; Wed, 23 Nov 2011 09:15:39 -0500 Original-Received: from mailout-de.gmx.net ([213.165.64.22]:35997) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1RTDbu-0000eM-0n for emacs-devel@gnu.org; Wed, 23 Nov 2011 09:15:38 -0500 Original-Received: (qmail invoked by alias); 23 Nov 2011 14:15:31 -0000 Original-Received: from 62-47-42-114.adsl.highway.telekom.at (EHLO [62.47.42.114]) [62.47.42.114] by mail.gmx.net (mp026) with SMTP; 23 Nov 2011 15:15:31 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19uY88J/l1uazRGbTWOOT80Yw5Va0QDSxkVUWaqoj cZ/84YCnvgXYMI User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: <87sjlfxbg1.fsf@spindle.srvr.nix> 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:146177 Archived-At: >> If this variable is always non-`nil', a frame's window >> tree is a binary tree so every window but the frame's root window >> has exactly one sibling. > > As a native English speaker, I'm afraid that this reads like a > non-native-English-speaker's attempt to render > >> If this variable is always non-`nil', a frame's window tree is always >> a binary tree so every window but the frame's root window has exactly >> one sibling. Because of the missing "always"? Then your formulation is missing yet another "always" immediately before "exactly". > which unfortunately has a quite different meaning. Mixing temporal operators and quantification in prose is problematic. But what precisely constitutes the "different meaning" here in your opinion? > While your > formulation is grammatically correct, I don't think it's very meaningful > to talk about a variable's value "always" being something. The term "always" has very contrived semantics but it's informally often used to say something like: If this variable is non-nil when Emacs starts and is non-nil whenever Emacs performs an action, then for any of Emacs' frames, that frame's window tree is a binary tree when Emacs starts and after any action performed by Emacs. Or, if this variable is always non-nil, then any frame's window tree is always a binary tree. Obviously I'd prefer to say something more useful like "for all frames invariantly holds that if this variable is non-nil when that frame is created or a window on that frame is created or deleted, that frame's window tree is a binary tree" but I don't like talking in terms of pre- and post-conditions and don't know anyway how to provide the necessary atomicity of Emacs' actions wrt to "this variable's value". > Perhaps framing this in terms of a guarantee is clearer? > >> If this variable's value remains non-`nil' throughout the lifetime of >> a frame, the frame's window tree is guaranteed to be a binary tree; >> every window nested below the root window will have exactly one >> sibling. I wouldn't mind. After all, this sentence was meant as an additional hint only, without the slightest claim for formal correctness. martin