diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-08-03 07:13:49 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-08-03 07:13:49 -0700 |
commit | f135cd3637d39c46d21222f48178212b58fdad76 (patch) | |
tree | 148e4cec2a540bd751806071856f49e5da07cdcc /glob.c | |
parent | 64d3f8fcc8ef6e83e6fd789614e1aadfa526d18d (diff) | |
download | txr-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 'glob.c')
0 files changed, 0 insertions, 0 deletions