[luatex] Fatal error when removing nodelist's tail.

Taco Hoekwater taco at elvenkind.com
Mon Mar 5 09:20:11 CET 2012


On 03/03/2012 12:21 PM, Paul Isambert wrote:
> Hello all,
>
> The following code produces a fatal error:
>
> callback.register("ligaturing",
>    function (head)
>      node.remove(head, node.tail(last))
>    end)
>
> The error is:
> ! This can't happen (linebreak_tail).
> !  ==>  Fatal error occurred, no output PDF file produced!
>
> The same happens in the "kerning" callback. It also happens even if you add
> another node after the tail (and then remove the latter). I know the manual says
> something about the tail of the list being recalculated, but I wouldn't expect
> that removing the tail would cause an error. As far as I can tell, the error
> happens at paragraph-building time (i.e. in "linebreak_filter").
>
> Am I doing something wrong, or contemplating a bug?

I think this is a documentation bug. If your callback does not actually
return anything, luatex assumes that the list is unaltered so does not
do any recalculations (in the interest of speed).

Best wishes,
Taco



More information about the luatex mailing list