http://codereview.appspot.com/4213042/diff/24025/lily/balloon-engraver.cc File lily/balloon-engraver.cc (right):
http://codereview.appspot.com/4213042/diff/24025/lily/balloon-engraver.cc#newcode65 lily/balloon-engraver.cc:65: Pointer_group_interface::add_grob (g, ly_symbol2scm ("annotations"), b); remove (and all related code) http://codereview.appspot.com/4213042/diff/24025/lily/grob.cc File lily/grob.cc (right): http://codereview.appspot.com/4213042/diff/24025/lily/grob.cc#newcode257 lily/grob.cc:257: extract_grob_set (this, "annotations", annotations); I'm not sure what you were thinking here, but this would never get called anyway since object_alist_ is empty :) http://codereview.appspot.com/4213042/diff/24025/lily/page-spacing.cc File lily/page-spacing.cc (right): http://codereview.appspot.com/4213042/diff/24025/lily/page-spacing.cc#newcode87 lily/page-spacing.cc:87: return footnote_height; This produces incorrect results in some cases, since footnotes_ is initialized before line breaking has taken place. For example, compare the return values for the following snippets: \relative c' { \repeat unfold 3 \footnoteGrob #'NoteHead #'(0 . 2) "foo" "bar" c1 } \new Staff \with { \consists "Footnote_engraver" } \relative c' { \footnoteGrob #'TimeSignature #'(0 . 2) "foo" "bar" c1 } http://codereview.appspot.com/4213042/diff/24025/lily/system.cc File lily/system.cc (right): http://codereview.appspot.com/4213042/diff/24025/lily/system.cc#newcode237 lily/system.cc:237: && all_elts[i]->is_live ()) This doesn't do anything: it's the parent which is suicided in Item::break_visible (), but that happens later than this. http://codereview.appspot.com/4213042/diff/24025/lily/system.cc#newcode257 lily/system.cc:257: if (!footnote_grobs_[j]->is_live ()) See comment above. http://codereview.appspot.com/4213042/diff/24025/lily/system.cc#newcode276 lily/system.cc:276: if (!Text_interface::is_markup (footnote_markup)) This is where the defunct footnotes are removed: since you're using the footnote_grobs_ cache instead of storing the stencils, any FootnoteItem whose parent has been suicided due to break-visibility settings will also be suicided in Grob::handle_broken_dependencies (): thus footnote-text returns '(). http://codereview.appspot.com/4213042/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel