Am So., 7. Okt. 2018 um 18:00 Uhr schrieb David Kastrup <d...@gnu.org>: > > Thomas Morley <thomasmorle...@gmail.com> writes: > > > If you have too much time, you may have a look at ‘scheme-engraver.ly’ > > from > > http://lilypond.org/doc/v2.13/input/regression/collated-files.html The > > newer file uses the great 'make-engraver'-macro (by David Kastrup). > > Otoh, this macro hides an engraver _is_ a list (which is obvious, if > > you look in the older file). > > An engraver is not a list, just like it isn't a string like > "Note_engraver". That's just how you _specify_ an engraver. If it's a > list, the Scheme_engraver type will be used for actually instantiating > an engraver (which is bound to a particular context), initialized using > the list contents.
Hi David, I don't understand the subtleties. Could you elaborate a bit using the examples below. testI = #(list (cons 'initialize (lambda (trans) (write trans)))) testII = #(lambda (ctx) testI) \layout { \context { \Voice \consists #testI \consists #testII } } { R1 } testI is a list, testII a procedure using testI. Both return #<Translator Scheme_engraver >, though. Thanks, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user