diff options
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/cparse.boot | 12 |
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 |