> \repeat unfold is not evaluated at all. It stays a repeat expression > until it gets interpreted. One reason it is implemented that way is in > order to keep the repeats in > > \relative c' { \repeat unfold 4 { c e g } } > > in the same octave rather than get > > \relative c' { c e g c e g c e g c e g } > > which crosses four octaves.
I understand this pragmatism. It is clear that in a piece when you write something like \relative c' { ....somemusic..... \repeat unfold 4 { c e g } ....somemusic..... } you expect to repeat {c e g} on the same octave. If you don't do it, \relative became a command pretty unusable. But the side effect of this semantic choice looks very important to me. We're introducing a strong exceptional behavior, don't we? For me (this is my opinion, and of course I'm not a lilypond/musician etc. expert) I would prefer force the user to write \version "2.19.54" { \repeat unfold 2 \relative c' {c e g} } rather than lost the orthogonality of the language. Just my two cents.
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user