diff options
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/compiler.boot | 4 | ||||
-rw-r--r-- | src/interp/define.boot | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 49aa460a..132ab160 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1333,7 +1333,9 @@ compFromIf(a,m,E) == compImport: (%Form,%Mode,%Env) -> %Triple compImport(["import",:doms],m,e) == - for dom in doms repeat e:=addDomain(dom,e) + if not $bootStrapMode then + for dom in doms repeat + e := addDomain(dom,e) ["/throwAway",$NoValueMode,e] --% Foreign Function Interface diff --git a/src/interp/define.boot b/src/interp/define.boot index 23f1bef6..381756c3 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -1211,7 +1211,7 @@ putDomainsInScope(x,e) == getOperationAlist(name,functorForm,form) == if ident? name and niladicConstructor? name then functorForm := [functorForm] - (u:= isFunctor functorForm) and not + (u:= get(functorForm,'isFunctor,$CategoryFrame)) and not ($insideFunctorIfTrue and first functorForm=first $functorForm) => u $insideFunctorIfTrue and name is "$" => $domainShell => categoryExports $domainShell @@ -1811,7 +1811,7 @@ addDomain(domain,e) == getmode(name,e) is ["Mapping",target,:.] and isCategoryForm(target,e)=> addNewDomain(domain,e) -- constructor? test needed for domains compiled with $bootStrapMode=true - isFunctor name or constructor? name => addNewDomain(domain,e) + isDomainForm(domain,e) => addNewDomain(domain,e) -- ??? we should probably augment $DummyFunctorNames with CATEGORY -- ??? so that we don't have to do this special check here. Investigate. isQuasiquote domain => e |