summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-02 23:31:57 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-02 23:31:57 -0800
commitba4c913ada03747c404b1165d440b8d9d183babe (patch)
treeca0ff512a5066481e0c072f0a3a7fa5f03b45d15 /eval.c
parent63211dfd66f3cbd4159885018257022b20a4c975 (diff)
downloadtxr-ba4c913ada03747c404b1165d440b8d9d183babe.tar.gz
txr-ba4c913ada03747c404b1165d440b8d9d183babe.tar.bz2
txr-ba4c913ada03747c404b1165d440b8d9d183babe.zip
* eval.c: Symbol related intrinsic functions and variables made
available: * lib.h (sym_name): Dangling declaration removed.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 2b27f7be..9aad126f 100644
--- a/eval.c
+++ b/eval.c
@@ -1068,6 +1068,18 @@ void eval_init(void)
reg_fun(intern(lit("open-file"), user_package), func_n2(open_file));
reg_fun(intern(lit("open-pipe"), user_package), func_n2(open_pipe));
+ reg_var(intern(lit("*user-package*"), user_package), user_package);
+ reg_var(intern(lit("*keyword-package*"), user_package), keyword_package);
+ reg_var(intern(lit("*system-package*"), user_package), system_package);
+ reg_fun(intern(lit("make-sym"), user_package), func_n1(make_sym));
+ 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("intern"), user_package), func_n2(intern));
+ reg_fun(intern(lit("symbolp"), user_package), func_n1(symbolp));
+ reg_fun(intern(lit("symbol-name"), user_package), func_n1(symbol_name));
+ reg_fun(intern(lit("symbol-package"), user_package), func_n1(symbol_package));
+ reg_fun(intern(lit("keywordp"), user_package), func_n1(keywordp));
+
eval_error_s = intern(lit("eval-error"), user_package);
uw_register_subtype(eval_error_s, error_s);
}