Carl Sorensen <[email protected]> writes: > On Sun, Oct 26, 2025 at 8:56 PM David Kastrup <[email protected]> wrote: > >> Dan Eble <[email protected]> writes: >> >> > This currently compiles without warnings. >> > >> > ``` >> > \version "2.25.30" >> > \new Voice \with { >> > \propertySet Staff.instrumentName "Quack" >> > } { >> > \contextPropertyCheck Staff.instrumentName #'() >> > \contextPropertyCheck Voice.instrumentName "Quack" >> > R1 >> > } >> > ``` >> > >> > It seems wrong to set the property in Voice quietly when the user >> > wrote "Staff". >> >> Why? If the user puts a setting that is normally Staff-wide (like >> \ottava #1) in a \with-block of a Voice, why would you assume that they >> don't know what they are doing? >> > > To me as an experienced user who has not followed the evolution of the > usage of \with blocks, it seems a bit surprising that after explicitly > requesting the Staff.instrumentName property to be changed, the > Voice.instrumentName property is what is actually changed.
There is no difference between "explicitly requested" and "implicitly requested" in the form of predefined commands to LilyPond. The current behavior was a design decision along with the implementation of allowing property-setting music in \with-blocks to be converted. We actually went through all this once already including actual code, and the results were unhelpful. Please check <https://gitlab.com/lilypond/lilypond/-/issues/2982> -- David Kastrup
