summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-02-03 02:07:47 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-02-03 02:07:47 -0800
commit6de0cf077207362f917d8e26df4c9670a0aeb52a (patch)
tree7eec2bb8113ee38adb958aa912d02e543b55dbc6 /ChangeLog
parent5282f0ca564531363e47cac16f27eb74d963b427 (diff)
downloadtxr-6de0cf077207362f917d8e26df4c9670a0aeb52a.tar.gz
txr-6de0cf077207362f917d8e26df4c9670a0aeb52a.tar.bz2
txr-6de0cf077207362f917d8e26df4c9670a0aeb52a.zip
Tighten up environment visibility semantics of default argument
init forms, while streamlining the implementation. * eval.c (bind_args): Get rid of opt_init_parm array hack; turns out we already have a useful function for extending an environment object, namely env_vbind: hitherto unused! We now make a blank environment upfront and extend it destructively with env_vbind. Except that after evaluating an init form, we create a new environment: this is in case a lexical closure was made by the init form, in which event we don't want to be destructively manipulating the environment any more. * txr.1: Clarified.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog16
1 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b5056ac5..912e2854 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
2014-02-03 Kaz Kylheku <kaz@kylheku.com>
+ Tighten up environment visibility semantics of default argument
+ init forms, while streamlining the implementation.
+
+ * eval.c (bind_args): Get rid of opt_init_parm array hack;
+ turns out we already have a useful function for extending an
+ environment object, namely env_vbind: hitherto unused! We now make a
+ blank environment upfront and extend it destructively with env_vbind.
+ Except that after evaluating an init form, we create a new environment:
+ this is in case a lexical closure was made by the init form, in which
+ event we don't want to be destructively manipulating the environment
+ any more.
+
+ * txr.1: Clarified.
+
+2014-02-03 Kaz Kylheku <kaz@kylheku.com>
+
* eval.c (eval_init): Fix incorrect registration of
list_star_intrinsic, diagnosed by compiler.