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
()
();
app checker files
end
+ else if String.isSuffix "_admin" user then
+ ()
else
- ()
+ (print ("Couldn't access " ^ user ^ "'s ~/.domtool directory.\n");
+ ok := false)
end
handle IO.Io {name, function, ...} =>
(print ("IO error processing user " ^ user ^ ": " ^ function ^ ": " ^ name ^ "\n");
| _ => (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