[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Context.Grob considered as symbol list
From: |
David Kastrup |
Subject: |
Re: Context.Grob considered as symbol list |
Date: |
Thu, 18 Oct 2012 16:19:23 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) |
Keith OHara <address@hidden> writes:
> Werner LEMBERG <wl <at> gnu.org> writes:
>
>> Instead of having an optional argument
>
> Remember that David's previous approach used no optional arguments,
> the optional components were attached with dots to the core arguments
>
> \override [Context.]Grob property[.subproperty] = #value
> \tweak [Grob.]property.[subproperty] value c2
>
>> I would prefer that both commands simply accept such
>> a hierarchy, making e.g.
>>
>> \override color ...
>> \override Accidental.color ...
>> \override Voice.Accidental.color ...
>>
>> and
>>
>> \tweak color ...
>> \tweak Accidental.color ...
>> \tweak Voice.Accidental.color ...
>>
>> valid syntax
That's what is accepted in the current version of the patch. Of course,
except for \tweak Voice.Accidental.color which makes _absolutely_ no
sense whatsoever since tweaks are not associated with contexts. And
actually, it _will_ get accepted but will probably complain later that
the tweaked grob does not have a grob property called "Voice".
> Remember that by far the most common cases use no optional components,
> thus no dots in the old syntax. Also remember that
> \override color = #blue
> will not do anything useful even if it is valid syntax. (David's latest
> patch prints a reasonable message for the error above, before
> crashing.)
It just does the following non-fatal error in the current version
(updated at origin/dev/syntax):
xxx.ly:1:12: error: bad grob property path
{ \override
color = #blue }
That's good enough.
> I would prefer to keep David's previous syntax in documentation, even if
> we accept the fully-dotted form, because the space helps me find my way
> when copying new forms from the manuals.
>
> \override Ceol.Clochan dath.mion = #glas
>
> I forget a lot, but am reminded seeing the above that \override always
> takes a grob (sometimes with context to its left) and the property
> (rarely with sub-properties to its right).
On the other hand, things like \overrideProperty can only have one
interface or the other, and "put a single dotted symbol list here to
specify the path" with no alternative readings is dead simple and
straightforward. And starting with version 2.19, or at the latest 2.21,
I would want to remove the compatibility mode which is really
complicating things both in the parser as well as conceptually.
--
David Kastrup
- Re: Context.Grob considered as symbol list, (continued)
- Re: Context.Grob considered as symbol list, David Kastrup, 2012/10/11
- Re: Context.Grob considered as symbol list, Werner LEMBERG, 2012/10/12
- Re: Context.Grob considered as symbol list, David Kastrup, 2012/10/12
- Re: Context.Grob considered as symbol list, Werner LEMBERG, 2012/10/12
- Re: Context.Grob considered as symbol list, David Kastrup, 2012/10/12
- Re: Context.Grob considered as symbol list, David Kastrup, 2012/10/13
- Re: Context.Grob considered as symbol list, Janek WarchoĊ, 2012/10/12
- Re: Context.Grob considered as symbol list, David Kastrup, 2012/10/12
- Re: Context.Grob considered as symbol list, Keith OHara, 2012/10/18
- Re: Context.Grob considered as symbol list, David Kastrup, 2012/10/18
- Re: Context.Grob considered as symbol list,
David Kastrup <=
- Re: Context.Grob considered as symbol list, Werner LEMBERG, 2012/10/19
- Re: Context.Grob considered as symbol list, Reinhold Kainhofer, 2012/10/12
- Re: Context.Grob considered as symbol list, Keith OHara, 2012/10/13
- Re: Context.Grob considered as symbol list, Reinhold Kainhofer, 2012/10/13
Re: Context.Grob considered as symbol list, Thomas Morley, 2012/10/12