I was trying to make lists work in the most general situation when I stumbled across this strange bug: it seems that the label-end() function (implemented in fo/expr/labelEndFunction.java) does not compute the right value.
It should compute the end-indent of a list-item-label, which is defined to be (7.28.3) ipd of the reference area - (provisional-distance-between-starts + start-indent + start-intrusion-adjustment - provisional-label-separation) It seems to me that the method LabelEndFunction.eval() computes rightly the inner expression between the brackets, but fails to get the right reference ipd. The overall effect is that the end-indent stored inside a CommonMarginBlock object is bigger than the available ipd, and the stack limit set by the BlockLM for the LineLM is < 0. Any idea about how to fix this (should it really be a bug)? Regards Luca