diff options
-rw-r--r-- | eval.c | 8 | ||||
-rw-r--r-- | parser.y | 8 | ||||
-rw-r--r-- | unwind.c | 7 | ||||
-rw-r--r-- | unwind.h | 1 |
4 files changed, 12 insertions, 12 deletions
@@ -3929,16 +3929,12 @@ val expand(val form, val menv) return ret; } -static val warning_continue(val exc, val arg) -{ - uw_throw(continue_s, nil); -} - static val no_warn_expand(val form, val menv) { val ret; uw_frame_t uw_handler; - uw_push_handler(&uw_handler, cons(warning_s, nil), func_n2(warning_continue)); + uw_push_handler(&uw_handler, cons(warning_s, nil), + func_n1v(uw_muffle_warning)); ret = expand(form, menv); uw_pop_frame(&uw_handler); return ret; @@ -1740,11 +1740,6 @@ void yybadtoken(parser_t *parser, int tok, val context) yyerrorf(scnr, lit("unexpected character ~a"), chr(tok), nao); } -static val warning_continue(val exc, val arg) -{ - uw_throw(continue_s, nil); -} - int parse_once(val stream, val name, parser_t *parser) { int res = 0; @@ -1759,7 +1754,8 @@ int parse_once(val stream, val name, parser_t *parser) parser->stream = stream; parser->name = name; - uw_push_handler(&uw_handler, cons(warning_s, nil), func_n2(warning_continue)); + uw_push_handler(&uw_handler, cons(warning_s, nil), + func_n1v(uw_muffle_warning)); uw_catch_begin(cons(error_s, nil), esym, eobj); @@ -406,6 +406,13 @@ val uw_invoke_catch(val catch_frame, val sym, struct args *args) abort(); } +val uw_muffle_warning(val exc, struct args *args) +{ + (void) exc; + (void) args; + uw_throw(continue_s, nil); +} + void uw_push_cont_copy(uw_frame_t *fr, mem_t *ptr, void (*copy)(mem_t *ptr, int parent)) { @@ -143,6 +143,7 @@ uw_frame_t *uw_current_exit_point(void); val uw_get_frames(void); val uw_find_frame(val extype, val frtype); val uw_invoke_catch(val catch_frame, val sym, struct args *); +val uw_muffle_warning(val exc, struct args *); val uw_capture_cont(val tag, val fun, val ctx_form); void uw_push_cont_copy(uw_frame_t *, mem_t *ptr, void (*copy)(mem_t *ptr, int parent)); |