gagern@22488
|
1 |
use "ML-Systems/smlnj.ML";
|
gagern@22488
|
2 |
|
gagern@22488
|
3 |
local
|
gagern@22488
|
4 |
|
gagern@22488
|
5 |
val smlnj_use_text = use_text
|
gagern@22488
|
6 |
|
gagern@22488
|
7 |
fun strip ([], name, _) = name
|
gagern@22488
|
8 |
| strip (["Distribution"], name, _) = name
|
gagern@22488
|
9 |
| strip (h1 :: t1, h2 :: t2, def) =
|
gagern@22488
|
10 |
if h1 = h2 then strip (t1, t2, def) else def
|
gagern@22488
|
11 |
|
gagern@22488
|
12 |
fun rewrite (NONE, name) = "use_text" :: name
|
gagern@22488
|
13 |
| rewrite (SOME home, name) =
|
gagern@22488
|
14 |
strip (#arcs (OS.Path.fromString home), name, "use_text" :: name)
|
gagern@22488
|
15 |
|
gagern@22488
|
16 |
in
|
gagern@22488
|
17 |
|
gagern@22488
|
18 |
fun use_text name p v t =
|
gagern@22488
|
19 |
let val name = case name of "" => "unnamed" | name => name
|
gagern@22488
|
20 |
val arcs = rewrite (OS.Process.getEnv "ISABELLE_HOME",
|
gagern@22488
|
21 |
#arcs (OS.Path.fromString name))
|
gagern@22488
|
22 |
val _ = AnnoMaLy.nameNextStream ("isabelle" :: arcs)
|
gagern@22488
|
23 |
in smlnj_use_text name p v t
|
gagern@22488
|
24 |
end
|
gagern@22488
|
25 |
|
gagern@22488
|
26 |
end;
|