summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-05-12 07:36:07 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-05-12 07:36:07 -0700
commitc9ad2400fa6e484951a1caedacfcae1175506a40 (patch)
treee2a07da2ecc71aa8b0975c4c1a08058cea70e248 /eval.c
parentea4b65ff500e829bc411a2dc666f9f0f85d3a2fd (diff)
downloadtxr-c9ad2400fa6e484951a1caedacfcae1175506a40.tar.gz
txr-c9ad2400fa6e484951a1caedacfcae1175506a40.tar.bz2
txr-c9ad2400fa6e484951a1caedacfcae1175506a40.zip
* eval.c (env_vb_to_fb): Allow null env argument. This
case occurs when (flet () ...) is expanded.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/eval.c b/eval.c
index c82b4e34..beecc139 100644
--- a/eval.c
+++ b/eval.c
@@ -139,9 +139,11 @@ val env_vbind(val env, val sym, val obj)
static void env_vb_to_fb(val env)
{
- type_check(env, ENV);
- env->e.fbindings = env->e.vbindings;
- env->e.vbindings = nil;
+ if (env) {
+ type_check(env, ENV);
+ env->e.fbindings = env->e.vbindings;
+ env->e.vbindings = nil;
+ }
}
noreturn static val eval_error(val form, val fmt, ...)