Saul Tobin <saul.james.to...@gmail.com> writes: > ly:context-property-where-defined returns differently depending on if > a property is unset or explicitly set to '() – I'm guessing this is > one of the things you had in mind by "not really pretty"?
I think one of the uglier things is that ly:context-property can be given a default argument which is even returned when the property is explicitly set to '(). This is particularly irritating since '() is not much of a special value in Scheme. Then using a property as a conditional is kind of annoying. You'll see a lot of (if (null? ...)) and (if (not (null? ...)) ...) code in LilyPond that just feels wrong because the property checked with null? has nothing whatsoever to do with being a list. -- David Kastrup