summaryrefslogtreecommitdiffstats
path: root/unwind.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-02-10 15:32:17 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-02-10 15:32:17 -0800
commit491d594929405dd79e020f68138a10dc9ac10ae7 (patch)
tree616d9d8116e7212e2b016bf0977b2872824cc674 /unwind.h
parent39655edfb062034a76c0b880bf810d14d9047baa (diff)
downloadtxr-491d594929405dd79e020f68138a10dc9ac10ae7.tar.gz
txr-491d594929405dd79e020f68138a10dc9ac10ae7.tar.bz2
txr-491d594929405dd79e020f68138a10dc9ac10ae7.zip
Use non-hacky representation for deferrable warnings.
Deferrable warnings now get their own subtype, defr-warning. The tag is a regular argument: no funny dotted argument list. * eval.c (eval_defr_warn): Throw new style deferrable warning. (me_op, no_warn_expand): Catch defr-warning rather than warning. Use uw_muffle_warning to suppress it. (gather_free_refs): Parse new representation of deferrable warning. (expand_with_free_refs): Catch defr-warning rather than warning. * lib.c (defr_warning_s): New symbol variable defined. (obj_init): Initialize defr_warning_s. * lib.h (defr_warning_s): Declared. * share/txr/stdlib/error.tl (compile-defr-warning): Throw new-style deferrable warning. * unwind.c (uw_muffle_deferrable_warning): Function removed. (uw_throw): Bugfix: handle warnings by checking by subtype rather than exactly for the warning type. Distinguish deferrable warnings by subtype rather than argument list shape. (uw_defer_warning): Take the new style args and reconstruct the (msg . tag) representation for a deferred warning, so the other functions don't have to change. (uw_late_init): Register defr-warning as exception subtype of warning. * unwind.h (uw_muffle_deferrable_warning): Decl removed. * txr.1: Adjusted all documentation touching on the subject of the representation of deferrable warnings.
Diffstat (limited to 'unwind.h')
-rw-r--r--unwind.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/unwind.h b/unwind.h
index aeac00d6..7f8cec02 100644
--- a/unwind.h
+++ b/unwind.h
@@ -151,7 +151,6 @@ val uw_find_frame(val extype, val frtype);
val uw_find_frames(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_muffle_deferrable_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));