Re: \with mods targeting parents

Carl Sorensen <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.devel
Message-ID <CACEw7i8Vzs2Z5tPj-pRbV=jbnpFzKwBP_Q6x9La2TJ0L=SJMpA@mail.gmail.com>
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.

See my revised code:

\version "2.25.11"
\new Staff \with {
  instrumentName = "QuackStaff"
}{
\new Voice \with {
   \propertySet Staff.instrumentName "Quack"
} {
   \contextPropertyCheck Staff.instrumentName #'()
   \contextPropertyCheck Voice.instrumentName "Quack"
   R1
}
}


This displays the staff instrument name "QuackStaff", not "Quack".  And I
have no idea why the \propertySet doesn't work.

Perhaps warning about it would be useful.  But I'd hate to break the
current working that David describes below.



>
> If they put \hide TimeSignature in the \with-block of a Staff context,
> would you want to warn about it because \hide TimeSignature is
> implemented as \override Bottom.TimeSignature.transparent = #t and Staff
> is no Bottom context?
>
> > What would be ideal?
> >
> > A. warn about it (and do whatever is easily maintained)
> > B. allow setting properties in enclosing contexts
> > C. ...
>
> I'd leave things as they are.
>
> --
> David Kastrup
>


Carl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.