Client.getPass: catch syserror inval when detecting non-tty use
[hcoop/domtool2.git] / src / printFn.sml
index decc2bc..9b3c4ee 100644 (file)
@@ -134,7 +134,7 @@ fun p_exp' pn (e, _) =
       | EWith (e1, e2) => dBox [p_exp e1, space 1, keyword "with", p_exp e2, space 1, keyword "end"]
       | EIf (e1, e2, e3) => dBox [keyword "if", space 1, p_exp e1,
                                  space 1, keyword "then", space 1, p_exp e2,
-                                 space 1, keyword "else", space 1, p_exp e2]
+                                 space 1, keyword "else", space 1, p_exp e3]
 and p_exp e = p_exp' false e
 
 fun p_decl d =
@@ -155,6 +155,12 @@ fun p_decl d =
                                                ident name, space 1,
                                                punct ":", space 1,
                                                p_typ t])
+      | DEnv (name, NONE, _) => string "Unannotated env declaration!"
+      | DEnv (name, SOME t, _) => anchor ("D_" ^ name,
+                                         dBox [keyword "var", space 1,
+                                               ident name, space 1,
+                                               punct ":", space 1,
+                                               p_typ t])
       | DContext name => anchor ("C_" ^ name,
                                 dBox [keyword "context", space 1,
                                       ident name])
@@ -176,6 +182,12 @@ fun p_decl_fref d =
                                        space 1,
                                        punct ":", space 1,
                                        p_typ t]
+      | DEnv (name, NONE, _) => string "Unannotated var declaration!"
+      | DEnv (name, SOME t, _) => dBox [keyword "var", space 1,
+                                       link ("#D_" ^ name, ident name),
+                                       space 1,
+                                       punct ":", space 1,
+                                       p_typ t]
       | DContext name => dBox [keyword "context", space 1,
                               link ("#C_" ^ name, ident name)]