On 6 sept. 2012, at 09:49, Werner LEMBERG <[email protected]> wrote: > >> After reading the CG stuff, If you feel any info should be brought >> over to the users manual, post a patch and we can discuss it. And, >> of course, if after reading the CG stuff is still unclear on how >> they work, lemme know. > > OK, I've read it, and the concept of purity is explained well, thanks. > However, it's still not clear to me why the example works. > > . First of all, `make-XXX-stencil' seems to be completely > undocumented. At least I can't find those functions in the > reference (except some unsystematic usage here and there).
I'm not sure who made them or when they made it into LilyPond, but you're certainly welcome to post a patch documenting them - I think it'd be helpful to have that documented. > > . I would expect that both `make-circle-stencil' and > `make-filled-box-stencil' produce something which has a natural > height. They do. It's just that LilyPond doesn't know that they will because they're functions. Whenever LilyPond doesn't know if a function will return a natural height, she assumes it won't. This is why it needs to be wrapped in an unpure-pure container. I'll revisit the CG and find a way to better explain this. > Apparently, this isn't true. Why? This should be > mentioned, otherwise the example is not really comprehensible > IMHO. > . Even if `make-XXX-stencil' produce objects with zero height, I > don't understand why the layout engine ignores it. IMHO, zero > height is not the same as an empty stencil. The layout engine ignores it because it is a function - LilyPond will simply ignore the function all together because there is no guarantee that it is pure (see above). > > Maybe there is something else which I don't understand... > I'll revisit the CG to find a better way to explain this - pester me if I forget. Cheers, MS > > > Werner _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
