bugfix: forgot to change with_exception_handlers in prev^2 commit
This commit is contained in:
parent
94a350ad83
commit
4ceee54fa7
2
Makefile
2
Makefile
|
@ -34,7 +34,7 @@ include $(sort $(wildcard contrib/*/nitro.mk))
|
|||
bootstrap: bin/picrin-bootstrap
|
||||
|
||||
bin/picrin-bootstrap:
|
||||
test -f bin/picrin-bootstrap || { $(MAKE) -C lib mini-picrin && mv lib/mini-picrin bin/picrin-bootstrap; }
|
||||
test -f bin/picrin-bootstrap || { $(MAKE) -C lib mini-picrin && cp lib/mini-picrin bin/picrin-bootstrap; }
|
||||
|
||||
lib/mini-picrin: FORCE
|
||||
$(MAKE) -C lib mini-picrin
|
||||
|
|
11
lib/error.c
11
lib/error.c
|
@ -127,9 +127,14 @@ pic_make_error(pic_state *pic, const char *type, const char *msg, pic_value irrs
|
|||
static pic_value
|
||||
with_exception_handlers(pic_state *pic, pic_value handlers, pic_value thunk)
|
||||
{
|
||||
pic_value alist, var = pic_exc(pic);
|
||||
alist = pic_list(pic, 1, pic_cons(pic, var, handlers));
|
||||
return pic_funcall(pic, "with-dynamic-environment", 2, alist, thunk);
|
||||
pic_value var, env, r;
|
||||
var = pic_exc(pic);
|
||||
env = pic_make_weak(pic);
|
||||
pic_weak_set(pic, env, var, handlers);
|
||||
pic->dyn_env = pic_cons(pic, env, pic->dyn_env);
|
||||
r = pic_call(pic, thunk, 0);
|
||||
pic->dyn_env = pic_cdr(pic, pic->dyn_env);
|
||||
return r;
|
||||
}
|
||||
|
||||
static pic_value
|
||||
|
|
Loading…
Reference in New Issue