Christian Hitz
David Bobroff
Eduardo Vieira
+Georg Dummer
Jay Anderson
Jean-Marie Mouchel
Kazuhiro Suzuki
<*><<EOF>> {
if (is_main_input_)
{
- /* 2 = init.ly + current file. */
- is_main_input_ = include_stack_.size () >= 2;
+ /* 2 = init.ly + current file.
+ > because we're before closing, but is_main_input_ should
+ reflect after.
+ */
+ is_main_input_ = include_stack_.size () > 2;
if (!close_input ())
/* Returns YY_NULL */
yyterminate ();
return SCM_UNSPECIFIED;
}
+
+LY_DEFINE (ly_parser_has_error_p, "ly:parser-has-error?",
+ 1, 0, 0, (SCM parser),
+ "Does @var{parser} have an error flag?")
+{
+ Lily_parser *p = unsmob_lily_parser (parser);
+ SCM_ASSERT_TYPE (p, parser, SCM_ARG1, __FUNCTION__, "Lilypond parser");
+
+ return scm_from_bool (p->error_level_ || p->lexer_->error_level_);
+}
(apply ly:make-book $defaultpaper $defaultheader toplevel-scores)))
-#(if expect-error
- (ly:parser-clear-error parser))
+#(if (eq? expect-error (ly:parser-has-error? parser))
+ (ly:parser-clear-error parser)
+ (ly:parser-error parser (_ "expected error, but none found")))