1 (* Title: Admin/isatest/annomaly.ML
3 Author: Martin von Gagern <martin@von-gagern.net>
6 use "ML-Systems/smlnj.ML";
10 val smlnj_use_text = use_text
12 fun strip ([], "src" :: name, _) = name
13 | strip (["Distribution"], name, _) = name
14 | strip ([], name, _) = name
15 | strip (h1 :: t1, h2 :: t2, def) =
16 if h1 = h2 then strip (t1, t2, def) else def
18 fun rewrite (NONE, name) = "use_text" :: name
19 | rewrite (SOME home, name) =
20 strip (#arcs (OS.Path.fromString home), name, "use_text" :: name)
24 fun use_text tune name p v t =
25 let val name = case name of "" => "unnamed" | name => name
26 val arcs = rewrite (OS.Process.getEnv "ISABELLE_HOME",
27 #arcs (OS.Path.fromString name))
28 val _ = AnnoMaLy.nameNextStream ("isabelle" :: arcs)
29 in smlnj_use_text tune name p v t end