aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/cparse.boot12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/interp/cparse.boot b/src/interp/cparse.boot
index 9e28504d..a98b2ea1 100644
--- a/src/interp/cparse.boot
+++ b/src/interp/cparse.boot
@@ -1102,15 +1102,19 @@ _/RQ_,LIB(:x) ==
$Echo: local := false
_/RF_-1 nil
+readBootFile file ==
+ try
+ fasl := compileBootHandler(nil,nil,file) or return nil
+ LOAD fasl
+ finally
+ fasl = nil => nil
+ removeFile filePathString fasl
_/RF_-1 x ==
ifile := makeInputFilename $editFile
lfile := nil
type := filePathType ifile
- type = '"boot" =>
- lfile := makeFilePath(type <- '"lisp",defaults <- ifile)
- BOOT(ifile,lfile)
- LOAD lfile
+ type = '"boot" => readBootFile ifile
type = '"lisp" => LOAD ifile
type = '"input" => ncINTERPFILE(ifile,$Echo)
SPAD ifile