aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lisplib.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-11-02 19:04:24 +0000
committerdos-reis <gdr@axiomatics.org>2011-11-02 19:04:24 +0000
commit41564143f03fc7ef7fa3a464c2a7df3744e83359 (patch)
treef6b8f2f35652cfac8ca020694d70c38eff086071 /src/interp/lisplib.boot
parenta28d2c23ae9e87da731b691cdf3306f966b649c2 (diff)
downloadopen-axiom-41564143f03fc7ef7fa3a464c2a7df3744e83359.tar.gz
* interp/lisplib.boot (findModule): Tidy.
(loadLib): Exit early on builtin constructors. (loadDB): Likewise.
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r--src/interp/lisplib.boot10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 9f7de79c..a7ef99c4 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -238,7 +238,11 @@ rwriteLispForm(key,form) ==
++ Error if the file container of the module does not exist.
findModule: %Symbol -> %Maybe %String
findModule cname ==
- m := getConstructorModuleFromDB cname or return nil
+ db := constructorDB cname or return nil
+ m :=
+ $buildingSystemAlgebra =>
+ getSystemModulePath symbolName dbAbbreviation db
+ getConstructorModuleFromDB cname
existingFile? m => m
strap := algebraBootstrapDir() =>
m := strconc(strap,PATHNAME_-NAME m,'".",$faslType)
@@ -254,6 +258,7 @@ loadLibIfNotLoaded libName ==
loadLib libName
loadLib cname ==
+ builtinConstructor? cname => nil -- these don't have nrlib yet.
startTimingProcess 'load
fullLibName := findModule cname or return nil
systemdir? := isSystemDirectory(pathnameDirectory fullLibName)
@@ -308,10 +313,11 @@ loadDB db ==
dbBeingDefined? db => nil
dbLoaded? db => db
ctor := dbConstructor db
+ builtinConstructor? ctor => nil
lib := findModule ctor or return nil
loadModule(lib,ctor)
dbLoadPath(db) := lib
- constructorDB ctor
+ db
finally stopTimingProcess 'load
convertOpAlist2compilerInfo(opalist) ==