Dan Eble <dan@lyric.works> writes: > Old-timers, > > For some reason, I had it in my head that a context property could not > be set to *unspecified*, but now that I have looked again, I see that > that is false. It is possible to set a property to *unspecified* and > mask the value from the enclosing context, just like setting any other > value. > > The new \contextPropertyCheck [1] function is affected by my mistake, > and I would like to correct it. > > Before I extend \contextPropertyCheck to handle the possibility that a > property is set to *unspecified*, I want to make sure that in general, > the current treatment of *unspecified* is the desired treatment. > > I thought to use ChatGPT (that charlatan) to look for leads on > real-world uses of *unspecified*. It would have me believe that these > are effectively the same and are documented as such: > > \set property = #*unspecified* > \unset property > > They are not the same, and I don't see this in the current > documentation, but was there ever a time when they were the same?
No. There is some overlap of unset properties and properties set to '() which is not really pretty but possibly a hangover from the LISP mindset where (not 1) and '() are the same, namely NIL. But I don't think *unspecified* was ever really used in LilyPond. -- David Kastrup