On Feb 3, 2012, at 4:38 PM, [email protected] wrote:
> To be honest, there are many things I don't understand. In fact, I
> reduced the example to understand it better.
>
> Why is horizontal spacing affected even though the purity affects the
> Y-axis only?
Because horizontal spacing is based on thing's height. If something is tall,
it may lead to wider spacing as it cannot be kerned.
> Why do stems fix the spacing?
I don't understand the question :(
> Why doesn't this cause the
> spacing problem:
>
> \override NoteHead #'text = \markup { "o" }
> \override NoteHead #'stencil = #ly:text-interface::print
>
text-interface::print is declared pure towards the bottom of define-grobs.scm
> But this does cause the problem:
>
> \override NoteHead #'text = \markup { "o" }
> \override NoteHead #'stencil =
> #(lambda (grob) (ly:text-interface::print grob))
>
> Cannot it happen a simple change would make Lilypond recognize lambda
> expressions as pure functions, breaking this example?
This is why unpure-pure-containers exist.
Cheers,
MS
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel