"Trevor Daniels" <t.dani...@treda.co.uk> writes: >> Comment #35 on issue 1110 by d...@gnu.org: Wrong octave of >> repetition chord with \relative and #{ #} syntax > >> Ok, I have mulled this over and decided that introducing a third >> "what was the last $x" concept is not going to make things better >> understandable. So I'll go for the duplicitous approach: the "last" >> chord is the last chord the parser has seen, unless \relative runs >> over it, in which case the "last" chord is the last chord \relative >> has seen. > > Sounds good to me. > >> Chances are that people will be using \relative either consistently, >> or consistently not, and so they get to see consistent behavior for >> q even though we have two different approaches. > > Exactly. I've become familiar with the present idiosyncracies, and > could easily do the same again. But will the behaviour on old scores > change? Updating them could be a nuisance.
Which is quite a good incentive _not_ to implement half-thought-through "features" which people later protest are no longer "supported" when they never worked right. In any case: the behavior on old scores will change. q was strictly "last chord the parser has seen". In connection with \relative, a hack was used for maintaining a reference to "the last chord the parser has seen". This hack was not robust against copying, like it happens when passing material through a music variable or several other things. So for \relative, it will change to "last chord \relative has seen". Few people realize that \relative is not an input mode change, but rather a transformation on a complete expression. It helps that the reference is given at the start which means that \relative is not suspected to remember stuff before it. If we used a syntax like \chordRepeat <c e> { ... meaning that the first q inside of the construct without preceding chord will resolve to <c e>, this would work similarly with regard to user expectations. But that seems somewhat silly. Basically the situations where the behavior will be _noticeably_ different are when you have a \relative with a q in it before any other chord. Or when you use music variables with a q in them before any other chord, and employ those in \relative. So I don't think that there is much cause for worry. -- David Kastrup _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond