]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/ly-from-scheme.scm
* scm/framework-tex.scm (font-load-command, define-fonts): Protect
[lilypond.git] / scm / ly-from-scheme.scm
index f7928db4b3e4965b862f8acb66479418e3aa658c..f80c161b88b7076a1e031bf4f4bd51d28df3ad7b 100644 (file)
@@ -46,7 +46,8 @@ character."
       (cond (;; $variable
              (and (symbol? form)
                   (string=? (substring (symbol->string form) 0 1) "$")
-                  (not (string=? (substring (symbol->string form) 1 2) "$")))
+                  (not (and (<= 2 (string-length (symbol->string form)))
+                           (string=? (substring (symbol->string form) 1 2) "$"))))
              (create-binding! (string->symbol (substring (symbol->string form) 1))))
             (;; atom
              (not (pair? form)) form)
@@ -70,7 +71,10 @@ character."
                              (display (read-char port) out))  ;; pop the second $
                             ;; a #scheme expression
                             ((char=? c #\#)
-                             (format out "#~a" (remove-dollars! (read port))))
+                             (let ((expr (read port)))
+                               (format out "#~s" (if (eq? '$ expr)
+                                                     (create-binding! (read port))
+                                                     (remove-dollars! expr)))))
                             ;; other caracters
                             (else
                              (display c out))))))))