From 1878f60ebdacdd52fb05a171eb07b4bc91e9704c Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 3 Aug 2015 09:59:49 -0700 Subject: 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. --- glob.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'glob.c') diff --git a/glob.c b/glob.c index c11b7f10..cfdb23f5 100644 --- a/glob.c +++ b/glob.c @@ -75,30 +75,30 @@ void glob_init(void) { prot1(&s_errfunc); reg_fun(intern(lit("glob"), user_package), func_n3o(glob_wrap, 1)); - reg_var(intern(lit("glob-err"), user_package), num_fast(GLOB_ERR)); - reg_var(intern(lit("glob-mark"), user_package), num_fast(GLOB_MARK)); - reg_var(intern(lit("glob-nosort"), user_package), num_fast(GLOB_NOSORT)); - reg_var(intern(lit("glob-nocheck"), user_package), num_fast(GLOB_NOCHECK)); - reg_var(intern(lit("glob-noescape"), user_package), num_fast(GLOB_NOESCAPE)); + reg_varl(intern(lit("glob-err"), user_package), num_fast(GLOB_ERR)); + reg_varl(intern(lit("glob-mark"), user_package), num_fast(GLOB_MARK)); + reg_varl(intern(lit("glob-nosort"), user_package), num_fast(GLOB_NOSORT)); + reg_varl(intern(lit("glob-nocheck"), user_package), num_fast(GLOB_NOCHECK)); + reg_varl(intern(lit("glob-noescape"), user_package), num_fast(GLOB_NOESCAPE)); #ifdef GLOB_PERIOD - reg_var(intern(lit("glob-period"), user_package), num_fast(GLOB_PERIOD)); + reg_varl(intern(lit("glob-period"), user_package), num_fast(GLOB_PERIOD)); #endif #ifdef GLOB_ALTDIRFUNC - reg_var(intern(lit("glob-altdirfunc"), user_package), num_fast(GLOB_ALTDIRFUNC)); + reg_varl(intern(lit("glob-altdirfunc"), user_package), num_fast(GLOB_ALTDIRFUNC)); #endif #ifdef GLOB_BRACE - reg_var(intern(lit("glob-brace"), user_package), num_fast(GLOB_BRACE)); + reg_varl(intern(lit("glob-brace"), user_package), num_fast(GLOB_BRACE)); #endif #ifdef GLOB_NOMAGIC - reg_var(intern(lit("glob-nomagic"), user_package), num_fast(GLOB_NOMAGIC)); + reg_varl(intern(lit("glob-nomagic"), user_package), num_fast(GLOB_NOMAGIC)); #endif #ifdef GLOB_TILDE - reg_var(intern(lit("glob-tilde"), user_package), num_fast(GLOB_TILDE)); + reg_varl(intern(lit("glob-tilde"), user_package), num_fast(GLOB_TILDE)); #endif #ifdef GLOB_TILDE_CHECK - reg_var(intern(lit("glob-tilde-check"), user_package), num_fast(GLOB_TILDE_CHECK)); + reg_varl(intern(lit("glob-tilde-check"), user_package), num_fast(GLOB_TILDE_CHECK)); #endif #ifdef GLOB_ONLYDIR - reg_var(intern(lit("glob-onlydir"), user_package), num_fast(GLOB_ONLYDIR)); + reg_varl(intern(lit("glob-onlydir"), user_package), num_fast(GLOB_ONLYDIR)); #endif } -- cgit v1.2.3