The construct #{...#} generates a call to a function embedded-lilypond.
After issue 4422, this call passed (*parser*)/(*location*) arguments
instead of the previous parser/location arguments needed for accessing
the respective values in a different lexical environment. But since the
respective values are stored in GUILE fluids rather than in lexical
variables now, they are already passed implicitly and unnecessary as
function parameters.
(set! closures
(cons `(cons ,p (lambda () ,expr))
closures)))))))))))
- (define (embedded-lilypond lily-string filename line
- closures location)
- (let* ((clone (ly:parser-clone closures location))
+ (define (embedded-lilypond lily-string filename line closures)
+ (let* ((clone (ly:parser-clone closures (*location*)))
(result (ly:parse-string-expression clone lily-string
filename line)))
(if (ly:parser-has-error? clone)
result))
(list embedded-lilypond
lily-string filename line
- (cons 'list (reverse! closures))
- (list *location*))))
+ (cons 'list (reverse! closures)))))
(read-hash-extend #\{ read-lily-expression)