Thomas Morley <thomasmorle...@googlemail.com> writes: >> \context { >> \Staff >> \override RestCollision #'positioning-done = #merge-rests-on-positioning >> \override MultiMeasureRest #'Y-offset = >> #merge-multi-measure-rests-on-Y-offset >> } >> >> I simulated this in my attached example by having a \layout block at the top >> of the file. The result is that, as soon as I add >> \RemoveEmptyStaffContext to
>From ly/engraver-init.ly %% Keep the old definitions in here for compatibility (they erase previous %% settings to the corresponding context!). %% For new scores, one should simply insert the \RemoveEmptyStaves settings %% into the desired context. That's just as easy, requires only one line more %% (the \*Staff), but preserves previous context mods. %% TODO: DEPRECATED_2.13.17, remove at some point in the future RemoveEmptyStaffContext = \context { \Staff \RemoveEmptyStaves } As you can see, RemoveEmptyStaffContext consists of a copy of \Staff (made at the time ly/engraver-init.ly is loaded) with an additional modification "\RemoveEmptyStaves". This is basically a changed copy of \Staff kept under a different name. If you include this in a layout definition, by virtue of having copied \name "Staff" from the original definition of \Staff, LilyPond will know that this is intended for overwriting the definition of \Staff. Any changes made previously to \Staff after the definition of RemoveEmptyStaffContext will be gone. Broken by design, so it got deprecated. Perhaps we are not doing people a favor keeping it around. > \RemoveEmptyStaffContext is deprecated and you will not find any entry > about it in the NR of "2.14.2". > Well, for reasons of compatibility you'll find the old definitions in > engraver-init.ly, so I wonder why it doesn't work. See above. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user