From 685c906b541ff7d457d2dd555f513ed93016bf75 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 8 Mar 2019 08:31:00 -0800 Subject: structs: fix missing lnew operator. * lisplib.c (struct_set_entries): Add missing entry for lnew in the name array. This is not just a missing auto-load issue. Because we don't intern the symbol, struct.tl ends up defining a sys:lnew macro, and not usr:lnew. The symbol usr:lnew doesn't exist and so when application code tries to use lnew, it's trying to invoke pub:lnew. --- lisplib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lisplib.c') diff --git a/lisplib.c b/lisplib.c index a3f0e9f6..cbbbf701 100644 --- a/lisplib.c +++ b/lisplib.c @@ -208,8 +208,8 @@ static val struct_set_entries(val dlt, val fun) lit("define-method"), lit("rslotset"), nil }; val name[] = { - lit("defstruct"), lit("qref"), lit("uref"), lit("new"), lit("meth"), - lit("umeth"), lit("usl"), lit("defmeth"), lit("rslot"), nil + lit("defstruct"), lit("qref"), lit("uref"), lit("new"), lit("lnew"), + lit("meth"), lit("umeth"), lit("usl"), lit("defmeth"), lit("rslot"), nil }; set_dlt_entries_sys(dlt, sys_name, fun); -- cgit v1.2.3