diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-02-06 06:22:51 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-02-06 06:22:51 -0800 |
commit | 3286f2ca94da081bca5ddeffdfcc6ec92adf237c (patch) | |
tree | bfd61ea966ecf4d7094cd2e1a4178b6b996f64c9 /genvim.txr | |
parent | 30c008e52d3c911ff6315c22633fbfec34487003 (diff) | |
download | txr-3286f2ca94da081bca5ddeffdfcc6ec92adf237c.tar.gz txr-3286f2ca94da081bca5ddeffdfcc6ec92adf237c.tar.bz2 txr-3286f2ca94da081bca5ddeffdfcc6ec92adf237c.zip |
* unwind.c (unhandled_hook_s): New static variable.
(uw_throw): In the unhandled case, check if *unhandled-hook* variable
has a function, and use it instead of the default logic. If it's not a
function, abort with an error message. Clear it so that if the hook
function re-enters this code, it will not be used. Always exit now on
unhandled exceptions; do not abort.
(uw_late_init): New function.
* unwind.h (uw_late_init): Declared.
* lib.c (init): Call uw_late_init.
* txr.1: Documented *unhandled-hook*.
* genvim.txr: Scan the unwind.c file, since it has a reg_var now.
* tl.vim, txr.vim: Updated.
Diffstat (limited to 'genvim.txr')
-rw-r--r-- | genvim.txr | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -8,7 +8,8 @@ static void dir_tables_init(void) } @(end) @(next @(open-files '("eval.c" "rand.c" "signal.c" "stream.c" "gc.c" "glob.c" - "syslog.c" "filter.c" "txr.c" "arith.c" "sysif.c"))) + "syslog.c" "filter.c" "txr.c" "arith.c" "unwind.c" + "sysif.c"))) @(collect) @ (block) @ (cases) |