lilypond-user
[Top][All Lists]
Advanced

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

Re: \set vs \override


From: David Kastrup
Subject: Re: \set vs \override
Date: Tue, 24 Nov 2009 06:50:52 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Han-Wen Nienhuys <address@hidden> writes:

> On Mon, Nov 23, 2009 at 11:10 PM, David Kastrup <address@hidden> wrote:
>
>>>
>>> * \override and \revert manipulate the defaults stored in said context
>>> property, pushing and popping values off the alist.
>>
>> This concise "hint" is wagonloads clearer than what is in the "\set vs
>> \override" documentation node.  The documentation can be strictly
>> improved by throwing out what is there and putting this hint in.
>>
>> But while the hint addresses the difference and relation between those
>> properties much much clearer than the manual, it still does not mention
>> why one set of properties should only be manipulated with \set, and the
>> other only with \override/\revert.  It does not appear that there is an
>> actual technical necessity for this, but rather it would appear that the
>> basic nature of the different properties makes one or the other
>> typically more feasible.
>
> \set  overwrites the value of the context property.
>
> \override by its nature takes the value of the context property (an
> alist) and prepends a (symbol . value) pair.  Since something
> different happens at runtime, it needs a different syntax.

Sigh.  I guess I give up.  Yes, I understood that.  Pretty much from the
get-go, and also from the manual.  The unanswered question is _why_ you
want only _one_ of the two different things happen to _one_ half of the
properties, and the _other_ of the two different things happen to the
_other_.

> At some point we had \set Foo.Bar \override #'x = #y syntax for this,
> but it was deemed to confusing, so we gave it a different syntax.

I'm fine with the two different syntaxes for the two different actions.
But why is one action only for context properties, the other only for
grob properties (which are also pre-registered in the context)?

-- 
David Kastrup




reply via email to

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