Comment #15 on issue 2990 by [email protected]: \RemoveEmptyStaves in StaffGroup context crashes
http://code.google.com/p/lilypond/issues/detail?id=2990

You're right that this check is intended to weed out this problem.
There is nothing, however, preventing a custom engraver or callback from creating cyclical element trees in some other way.

I would recommend going with this patch and deleting the check in process_acknowledged in favor of the more general one I've written in pointer-group-interface. It seems that it is better to devise a general solution to a problem (cyclical element lists) rather than creating instance-specific solutions along the way.

You are right that the check in the axis-group-engraver is more efficient than my solution. However, I'm still interested in seeing benchmarks. It is a tradeoff between efficiency and completeness, and if efficiency doesn't take a big hit, I think it's important to be complete.


Reply via email to