diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-03 02:07:47 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-03 02:07:47 -0800 |
commit | 6de0cf077207362f917d8e26df4c9670a0aeb52a (patch) | |
tree | 7eec2bb8113ee38adb958aa912d02e543b55dbc6 /ChangeLog | |
parent | 5282f0ca564531363e47cac16f27eb74d963b427 (diff) | |
download | txr-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-- | ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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. |