diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | match.c | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -1,5 +1,12 @@ 2014-03-09 Kaz Kylheku <kaz@kylheku.com> + * match.c (v_trailer): Fix segfault. The code which + helps implement the special interaction between @(accept) and + @(trailer) was not handling the situation when there is not + current unwind exit point. + +2014-03-09 Kaz Kylheku <kaz@kylheku.com> + * parser.l: Syntactic tweak. Do not allow the "extra" constituent chars # or ^ to start the symbol name after an @. Prior to this change @^a is a "meta-symbol" whose name is "^a", @@ -2129,7 +2129,7 @@ static val v_trailer(match_files_ctx *c) */ uw_unwind { uw_frame_t *ex = uw_current_exit_point(); - if (ex->uw.type == UW_BLOCK && ex->bl.protocol == accept_s) + if (ex && ex->uw.type == UW_BLOCK && ex->bl.protocol == accept_s) rplacd(ex->bl.result, cons(c->data, c->data_lineno)); } |