Apt package installation querying of dispatcher
[hcoop/domtool2.git] / src / env.sml
index 1a93a38..edb1ffd 100644 (file)
@@ -41,6 +41,11 @@ fun registerContainer (name, befor, after) =
     containers := SM.insert (!containers, name, (befor, after))
 fun container name = SM.find (!containers, name)
 
+val functions : (exp list -> exp option) SM.map ref = ref SM.empty
+fun registerFunction (name, f) =
+    functions := SM.insert (!functions, name, f)
+fun function name = SM.find (!functions, name)
+
 local
     val pr = ref (fn () => ())
 in
@@ -165,7 +170,9 @@ fun env arg (evs, name) =
        NONE => raise Fail ("Unavailable environment variable " ^ name)
       | SOME e =>
        case arg e of
-           NONE => raise Fail ("Bad format for environment variable " ^ name)
+           NONE => (Print.preface ("Unexpected value for " ^ name ^ ":",
+                                   Print.p_exp e);
+                    raise Fail ("Bad format for environment variable " ^ name))
          | SOME v => v
 
 fun type_one func arg f =