summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-08-03 07:13:49 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-08-03 07:13:49 -0700
commitf135cd3637d39c46d21222f48178212b58fdad76 (patch)
tree148e4cec2a540bd751806071856f49e5da07cdcc /ChangeLog
parent64d3f8fcc8ef6e83e6fd789614e1aadfa526d18d (diff)
downloadtxr-f135cd3637d39c46d21222f48178212b58fdad76.tar.gz
txr-f135cd3637d39c46d21222f48178212b58fdad76.tar.bz2
txr-f135cd3637d39c46d21222f48178212b58fdad76.zip
Introducing global lexicals: defvarl, defparml.
* eval.c (defvarl_s, defparm_s, defparml_s, sys_mark_special_s): New symbol variables. (mark_special): Return val rather than void, since it's hoisted into Lisp domain now with func_n1. (op_defvar): Renamed to op_defvarl, and doesn't call mark_special. defvarl is now the special form for defining variables, and special marking is an embellishment added by macros. (me_defparm): Renamed to me_def_variable. Handles defvar, defparm and defparml. (do_expand): Expand defvarl, rather than defvar. (eval_init): Intern defvarl, defparm, defparml and mark-special symbols, and initialize corresponding globals. Register defvarl special operator, retiring defvar. Register defparm to me_def_variable, and register defvar and defparml to the same. * txr.1: Document support for global lexical scopes and the new macros.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog23
1 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8c6be763..9a0ee3b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2015-08-03 Kaz Kylheku <kaz@kylheku.com>
+
+ Introducing global lexicals: defvarl, defparml.
+
+ * eval.c (defvarl_s, defparm_s, defparml_s, sys_mark_special_s): New
+ symbol variables.
+ (mark_special): Return val rather than void, since it's hoisted
+ into Lisp domain now with func_n1.
+ (op_defvar): Renamed to op_defvarl, and doesn't call mark_special.
+ defvarl is now the special form for defining variables, and special
+ marking is an embellishment added by macros.
+ (me_defparm): Renamed to me_def_variable. Handles defvar, defparm
+ and defparml.
+ (do_expand): Expand defvarl, rather than defvar.
+ (eval_init): Intern defvarl, defparm, defparml and mark-special
+ symbols, and initialize corresponding globals.
+ Register defvarl special operator, retiring defvar.
+ Register defparm to me_def_variable, and register defvar and
+ defparml to the same.
+
+ * txr.1: Document support for global lexical scopes and the
+ new macros.
+
2015-08-02 Kaz Kylheku <kaz@kylheku.com>
Support lstat and fstat.