diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-19 22:40:31 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-20 06:07:33 +0100 |
commit | f0f420be3d80366a54598f6742ef73114651f3c4 (patch) | |
tree | 52566b5c493fe18b22d28a32214d21d9b8152960 /qbuffers.cpp | |
parent | 6bf314fa5193872e26e3eaabe222ee1e2a823c08 (diff) | |
download | sciteco-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 'qbuffers.cpp')
-rw-r--r-- | qbuffers.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/qbuffers.cpp b/qbuffers.cpp index 3c11ab0..e90b505 100644 --- a/qbuffers.cpp +++ b/qbuffers.cpp @@ -164,11 +164,16 @@ QRegister::execute(void) throw (State::Error) try { macro_execute(str); + if (Goto::skip_label) + throw State::Error("Label \"%s\" not found", + Goto::skip_label); } catch (...) { g_free(str); macro_pc = parent_pc; States::current = parent_state; Goto::table = parent_goto_table; + g_free(Goto::skip_label); + Goto::skip_label = NULL; throw; /* forward */ } |