diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-05-12 07:36:07 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-05-12 07:36:07 -0700 |
commit | c9ad2400fa6e484951a1caedacfcae1175506a40 (patch) | |
tree | e2a07da2ecc71aa8b0975c4c1a08058cea70e248 | |
parent | ea4b65ff500e829bc411a2dc666f9f0f85d3a2fd (diff) | |
download | txr-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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval.c | 8 |
2 files changed, 10 insertions, 3 deletions
@@ -1,5 +1,10 @@ 2015-05-12 Kaz Kylheku <kaz@kylheku.com> + * eval.c (env_vb_to_fb): Allow null env argument. This + case occurs when (flet () ...) is expanded. + +2015-05-12 Kaz Kylheku <kaz@kylheku.com> + DWIM places must use Lisp-1 semantics. This really only affects code which does something like @@ -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, ...) |