From 7a9357954d578ff451849e3c45e8576c1f13584d Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 22 Jul 2025 23:10:47 -0500 Subject: [PATCH] xo-reader: bugfix: only reset reader on error --- xo-reader/examples/exprreplxx/exprreplxx.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xo-reader/examples/exprreplxx/exprreplxx.cpp b/xo-reader/examples/exprreplxx/exprreplxx.cpp index 03410625..862a1d05 100644 --- a/xo-reader/examples/exprreplxx/exprreplxx.cpp +++ b/xo-reader/examples/exprreplxx/exprreplxx.cpp @@ -105,6 +105,11 @@ main() { } else if (error.is_error()) { cout << "parsing error (detected in " << error.src_function() << "): " << endl; error.report(cout); + + /* discard stashed remainder of input line + * (for nicely-formatted errors) + */ + rdr.reset_to_idle_toplevel(); break; } @@ -114,10 +119,6 @@ main() { /* here: input.empty() or error encountered */ - /* discard stashed remainder of input line - * (for nicely-formatted errors) - */ - rdr.reset_to_idle_toplevel(); } auto [expr, _1, _2, error] = rdr.read_expr(input, true /*eof*/);