Comment #37 on issue 4022 by [email protected]: Patch: Allow specifying different alignment for grob and its parent
http://code.google.com/p/lilypond/issues/detail?id=4022

Regarding #35: #f basically means "explicitly off", while '() does not have as explicit a meaning. Calls to ly:grob-property and ly:context-property cannot distinguish a property that has never been set (and has no default) from a property that is explicitly set to #'() in some context: that difference is basically only visible to the C++ layer. However, setting a property to #'() _does_ override settings in outer contexts.

As such, #'() to mean "take default from somewhere else" is sort-of a natural choice.

LilyPond uses '() in a number of situations where Scheme would likely consider #f more suitable. In Lisp, both are the same and called NIL. Maybe LilyPond's use of #'() is a bit influenced by the original LilyPond authors knowing Lisp.

At any rate, that choice fits usage of #'() elsewhere reasonably well.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Reply via email to