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

Reply via email to