lilypond-devel
[Top][All Lists]
Advanced

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

Re: Creates pure closures (issue 4894052)


From: n . puttock
Subject: Re: Creates pure closures (issue 4894052)
Date: Fri, 19 Aug 2011 22:39:50 +0000


http://codereview.appspot.com/4894052/diff/9001/input/regression/pure-closure.ly
File input/regression/pure-closure.ly (right):

http://codereview.appspot.com/4894052/diff/9001/input/regression/pure-closure.ly#newcode18
input/regression/pure-closure.ly:18: #(ly:make-pure-closure
ly:stem::height '(-3 . 10))
I'm a bit worried this is too close to an extra-spacing-height override
to make a good test example.

http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc
File lily/pure-closure.cc (right):

http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode36
lily/pure-closure.cc:36: return (SCM) SCM_CELL_WORD_1 (smob);
SCM_PACK (SCM_CELL_WORD_1 (smob));

(if you want to be strict :)

http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode43
lily/pure-closure.cc:43: return (SCM) SCM_CELL_WORD_2 (smob);
SCM_PACK (SCM_CELL_WORD_2 (smob));

http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode60
lily/pure-closure.cc:60: SCM_NEWSMOB2 (z, pure_closure_tag, unpure,
pure);
SCM_UNPACK (unpure), SCM_UNPACK (pure)

http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode68
lily/pure-closure.cc:68: assert (is_pure_closure (pc));
optimized builds will segfault on invalid args, so you should use
LY_ASSERT_TYPE () here

http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode76
lily/pure-closure.cc:76: assert (is_pure_closure (pc));
LY_ASSERT_TYPE ()

http://codereview.appspot.com/4894052/diff/9001/scm/define-grobs.scm
File scm/define-grobs.scm (left):

http://codereview.appspot.com/4894052/diff/9001/scm/define-grobs.scm#oldcode2655
scm/define-grobs.scm:2655: (if (not (procedure? unpure))
I think you want this instead:

(let ((pure (ly:pure-closure-pure-part unpure)))
        (if (not (procedure? pure))
            pure
            (apply pure
                   (append (list (car args) start end) (cdr args)))))

http://codereview.appspot.com/4894052/



reply via email to

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