lilypond-auto
[Top][All Lists]
Advanced

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

Re: [Lilypond-auto] Issue 4083 in lilypond: \keepWithTag does not nest w


From: lilypond
Subject: Re: [Lilypond-auto] Issue 4083 in lilypond: \keepWithTag does not nest well
Date: Sat, 30 Aug 2014 12:37:35 +0000


Comment #2 on issue 4083 by address@hidden: \keepWithTag does not nest well
https://code.google.com/p/lilypond/issues/detail?id=4083

Should be pretty robust and fully backwards-compatible but
relies on global side effects.

What would these be?  Would they be serious?

Any "tag layer" needs to be defined globally. Relying on global definitions/variables is bad for arranging stuff in new ways.

b) \keepWithTag only removes tagged music without the given
tag(s) in sequential or parallel music only when one of the
named tags is actually present on one of the other elements
of the list.

What list?

List of music expressions. Like with << music music... >> or { music music... } where we have a list of music expressions. So if I have
<< \tag xxx \musicA
   \tag yyy \musicB
   \tag zzz { \tag kkk { \tag ccc c' \tag xxx d' } \tag lll <c d e> } }

then \keepWithTag zzz will remove \musicA and \musicB but keep the rest. \keepWithTag ccc will remove the \tag xxx d' but nothing else. The problem with this approach is that stuff like \relative c' or \transpose c d or similar, applied immediately to a tagged expression, will move that expression out of sight, so if it is tagged with \tag xxx and \keepWithTag xxx is called on the surrounding expressions, any \tag yyy or \tag zzz that were at the same layer before \transpose moved the tag out of their vicinity will be retained. So
<< \tag xxx ...
   \tag yyy ...
   \transpose c d \tag zzz ...

would not change at all after \keepWithTag zzz. Not sure how back the drawback is and whether one should try being smarter. But then we are getting into c) territory rather fast.

I don't understand this, maybe because of the two "only"s.
I'm still trying to work out whether they have a subtle
meaning when present together or whether it's just a typo.


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

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