From: David Kastrup Date: Fri, 12 Jun 2015 07:51:40 +0000 (+0200) Subject: Issue 4443: Don't pass current parser/location into #{...#} call X-Git-Tag: release/2.19.22-1~43 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2fd5db04cdf6109e2c632337e13f29261df147b7;p=lilypond.git Issue 4443: Don't pass current parser/location into #{...#} call 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. --- diff --git a/scm/parser-ly-from-scheme.scm b/scm/parser-ly-from-scheme.scm index 3a73e28c35..e0ee2961cd 100644 --- a/scm/parser-ly-from-scheme.scm +++ b/scm/parser-ly-from-scheme.scm @@ -65,9 +65,8 @@ from @var{port} and return the corresponding Scheme music expression. (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) @@ -75,7 +74,6 @@ from @var{port} and return the corresponding Scheme music expression. result)) (list embedded-lilypond lily-string filename line - (cons 'list (reverse! closures)) - (list *location*)))) + (cons 'list (reverse! closures))))) (read-hash-extend #\{ read-lily-expression)