More loading of lib.dtl
[hcoop/domtool2.git] / src / main-client.sml
index ef083b4..1c6333d 100644 (file)
@@ -31,12 +31,33 @@ fun domtoolRoot () =
                             file = ".domtool"}
     end
 
                             file = ".domtool"}
     end
 
+fun libnameOpt () =
+    let
+       val libname = OS.Path.joinDirFile {dir = domtoolRoot (),
+                                          file = "lib.dtl"}
+    in
+       if Posix.FileSys.access (libname, []) then
+           SOME libname
+       else
+           NONE
+    end
+
 val (doit, doitDir, args) =
     case CommandLine.arguments () of
 val (doit, doitDir, args) =
     case CommandLine.arguments () of
-       "-tc" :: args => (fn fname => (Main.setupUser (); ignore (Main.check (Main.basis ()) fname)),
+       "-tc" :: args => (fn fname =>
+                            let
+                                val _ : string = Main.setupUser ()
+                                val env = Main.basis ()
+                                val env =
+                                    case libnameOpt () of
+                                        NONE => env
+                                      | SOME libname => #1 (Main.check env libname)
+                            in
+                                ignore (Main.check env fname)
+                            end,
                          Main.checkDir,
                          args)
                          Main.checkDir,
                          args)
-      | args => (Main.request,
+      | args => (fn fname => Main.request (fname, libnameOpt ()),
                 Main.requestDir,
                 args)
 
                 Main.requestDir,
                 args)