]> git.donarmstrong.com Git - lilypond.git/commitdiff
Allow tests for error messages.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 2 Jan 2007 21:12:23 +0000 (22:12 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 2 Jan 2007 21:12:23 +0000 (22:12 +0100)
Add ly:parser-clear-error and use it to clear error if expect-error is set.

lily/lily-parser-scheme.cc
ly/init.ly

index 305359c3f57905180cf374740c39e0c64dadb27a..44e101175133c5a603513a7c8531d0293decbf3a 100644 (file)
@@ -271,3 +271,16 @@ LY_DEFINE (ly_parser_error, "ly:parser-error",
 
   return parser;
 }
+
+LY_DEFINE (ly_parser_clear_error, "ly:parser-clear-error",
+          1, 0, 0, (SCM parser),
+          "Clear the error flag for the parser.")
+{
+  Lily_parser *p = unsmob_lily_parser (parser);
+  SCM_ASSERT_TYPE (p, parser, SCM_ARG1, __FUNCTION__, "Lilypond parser");
+
+  p->error_level_ = 0;
+  p->lexer_->error_level_ = 0;
+  
+  return SCM_UNSPECIFIED;
+}
index 062ca06cbdfdfb4c5780fbc7e6732d27e5038035..102233c5a4332d8ed6d3edf4e860abe3899d0416 100644 (file)
@@ -19,7 +19,7 @@
 #(define output-count 0) 
 #(define $defaultheader #f)
 #(define version-seen #f)
-
+#(define expect-error #f) 
 
 #(use-modules (scm clip-region))
 \maininput
@@ -44,3 +44,7 @@
     toplevel-book-handler)
    parser
    (apply ly:make-book $defaultpaper $defaultheader toplevel-scores)))
+
+
+#(if expect-error
+  (ly:parser-clear-error parser))