summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--eval.c12
-rw-r--r--lib.h1
3 files changed, 19 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c7dc43b..de512f7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2011-12-02 Kaz Kylheku <kaz@kylheku.com>
+ * eval.c: Symbol related intrinsic functions and variables made
+ available:
+
+ * lib.h (sym_name): Dangling declaration removed.
+
+2011-12-02 Kaz Kylheku <kaz@kylheku.com>
+
* parser.y (list): unquote and splice actions look inside the
argument form. If an unquote or splice are applied to a quoted
form, its quote becomes a regular quote.
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);
}
diff --git a/lib.h b/lib.h
index 53268c78..ba8e1e37 100644
--- a/lib.h
+++ b/lib.h
@@ -396,7 +396,6 @@ val chr_str_set(val str, val index, val chr);
val span_str(val str, val set);
val compl_span_str(val str, val set);
val break_str(val str, val set);
-val sym_name(val sym);
val make_sym(val name);
val make_package(val name);
val find_package(val name);