On Fri, 13 Dec 2013 23:05:49 -0800, David Kastrup <d...@gnu.org> wrote:
That does not make sense. If you want call-once behavior, you can just use a callback.
At the moment, the decision on whether to preserve the callback pointer in the grob property, or fill the property with the returned value, depends on the method used to request the property, get_pure_property() versus get_property(). A callback would be called multiple times (and it would have to support the unpure-pure calling convention). The information of whether the callback is providing a value that /should/ be kept as final is better stored in the Grob itself, so I am thinking of ways to reorganize. The way stencil callbacks are evaluated now is interesting. The stencil callback itself is a simple callback, but when the layout engine wants to know the size of a stencil it does get_pure_property("Y-extent"). Y-extent property is set to either execute the stencil callback, or estimate a height without building the final stencil, as appropriate for each Grob. _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel