diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-05-08 11:16:45 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-05-08 11:16:45 -0700 |
commit | 1d5bfd6ebd47444034478bdce836946085ca1367 (patch) | |
tree | 819c492da86117960837eff2322e9f8ffc41573a /ChangeLog | |
parent | 7025b2c547d3611301e3e6fde8422aaba2acfd3f (diff) | |
download | txr-1d5bfd6ebd47444034478bdce836946085ca1367.tar.gz txr-1d5bfd6ebd47444034478bdce836946085ca1367.tar.bz2 txr-1d5bfd6ebd47444034478bdce836946085ca1367.zip |
Crack down on redefinitions of built-ins.
* eval.c (builtin, eval_initing): New global variable.
(op_defun, op_defmacro): During initialization, record functions
and macros in builtin hash.
(builtin_reject_test): New static function.
(expand_macrolet): Perform builtin reject test for fbind, lbind,
and macrolet.
(regfun, reg_mac): Add symbol to builtin hash.
(eval_init): GC-protect new hash table variable and initialize it.
Set eval_initing to true over eval initialization.
The flip function is renamed fo flipargs.
(eval_compat_fixup): New function, for dealing with the
operator/function conflict over flip.
* eval.h (eval_compat_fixup): Declared.
* lib.c (compat_fixup): Call eval_compat_fixup.
* tests/011/macros-2.txr: This test was defining a macro called
while which is now illegal. Renamed to whilst.
* tests/011/macros-2.expected: Regenerated.
* txr.1: Function flip renamed to flipargs and documented in
Compatibility section.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -1,3 +1,32 @@ +2015-05-08 Kaz Kylheku <kaz@kylheku.com> + + Crack down on redefinitions of built-ins. + + * eval.c (builtin, eval_initing): New global variable. + (op_defun, op_defmacro): During initialization, record functions + and macros in builtin hash. + (builtin_reject_test): New static function. + (expand_macrolet): Perform builtin reject test for fbind, lbind, + and macrolet. + (regfun, reg_mac): Add symbol to builtin hash. + (eval_init): GC-protect new hash table variable and initialize it. + Set eval_initing to true over eval initialization. + The flip function is renamed fo flipargs. + (eval_compat_fixup): New function, for dealing with the + operator/function conflict over flip. + + * eval.h (eval_compat_fixup): Declared. + + * lib.c (compat_fixup): Call eval_compat_fixup. + + * tests/011/macros-2.txr: This test was defining a macro called + while which is now illegal. Renamed to whilst. + + * tests/011/macros-2.expected: Regenerated. + + * txr.1: Function flip renamed to flipargs and documented in + Compatibility section. + 2015-05-07 Kaz Kylheku <kaz@kylheku.com> * Makefile (LISP_TO_C_STRING): Strip comments, but not comment lines, |