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.boot12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 8204957c..600195a1 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -1697,16 +1697,16 @@ orderByDependency(vl,dl) ==
++ Subroutine of compDefineCapsuleFunction.
assignCapsuleFunctionSlot(db,op,sig) ==
- opSig := [op,sig]
- [.,.,implementation] := NRTisExported? opSig or return nil
- --if opSig is not exported, it is local and need not be assigned
+ kind := or/[u.mapKind for u in categoryExports $domainShell
+ | symbolEq?(op,u.mapOperation) and sig = u.mapSignature]
+ kind = nil => nil -- op is local and need not be assigned
if $insideCategoryPackageIfTrue then
sig := substitute('$,second dbConstructorForm db,sig)
sig := [getLocalIndex(db,x) for x in sig]
- opModemapPair := [op,['_$,:sig],["T",implementation]]
- n := dbEntitySlot(db,opModemapPair) => n --already there
+ desc := [op,'$,:sig,kind]
+ n := dbEntitySlot(db,desc) => n --already there
n := dbEntityCount db + $NRTbase
- dbUsedEntities(db) := [[opModemapPair],:dbUsedEntities db]
+ dbUsedEntities(db) := [[desc],:dbUsedEntities db]
dbEntityCount(db) := dbEntityCount db + 1
n