In scm/output-lib.scm, the (internally used) function
live-elements-list is defined like this:
(define (live-elements-list me)
(let* ((elements (ly:grob-object me 'elements))
(elts-length (ly:grob-array-length elements))
(live-elements '()))
(let get-live ((len elts-length))
(if (> len 0)
(let ((elt (ly:grob-array-ref elements (1- len))))
(if (grob::is-live? elt)
(set! live-elements (cons elt live-elements)))
(get-live (1- len)))))
live-elements))
Any specific reason why not just filter on the is-live? predicate?
Also, is there a real difference between grob::is-live? and ly:is-live?
predicates? (I would be inclined to get rid of grob::is-live? version...)
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel