https://codereview.appspot.com/8647044/diff/5001/scm/music-functions.scm File scm/music-functions.scm (right):
https://codereview.appspot.com/8647044/diff/5001/scm/music-functions.scm#newcode2103 scm/music-functions.scm:2103: ; head of the alist. We reverse the alist so our search will return On 2013/04/23 20:24:57, dak wrote:
Why would tweak/override add to the _immutable_ properties? How could
they? Is
there something I don't understand here?
To answer myself: the basic properties would contain overrides (set there from the respectively changed context property) but not tweaks (which are applied after initialization of the grob). "If our search returns an anonymous procedure" is quite strained. We don't need to _speculate_ about the identity of the anonymous procesure. If we want to be sure, we can just remember it: (define (offsetter property offsets) (define (self grob) ... and we can now check through both mutable and immutable grob properties, find self, and look behind self in the aliast to see whether we find another occurence of the property which, if found, we duly evaluate recursively. That should allow multiple offsetter calls to work recursively. Huh. Maybe not the best idea since \offset Y-offset ... Grob \offset Y-offset ... Grob would not accumulate while \offset Y-offset ... Grob \temporary\offset Y-offset ... Grob or even \offset Y-offset ... Grob \once\offset Y-offset ... Grob would. But still seems better than forgetting all overrides except the first one (likely in the grob definition). https://codereview.appspot.com/8647044/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel