aboutsummaryrefslogtreecommitdiff
path: root/src/interp/define.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r--src/interp/define.boot9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index c854eb27..8df914ac 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -270,10 +270,15 @@ hasDefaultPackage catname ==
-- Compute the lookup function (complete or incomplete)
--=======================================================================
NRTgetLookupFunction(domform,exCategory,addForm,env) ==
+ $why: local := nil
domform := applySubst($pairlis,domform)
+ addForm isnt [.,:.] =>
+ IDENTP addForm and (m := getmode(addForm,env)) ~= nil
+ and isCategoryForm(m,env)
+ and extendsCategory(domform,exCategory,applySubst($pairlis,m),env) =>
+ 'lookupIncomplete
+ 'lookupComplete
addForm := applySubst($pairlis,addForm)
- $why: local := nil
- addForm isnt [.,:.] => 'lookupComplete
NRTextendsCategory1(domform,exCategory,getExportCategory addForm,env) =>
'lookupIncomplete
[u,msg,:v] := $why