summaryrefslogtreecommitdiffstats
path: root/lisplib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-02-18 20:07:28 -0800
committerKaz Kylheku <kaz@kylheku.com>2022-02-18 20:07:28 -0800
commitf6b8a4a199c9ba358e3571ae9486dd6e3b93e5b2 (patch)
treeb00cd2f6655e2f2d7d6a02bdbbee308ade673b61 /lisplib.c
parent44a98cac667e57d5d9d05cb0a2c189dea03ebabe (diff)
downloadtxr-f6b8a4a199c9ba358e3571ae9486dd6e3b93e5b2.tar.gz
txr-f6b8a4a199c9ba358e3571ae9486dd6e3b93e5b2.tar.bz2
txr-f6b8a4a199c9ba358e3571ae9486dd6e3b93e5b2.zip
lisplib: split lisplib_try_load into namespaces.
* lisplib.c (lisplib_init): Change sys:try-load (only used by place.tl) to sys:try-load-fun, and register it to (lisplib_try_load): External function becomes static. (lisplib_try_load_fun, lisplib_try_load_var, lisplib_try_load_fun_var, lisplib_try_load_slot, lisplib_try_load_struct, lisplib_try_load_keyword): New functions. * lisplib.h (lisplib_try_load): Declaration removed. (lisplib_try_load): External function becomes static. (lisplib_try_load_fun, lisplib_try_load_var, lisplib_try_load_fun_var, lisplib_try_load_slot, lisplib_try_load_struct, lisplib_try_load_keyword): Declared. * eval.c (lookup_global_var, lookup_var, lookup_symac, lookup_symac_lisp1, rt_defvarl, rt_defv, op_defsymacro, rt_defsymacro, makunbound): Use lisplip_try_load_var. (lookup_fun, lookup_mac, rt_defun, rt_defmacro, fmakunbound, mmakunbound): Use lisplib_try_load_fun. (expand_param_macro): Use lisplib_try_load_keyword, which is a catch-all namespace for anything tied to keywords. * struct.c (make_struct_type, find_struct_type): Use lisplib_try_load_struct. (lookup_sloat_load, lookup_static_slot_load, lookup_static_slot_desc_load, slot_types, static_slot_types): Use lisplib_try_load_slot. * stdlib/place.tl (get-place-macro): Use try-load-fun, rather than try-load.
Diffstat (limited to 'lisplib.c')
-rw-r--r--lisplib.c34
1 files changed, 32 insertions, 2 deletions
diff --git a/lisplib.c b/lisplib.c
index a8d264d2..44885041 100644
--- a/lisplib.c
+++ b/lisplib.c
@@ -1042,10 +1042,10 @@ void lisplib_init(void)
dlt_register(dl_table, pic_instantiate, pic_set_entries);
dlt_register(dl_table, constfun_instantiate, constfun_set_entries);
- reg_fun(intern(lit("try-load"), system_package), func_n1(lisplib_try_load));
+ reg_fun(intern(lit("try-load-fun"), system_package), func_n1(lisplib_try_load_fun));
}
-val lisplib_try_load(val sym)
+static val lisplib_try_load(val sym)
{
val fun = gethash(dl_table, sym);
@@ -1062,3 +1062,33 @@ val lisplib_try_load(val sym)
}
return nil;
}
+
+val lisplib_try_load_fun(val sym)
+{
+ return lisplib_try_load(sym);
+}
+
+val lisplib_try_load_var(val sym)
+{
+ return lisplib_try_load(sym);
+}
+
+val lisplib_try_load_fun_var(val sym)
+{
+ return lisplib_try_load(sym);
+}
+
+val lisplib_try_load_slot(val sym)
+{
+ return lisplib_try_load(sym);
+}
+
+val lisplib_try_load_struct(val sym)
+{
+ return lisplib_try_load(sym);
+}
+
+val lisplib_try_load_keyword(val sym)
+{
+ return lisplib_try_load(sym);
+}