diff options
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r-- | src/interp/c-util.boot | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index 8904dddc..8c1fe71b 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -1747,8 +1747,11 @@ lookupInheritedDefiningFunction(op,sig,shell,args,slot) == ++ and that is unambiguous is returned. In particular, this ++ function defaulting packages. lookupDefiningFunction(op,sig,dc) == - -- 1. Read domain information, if available. + -- 1. Read domain information, if available. Silently give up if + -- the constructor is just not there [ctor,:args] := dc + loadLibIfNotLoaded ctor + property(ctor,'%incomplete) => nil -- 1.1. Niladic constructors don't need approximation. -- FIXME: However, there may be cylic dependencies -- such as AN ~> IAN ~> EXPR INT ~> AN that prevents @@ -1757,8 +1760,6 @@ lookupDefiningFunction(op,sig,dc) == compiledLookup(op,sig,dc) -- 1.2. Don't look into defaulting package isDefaultPackageName ctor => nil - -- 1.2. Silently give up if the constructor is just not there - loadLibIfNotLoaded ctor infovec := property(ctor,'infovec) or return nil -- 1.3. We need information about the original domain template shell := first infovec -- domain template |