David Kastrup <[email protected]> writes: > Urs Liska <[email protected]> writes: > >> Can someone explain to me why \overrideProperty Staff.BarLine.color >> #red colors the barlines in *all* staves while \override >> Staff.BarLine.color = #red only affects the current Staff context? > > Because the respective engraver is only active at Score level and > overrides the properties in _all_ contexts of the given type.
Ok, things are more complicated than that. The respective events are listened in at Score level. When a grob is acknowledged, it is acknowledged in all contexts of the right type in suitable relation to the source engraver of the grob. The end result is independent from whatever context was current at the time the apply-output-event was generated. Making it dependent requires either having the Output_property_engraver at all levels (as it had been before) which makes the current context be reflected in just which of the various engravers is getting called, or some support by the respective iterator (which does have a notion of current context). I lean towards calling the entire redesign a "thinko". Unfortunately, there have been significant irreversible convert-ly rules involved. So I need to figure out how to go from here. -- David Kastrup _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
