diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-02-25 01:47:29 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-02-25 01:47:29 -0800 |
commit | 3fb190507f1f8cc5ad667abd2b84748f8e703242 (patch) | |
tree | 552c8fb3c41f3257aaef7c120dd84684c7dbb34b /eval.c | |
parent | fee5943718c28f2b9e422bf0564ba35870e55d25 (diff) | |
download | txr-3fb190507f1f8cc5ad667abd2b84748f8e703242.tar.gz txr-3fb190507f1f8cc5ad667abd2b84748f8e703242.tar.bz2 txr-3fb190507f1f8cc5ad667abd2b84748f8e703242.zip |
New ignerr macro.
* eval.c (me_ignerr): New static function.
(eval_init): Registered ignerr macro.
* txr.1: Documented.
* tl.vim, txr.vim: Regenerated.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -2768,6 +2768,11 @@ static val me_opip(val form, val menv) return cons(dwim_s, cons(chain_chand, transformed_forms)); } +static val me_ignerr(val form, val menv) +{ + return list(catch_s, cons(progn_s, rest(form)), + list(error_s, error_s, nao), nao); +} static val expand_catch_clause(val form, val menv) { @@ -3873,6 +3878,7 @@ void eval_init(void) reg_mac(intern(lit("tc"), user_package), me_tc); reg_mac(opip_s, me_opip); reg_mac(oand_s, me_opip); + reg_mac(intern(lit("ignerr"), user_package), me_ignerr); reg_fun(cons_s, func_n2(cons)); reg_fun(intern(lit("make-lazy-cons"), user_package), func_n1(make_lazy_cons)); |