I’ve convinced myself that this is a bug, so I will spend some time trying to change it and see what happens. I will probably use something like the following as regression tests.
Regards, — Dan \version "2.19.80" \layout { indent = 0 line-width = 2 \cm } %% Find the nearest enclosing context of some type. \score { \new StaffGroup = "A" << \new StaffGroup = "B" \with { shortInstrumentName = "FAIL" } { e'1 \context StaffGroup { %% This is expected to replace FAIL. \set StaffGroup.shortInstrumentName = "PASS" } \break e'1 } >> } %% Find the nearest enclosing context by type and ID. \score { \new StaffGroup = "A" << \new StaffGroup = "B" \with { shortInstrumentName = "FAIL" } { e'1 \context StaffGroup = "B" { %% This is expected to replace FAIL. \set StaffGroup.shortInstrumentName = "PASS" } \break e'1 } >> } % Create a new context by type and ID even though both match the % enclosing context. \score { \new StaffGroup = "A" << \new StaffGroup = "B" \with { shortInstrumentName = "PASS" } { g'1 \new StaffGroup = "B" { %% This does not replace PASS because it is a new context, and %% it is not engraved because this context contains no music. \set StaffGroup.shortInstrumentName = "FAIL" } \break g'1 } >> } % Find an enclosing context by type and ID when there is another % context of the same type in between. \score { \new StaffGroup = "A" \with { shortInstrumentName = "FAIL" } << \new StaffGroup = "B" { b'1 \context StaffGroup = "A" { %% This is expected to replace FAIL. \set StaffGroup.shortInstrumentName = "PASS" } \break b'1 } >> } _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond