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: Sun, 31 Aug 2014 00:09:42 +0000


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

Regarding (b):
<< \tag xxx \musicA
   \tag yyy \musicB
   \tag zzz { \tag kkk { \tag ccc c' \tag xxx d' } \tag lll <c d e> } }

would be "reckless": one would want to write
<< \tag xxx { \musicA }
   \tag yyy { \musicB }
   ...
instead to avoid weird interactions if \musicA had been defined as
musicA = \tag this-tag-should-have-been-independent-of-xxx ...

Actually, I can think of a reasonably nice order-independent reinterpretation of \keepWithTag: remove all music except when this would cause music with the given tag to be removed. So with
<<
   fsdafdsf
   \tag xxx hoi
   \tag yyy hui
   { rarara \tag xxx hoihoi }

\keepWithTag xxx
would result in
<< \tag xxx hoi
   { \tag xxx hoihoi }

This behavior would no longer treat \tag #'(unrelated) different from \tag #'(), addressing a main weakness of the current command.

It's also reasonably easy to explain.  The disadvantage is that
<< \global
   \tag xxx ...
   \tag yyy ...

will not lead to happiness.  One needs to write either
<< \tag xxx.yyy \global
   \tag xxx ...
   \tag yyy ...

which would work badly with \removeWithTag, or one would write
<< \global
   << \tag xxx
      \tag yyy
   >>

which, uh, still would not retain \global.  Huh.

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