diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-08-03 09:59:49 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-08-03 09:59:49 -0700 |
commit | 1878f60ebdacdd52fb05a171eb07b4bc91e9704c (patch) | |
tree | f794b0600c8a68c5e162f1aae53d5e230bcebd30 /genvim.txr | |
parent | eb657afe78925f7905bc3ca7093bb5e5f441bf4f (diff) | |
download | txr-1878f60ebdacdd52fb05a171eb07b4bc91e9704c.tar.gz txr-1878f60ebdacdd52fb05a171eb07b4bc91e9704c.tar.bz2 txr-1878f60ebdacdd52fb05a171eb07b4bc91e9704c.zip |
Switching some globals to lexical and changing some names.
* arith.c (arith-init): Changing *flo-...* from special to
lexical, and adding un-earmuffed variants. The earmuffed
versions are obsolescent.
Adding %pi% and %e% global lexicals. Earmuffed versions are
also made global lexical, and obsolescent.
* eval.c (lookup_global_var, lookup_global_var_l): New functions.
(lookup_var): Uses lookup_global_var.
(reg_varl): New function.
(reg_var): Uses reg_var.
(eval_init): Register global lexicals user-package, system-package
and keyword-package. Old symbols with earmuffs are obsoleted,
and also turned into global lexicals.
(top-vb, top-fb): Changed to lexical.
* eval.h (lookup_global_var, lookup_global_var_l, reg_varl):
Declared.
* genvim.txr: Scan ver.tl so that the lib-version variable
is included. Extract reg_varl calls.
* glob.c (glob_init): glob-err and other variables made lexical.
* lib.c (get_user_package, get_system_package, get_keyword_package):
Use lookup_global_var_l to avoid searching dynamic scope for
lexicals which cannot be dynamically rebound.
* share/txr/stdlib/ver.tl (lib-version): New global lexical variable.
(*lib-version*): Turned lexical. Obsolescent.
* signal.c (sig-init): sig-* variables turned lexical.
* sysif.c (sysif-init): s-*, poll-* and w-* variables turned lexical.
* syslog.c (syslog-init): log-* variables turned lexical.
* txr.c (sysroot-init): stdlib and *txr-version* variables turned
lexical. txr-version variable added, and *txr-version* is
obsolescent.
(txr-main): self-path variable added. *self-path* turns lexical
and is obsolescent.
* txr.1: Documentation updated. Lexical variables not referred
to as special. Special variables referred to as special.
Diffstat (limited to 'genvim.txr')
-rw-r--r-- | genvim.txr | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -10,7 +10,7 @@ static void dir_tables_init(void) @(bind lib "share/txr/stdlib") @(next @(open-files ^(#*"eval.c rand.c signal.c stream.c gc.c glob.c" #*"syslog.c filter.c txr.c arith.c unwind.c cadr.c" - ,*#`sysif.c @lib/place.tl @lib/ifa.tl` + ,*#`sysif.c @lib/place.tl @lib/ifa.tl @lib/ver.tl` ,*#`@lib/cadr.tl @lib/with-resources.tl` ,*#`@lib/txr-case.tl`))) @(collect) @@ -28,12 +28,12 @@ static void dir_tables_init(void) @ (or) reg_fun(@{txl-sym}_s,@(skip) @ (or) - reg_var(@{txl-sym-special}_s,@(skip) + reg_var@/l?/(@{txl-sym-special}_s,@(skip) @ (bind txl-sym `*@{txl-sym-special}*`) @ (or) - @/ */reg_var(@(skip)intern(lit("@{txl-sym}")@(skip) + @/ *reg_varl?/(@(skip)intern(lit("@{txl-sym}")@(skip) @ (or) -@/ *\((defun|defvar|defmacro)/ @{txl-sym} @(skip) +@/ *\((defun|defvarl?|defmacro)/ @{txl-sym} @(skip) @ (end) @ (set txl-sym @(regsub #/_/ #\- txl-sym)) @ (end) |