emacs-devel
[Top][All Lists]
Advanced

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

Re: Windows' "split status"


From: martin rudalics
Subject: Re: Windows' "split status"
Date: Wed, 23 Nov 2011 15:15:19 +0100
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

>>      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



reply via email to

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