lilypond-devel
[Top][All Lists]
Advanced

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

Re: Issue 4083: Implement \tagGroup command (issue 137920043 by address@


From: k-ohara5a5a
Subject: Re: Issue 4083: Implement \tagGroup command (issue 137920043 by address@hidden)
Date: Fri, 05 Sep 2014 06:59:18 +0000

LGTM
It worked fine on (adapted) examples from the divisi staff issue and
emails.  Looking at the code, I was confused how it worked without the
\cleansed concept of the LSR entries, until I realized un-grouped tags
effectively form their own group, so old uses of \keepWithTag ignore
tags in the new groups.



https://codereview.appspot.com/137920043/diff/20001/Documentation/notation/input.itely
File Documentation/notation/input.itely (right):

https://codereview.appspot.com/137920043/diff/20001/Documentation/notation/input.itely#newcode2246
Documentation/notation/input.itely:2246: @code{\keepWithTag} is not
used.
The last paragraph is difficult to understand; maybe leave it out.

https://codereview.appspot.com/137920043/diff/20001/ly/music-functions-init.ly
File ly/music-functions-init.ly (right):

https://codereview.appspot.com/137920043/diff/20001/ly/music-functions-init.ly#newcode562
ly/music-functions-init.ly:562: may be either a single symbol or a list
of symbols.")
You could make the whole tag-group enhancement parenthetical
"...or untagged (ignoring any tags in tag groups different from the tag
groups containing @var{tag}; see @code{tagGroup})."

It will probably help understanding to say "\keepWithTag A.B  performs
\removeWithTag C.D.E... where C,D,E,etc., are all the tags other than
A.B in the tag group(s) that contain A and B.

https://codereview.appspot.com/137920043/diff/20001/scm/music-functions.scm
File scm/music-functions.scm (right):

https://codereview.appspot.com/137920043/diff/20001/scm/music-functions.scm#newcode2650
scm/music-functions.scm:2650: (not (any (lambda (t) (eq? (tag-group-get
t) group)) music-tags))))))
This last line has some non-obvious important details.
; If this music has non-matching tags, and if any of them are in the
same group as the tag we are keeping, then we do *not* keep this music.
The set of tags outside any declared group, for which tag-group-get
returns #f, are treated as their own tagGroup

https://codereview.appspot.com/137920043/diff/20001/scm/music-functions.scm#newcode2656
scm/music-functions.scm:2656: (any (lambda (t) (memq t tags))
music-tags)
I didn't understand the comment below until after figuring out the code
(and then re-interpreting the comment until I found an interpretation
that fit).
; This music has tags that do not match any of our tags to keep.
If any of the music's tags are in the same group as any of our tags to
keep, then we do *not* keep this music.

https://codereview.appspot.com/137920043/



reply via email to

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