On Feb 3, 2012, at 4:38 PM, plros...@gmail.com 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
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to