On Jan 21, 2020, at 14:02, Carl Sorensen <c_soren...@byu.edu> wrote: > \new ChoirStaff = choir << > \new Staff = choir.upper << > \new Voice = choir.upper.soprano > \new Voice = choir.upper.alto >>> > \new Staff = choir.lower << > \new Voice = choir.lower.tenor > \new Voice = choir.lower.bass >>> >>> > > Or would we prefer > > \new ChoirStaff = choir << > \new Staff = choir.upper << > \new Voice = choir.soprano > \new Voice = choir.alto >>> > \new Staff = choir.lower << > \new Voice = choir.tenor > \new Voice = choir.bass >>> >>> > > The first example is potentially problematic, because Voices can change > Staffs (and even StaffGroups), so it seems that having the Voice id include > the Staff is not desirable.
I don't think anyone was suggesting that a context ID would include the IDs of its parents as a substring. At least I wasn't trying to suggest that. The idea is that something like this: \context foo.bar.baz { … } Could be interpreted as shorthand for this: \context %{ unspecified %} = foo { \context %{ unspecified %} = bar { \context %{ unspecified %} = baz { … } } } — Dan