From 1a18cf60f6f675fc6e0508cae87c4990706046e8 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 5 Apr 2018 22:53:59 -0700 Subject: lib: get rid of preprocessor macros for packages. The identifiers user_package, system_package and keyword_package are preprocessor symbols that expand to other preprocessor symbols for no good reason. Time to get rid of this. * lib.c (system_package_var, keyword_package_var, user_package_var): Variables renamed to system_package, keyword_package and user_package. (symbol_package, keywordp, obj_init): Fix variable references to follow rename. * lib.h (keyword_package, user_package, system_package): Macros removed. (system_package_var, keyword_package_var, user_package_var): Variables renamed. * eval.c (eval_init): Fix variable references to follow rename. * parser.y (sym_helper): Likewise. --- eval.c | 17 +++++++---------- lib.c | 10 +++++----- lib.h | 5 +---- parser.y | 2 +- 4 files changed, 14 insertions(+), 20 deletions(-) diff --git a/eval.c b/eval.c index 0db5d77b..fb310f44 100644 --- a/eval.c +++ b/eval.c @@ -6439,24 +6439,21 @@ void eval_init(void) reg_fun(intern(lit("fmt-flex"), system_package), func_n2v(fmt_flex)); reg_fun(intern(lit("fmt-join"), system_package), func_n0v(fmt_join)); - reg_varl(user_package_s = intern(lit("user-package"), user_package_var), - user_package_var); - reg_varl(system_package_s = intern(lit("system-package"), user_package_var), - system_package_var); - reg_varl(keyword_package_s = intern(lit("keyword-package"), user_package_var), - keyword_package_var); + reg_varl(user_package_s = intern(lit("user-package"), user_package), user_package); + reg_varl(system_package_s = intern(lit("system-package"), user_package), system_package); + reg_varl(keyword_package_s = intern(lit("keyword-package"), user_package), keyword_package); if (opt_compat && opt_compat <= 156) { - reg_varl(intern(lit("*user-package*"), user_package), user_package_var); - reg_varl(intern(lit("*system-package*"), user_package), system_package_var); - reg_varl(intern(lit("*keyword-package*"), user_package), keyword_package_var); + reg_varl(intern(lit("*user-package*"), user_package), user_package); + reg_varl(intern(lit("*system-package*"), user_package), system_package); + reg_varl(intern(lit("*keyword-package*"), user_package), keyword_package); } reg_fun(intern(lit("make-sym"), user_package), func_n1(make_sym)); reg_fun(intern(lit("gensym"), user_package), func_n1o(gensym, 0)); reg_var(gensym_counter_s = intern(lit("*gensym-counter*"), user_package), zero); reg_var(package_alist_s = intern(lit("*package-alist*"), user_package), packages); - reg_var(package_s = intern(lit("*package*"), user_package), user_package_var); + reg_var(package_s = intern(lit("*package*"), user_package), user_package); reg_fun(intern(lit("make-package"), user_package), func_n1(make_package)); reg_fun(intern(lit("find-package"), user_package), func_n1(find_package)); reg_fun(intern(lit("delete-package"), user_package), func_n1(delete_package)); diff --git a/lib.c b/lib.c index f2a62d11..e45cdafe 100644 --- a/lib.c +++ b/lib.c @@ -83,7 +83,7 @@ int async_sig_enabled = 0; val packages; -val system_package_var, keyword_package_var, user_package_var; +val system_package, keyword_package, user_package; val package_alist_s; val package_s, system_package_s, keyword_package_s, user_package_s; @@ -5117,7 +5117,7 @@ static void symbol_setname(val sym, val name) val symbol_package(val sym) { if (sym == nil) - return user_package_var; + return user_package; type_check(sym, SYM); return sym->s.package; } @@ -5635,7 +5635,7 @@ val symbolp(val sym) val keywordp(val sym) { - return tnil(sym && symbolp(sym) && sym->s.package == keyword_package_var); + return tnil(sym && symbolp(sym) && sym->s.package == keyword_package); } val get_current_package(void) @@ -10664,8 +10664,8 @@ static void obj_init(void) * symbols. */ - protect(&packages, &system_package_var, &keyword_package_var, - &user_package_var, &null_string, &nil_string, + protect(&packages, &system_package, &keyword_package, + &user_package, &null_string, &nil_string, &null_list, &equal_f, &eq_f, &eql_f, &car_f, &cdr_f, &null_f, &list_f, &identity_f, &less_f, &greater_f, &prog_string, &env_list, diff --git a/lib.h b/lib.h index b473b4dd..3f63acfe 100644 --- a/lib.h +++ b/lib.h @@ -441,13 +441,10 @@ INLINE val chr(wchar_t ch) #define lit(strlit) lit_noex(strlit) -#define keyword_package keyword_package_var -#define user_package user_package_var -#define system_package system_package_var #define cur_package (get_current_package()) #define cur_package_alist_loc (get_current_package_alist_loc()) -extern val packages, system_package_var, keyword_package_var, user_package_var; +extern val packages, system_package, keyword_package, user_package; extern val package_alist_s; extern val package_s, keyword_package_s, system_package_s, user_package_s; extern val null_s, t, cons_s, str_s, chr_s, fixnum_sl; diff --git a/parser.y b/parser.y index 421f8a1d..3e0be699 100644 --- a/parser.y +++ b/parser.y @@ -1343,7 +1343,7 @@ static val sym_helper(parser_t *parser, wchar_t *lexeme, val meta_allowed) val sym_name = string(colon + 1); scrub_scanner(parser->scanner, SYMTOK, tokfree); free(tokfree); - sym = intern(sym_name, keyword_package_var); + sym = intern(sym_name, keyword_package); } else if (colon != 0) { val pkg_name = string(lexeme); val sym_name = string(colon + 1); -- cgit v1.2.3