;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 2004--2011 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;;; Copyright (C) 2004--2012 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
(port-line port))
(set-port-column! copycat
(port-column port))
+ (if (char=? (peek-char port) #\@)
+ (read-char copycat))
(read copycat))))
;; kill unused lookahead, it has been
;; written out already
(set! closures
(cons `(cons ,p (lambda () ,expr))
closures)))))))))))
- (define (embedded-lilypond parser lily-string filename line closures)
- (let* ((clone (ly:parser-clone parser closures))
+ (define (embedded-lilypond parser lily-string filename line
+ closures location)
+ (let* ((clone (ly:parser-clone parser closures location))
(result (ly:parse-string-expression clone lily-string
filename line)))
(if (ly:parser-has-error? clone)
(ly:parser-error parser (_ "error in #{ ... #}")))
result))
- (list embedded-lilypond 'parser lily-string filename line (cons 'list (reverse! closures)))))
+ (list embedded-lilypond
+ 'parser lily-string filename line
+ (cons 'list (reverse! closures))
+ 'location)))
(read-hash-extend #\{ read-lily-expression)