summaryrefslogtreecommitdiffstats
path: root/glob.c
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 /glob.c
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 'glob.c')
0 files changed, 0 insertions, 0 deletions