X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fparser-ly-from-scheme.scm;h=0bc41722cc821d54a9ef6fce097856c0b209cdf1;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=d7a83a1f4d513d8d496f17ca77a616b629c6fc23;hpb=9f3572d98bb948c9689cd1f75401a029451fa001;p=lilypond.git diff --git a/scm/parser-ly-from-scheme.scm b/scm/parser-ly-from-scheme.scm index d7a83a1f4d..0bc41722cc 100644 --- a/scm/parser-ly-from-scheme.scm +++ b/scm/parser-ly-from-scheme.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 2004--2006 Nicolas Sceaux +;;;; (c) 2004--2008 Nicolas Sceaux ;;;; Jan Nieuwenhuizen (define gen-lily-sym @@ -17,8 +17,9 @@ (char->integer #\0))))) (string->list (number->string var-idx))))))))) -(define-public (ly:parse-string-result str parser) +(define-public (parse-string-result str parser) "Parse `str', which is supposed to contain a music expression." + (ly:parser-parse-string parser (format #f "parseStringResult = \\notemode { ~a }" str)) @@ -77,10 +78,10 @@ character." ;; other caracters (else (display c out)))))))) - `(let ((parser-clone (ly:clone-parser parser))) + `(let ((parser-clone (ly:parser-clone parser))) ,@(map (lambda (binding) `(ly:parser-define! parser-clone ',(car binding) ,(cdr binding))) (reverse bindings)) - (ly:parse-string-result ,lily-string parser-clone))))) + (parse-string-result ,lily-string parser-clone))))) (read-hash-extend #\{ read-lily-expression)