From d30cc154540a6596290f85ec14510c90233bd1b1 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 2 Jan 2007 22:12:23 +0100 Subject: [PATCH] Allow tests for error messages. Add ly:parser-clear-error and use it to clear error if expect-error is set. --- lily/lily-parser-scheme.cc | 13 +++++++++++++ ly/init.ly | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lily/lily-parser-scheme.cc b/lily/lily-parser-scheme.cc index 305359c3f5..44e1011751 100644 --- a/lily/lily-parser-scheme.cc +++ b/lily/lily-parser-scheme.cc @@ -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; +} diff --git a/ly/init.ly b/ly/init.ly index 062ca06cbd..102233c5a4 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -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)) -- 2.39.5