aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-19 22:40:31 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-20 06:07:33 +0100
commitf0f420be3d80366a54598f6742ef73114651f3c4 (patch)
tree52566b5c493fe18b22d28a32214d21d9b8152960 /parser.cpp
parent6bf314fa5193872e26e3eaabe222ee1e2a823c08 (diff)
downloadsciteco-f0f420be3d80366a54598f6742ef73114651f3c4.tar.gz
errors when label cannot be found at end of macro invocation
* on the command line the line terminating <ESC> is not accepted when a label was not found
Diffstat (limited to 'parser.cpp')
-rw-r--r--parser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/parser.cpp b/parser.cpp
index 5d41b5e..59305bc 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -81,8 +81,13 @@ file_execute(const gchar *filename)
try {
macro_execute(p ? p+1 : macro);
+ if (Goto::skip_label)
+ throw State::Error("Label \"%s\" not found",
+ Goto::skip_label);
} catch (...) {
g_free(macro);
+ g_free(Goto::skip_label);
+ Goto::skip_label = NULL;
return false;
}
g_free(macro);