summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-04-04 23:18:03 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-04-04 23:18:03 -0700
commitde32c069f84052de9edae9a3bf87d864b22d501e (patch)
tree58d9486a3a776fa8c22f1f9cdf8fb0bc47bda349
parent93e858c46aff06962f123327127a3b2eb9600987 (diff)
downloadtxr-de32c069f84052de9edae9a3bf87d864b22d501e.tar.gz
txr-de32c069f84052de9edae9a3bf87d864b22d501e.tar.bz2
txr-de32c069f84052de9edae9a3bf87d864b22d501e.zip
struct: autoload sys:define-method.
Compiled code references sys:define-method directly without going through the struct macrology that would otherwise trigger the autoload of the struct stuff. The symbol needs to be added to the set of triggers. * lisplib.c (struct_set_entries): Add sys:define-method symbol.
-rw-r--r--lisplib.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisplib.c b/lisplib.c
index 0862602a..c40cf3a2 100644
--- a/lisplib.c
+++ b/lisplib.c
@@ -198,11 +198,15 @@ static val path_test_instantiate(val set_fun)
static val struct_set_entries(val dlt, val fun)
{
+ val sys_name[] = {
+ lit("define-method"), nil
+ };
val name[] = {
lit("defstruct"), lit("qref"), lit("uref"), lit("new"), lit("meth"),
lit("umeth"), lit("usl"), lit("defmeth"), lit("rslot"), nil
};
+ set_dlt_entries_sys(dlt, sys_name, fun);
set_dlt_entries(dlt, name, fun);
if (fun)