summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-05-08 11:16:45 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-05-08 11:16:45 -0700
commit1d5bfd6ebd47444034478bdce836946085ca1367 (patch)
tree819c492da86117960837eff2322e9f8ffc41573a /ChangeLog
parent7025b2c547d3611301e3e6fde8422aaba2acfd3f (diff)
downloadtxr-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--ChangeLog29
1 files changed, 29 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ff6448f..955c60a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,