]> git.donarmstrong.com Git - lilypond.git/commitdiff
ly:parser-include-string can't be executed asynchronously
authorDavid Kastrup <dak@gnu.org>
Mon, 21 Nov 2011 16:48:07 +0000 (17:48 +0100)
committerDavid Kastrup <dak@gnu.org>
Mon, 21 Nov 2011 16:49:30 +0000 (17:49 +0100)
lily/lexer.ll
lily/lily-parser-scheme.cc
ly/init.ly

index 32fa5f2b6876cf9bec0fed5ba2a2b2576504180e..462ed8988e20e1e3e60060926cee908c652e35b7 100644 (file)
@@ -392,11 +392,6 @@ BOM_UTF8   \357\273\277
        }
        char_count_stack_.back () += n;
 
-       for (size_t i = 0; i < pending_string_includes_.size (); i++)
-               new_input ("<included string>", pending_string_includes_[i],
-                          parser_->sources_);
-       pending_string_includes_.clear ();
-               
        yylval.scm = sval;
        return SCM_TOKEN;
 }
@@ -415,7 +410,14 @@ BOM_UTF8   \357\273\277
        }
        char_count_stack_.back () += n;
 
-       return scan_scm_id (sval);
+       for (size_t i = 0; i < pending_string_includes_.size (); i++)
+               new_input ("<included string>", pending_string_includes_[i],
+                          parser_->sources_);
+       pending_string_includes_.clear ();
+               
+       int token = scan_scm_id (sval);
+       if (!scm_is_eq (yylval.scm, SCM_UNSPECIFIED))
+         return token;
 }
 
 <INITIAL,notes,lyrics>{ 
index 50f02051b2cb70fdd2a1604e67754a0108464d91..596987dd1e7b6b3c289752b38ebba687aeb49a16 100644 (file)
@@ -228,7 +228,8 @@ LY_DEFINE (ly_parse_string_expression, "ly:parse-string-expression",
 LY_DEFINE (ly_parser_include_string, "ly:parser-include-string",
            2, 0, 0, (SCM parser_smob, SCM ly_code),
            "Include the string @var{ly-code} into the input stream"
-           " for @var{parser-smob}.")
+           " for @var{parser-smob}.  Can only be used in immediate"
+          " Scheme expressions (@code{$} instead of @code{#}).")
 {
   LY_ASSERT_SMOB (Lily_parser, parser_smob, 1);
   Lily_parser *parser = unsmob_lily_parser (parser_smob);
index 380d9d2a0b2944265d07a773ef365205dee7d1d9..25c2ba0afb8326d4c4d615bda8af38f6d97f9a95 100644 (file)
@@ -4,7 +4,7 @@
 #(if (and #t (defined? 'set-debug-cell-accesses!))
   (set-debug-cell-accesses! 5000))
 
-\version "2.14.0"
+\version "2.15.18"
 
 \include "declarations-init.ly"
 
@@ -23,7 +23,7 @@
 #(define book-output-suffix #f)
 #(use-modules (scm clip-region))
 
-#(if (ly:get-option 'include-settings)
+$(if (ly:get-option 'include-settings)
   (ly:parser-include-string parser
     (format #f "\\include \"~a\"" (ly:get-option 'include-settings))))