if !ErrorMsg.anyErrors then
G
else
- Tycheck.checkFile G (Defaults.tInit ()) prog
+ (Option.app (Unused.check G) (#3 prog);
+ Tycheck.checkFile G (Defaults.tInit ()) prog)
end
fun basis () =
if !ErrorMsg.anyErrors then
raise ErrorMsg.Error
else
- (G', #3 prog)
+ (Option.app (Unused.check b) (#3 prog);
+ (G', #3 prog))
end
end
end
raise ErrorMsg.Error
else
Eval.exec (Defaults.eInit ()) body'
- | NONE => raise ErrorMsg.Error
+ | NONE => ()
fun eval' fname =
case reduce fname of
raise ErrorMsg.Error
else
ignore (Eval.exec' (Defaults.eInit ()) body')
- | NONE => raise ErrorMsg.Error
+ | NONE => ()
val dispatcher =
Config.dispatcher ^ ":" ^ Int.toString Config.dispatcherPort
val (_, files) = Order.order (SOME b) files
val _ = if !ErrorMsg.anyErrors then
- raise ErrorMsg.Error
+ (print "J\n";raise ErrorMsg.Error)
else
()
fun regenerateEither tc checker context =
let
- val domainsBefore = domainList Config.resultRoot
+ val () = print "Starting regeneration....\n"
+
+ val domainsBefore =
+ if tc then
+ SS.empty
+ else
+ domainList Config.resultRoot
fun ifReal f =
if tc then
print ("User " ^ user ^ "'s configuration has errors!\n");
ok := false)
else
- app checker files
+ ();
+ app checker files
end
else
()
| _ => (OpenSSL.close bio;
loop ())
end handle OpenSSL.OpenSSL s =>
- (print ("OpenSSL error: "^ s ^ "\n");
+ (print ("OpenSSL error: " ^ s ^ "\n");
OpenSSL.close bio
handle OpenSSL.OpenSSL _ => ();
loop ())
OpenSSL.close bio
handle OpenSSL.OpenSSL _ => ();
loop ())
+ | IO.Io {function, name, ...} =>
+ (print ("IO error: " ^ function ^ ": " ^ name ^ "\n");
+ OpenSSL.close bio
+ handle OpenSSL.OpenSSL _ => ();
+ loop ())
+ | e =>
+ (app (fn s => print (s ^ "\n")) (SMLofNJ.exnHistory e);
+ print "Uncaught exception!\n";
+ OpenSSL.close bio
+ handle OpenSSL.OpenSSL _ => ();
+ loop ())
in
loop ();
OpenSSL.shutdown sock