Afaict, LGTM A remark:
https://codereview.appspot.com/581610043/diff/569310043/scm/parser-ly-from-scheme.scm File scm/parser-ly-from-scheme.scm (right): https://codereview.appspot.com/581610043/diff/569310043/scm/parser-ly-from-scheme.scm#newcode19 scm/parser-ly-from-scheme.scm:19: (define (read-lily-expression-internal lily-string filename line closures) I was going to write that we would need to care about displayLilyMusic as well, though checking again I noticed: \void \displayLilyMusic \new Voice { \applyContext #(lambda (ctx) (display ctx)) b4 } with an older lily-build against guile-2.0.14 returns: \new Voice { \applyContext ##f b4 } A todays build with guile-2.2.6 returned: \new Voice { \applyContext #(lambda (ctx) (display ctx)) b4 } Which is nice. Not sure whether it's a lilypond or guile improvement. https://codereview.appspot.com/581610043/