lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Simplification of live-elements-list, why not?


From: Joe Neeman
Subject: Re: Simplification of live-elements-list, why not?
Date: Sun, 14 Nov 2010 20:59:29 -0800

On Sun, Nov 14, 2010 at 5:19 PM, Boris Shingarov <address@hidden> wrote:
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?

Doesn't filter just work on plain scheme lists? elements is a grob-array object. Of course, if filter doesn't work on such objects it might be better to write a version of filter rather than replicating it many times.


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...)

I couldn't find ly:is-live? ...

Joe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]