lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help with page breaking code


From: David Kastrup
Subject: Re: Help with page breaking code
Date: Wed, 22 May 2013 21:08:10 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Keith OHara <address@hidden> writes:
>
>> David Kastrup <dak <at> gnu.org> writes:
>>
>>> #(set! empty-stencil (ly:make-stencil '() empty-interval empty-interval))
>>> \markup \fill-line { }
>>
>>> Basically, the first \markup produces an empty stencil with extents
>>> (+inf.0 . -inf.0) and the page breaking code goes bonkers on that.
>>> 
>>
>> \paper {annotate-spacing = ##t}
>> indicates proper estimates for any scores after the \fill-line, and
>> indirectly shows zero space allowed for the \fill-line, so the
>> height estimations seem reasonable.
>>
>> The problem appears only when \fill-line is the first markup, so maybe
>> a bad initialization in one of
>> page-breaking.cc  page-layout-problem.cc  page-spacing.cc
>
> Here is an even worse example:
>
> #(define-markup-command (ugly layout props) ()
>   (ly:make-stencil '() empty-interval empty-interval))
>
> \markup \ugly
> \markup *
> \markup *
> \markup *
> \markup *
>
> As you can see, just inserting the single \ugly markup poisons the page
> breaker permanently, so that it will need one page per * afterwards.
> This is for current master, not anything more special.
>
> And while I tend to blame the new skyline spacing for everything under
> the sun, it turns out that LilyPond 2.16.0 exhibits exactly the same
> problem.
>
> You might want to claim that this is a case of "don't do that then", but
> I very much doubt that illegitimate carry-over will occur only for these
> particular values.

Maybe related to issue 3341
<URL:http://code.google.com/p/lilypond/issues/detail?id=3341>?

That also looks like a bleedover problem with page breaking variables.

-- 
David Kastrup




reply via email to

[Prev in Thread] Current Thread [Next in Thread]