Admin/isatest/annomaly.ML
author wenzelm
Mon, 17 Sep 2007 16:06:35 +0200
changeset 24611 1f92518fbabe
parent 23207 769f7762f531
child 26505 49967f8b1068
permissions -rw-r--r--
adapted use_text;
     1 (*  Title:      Admin/isatest/annomaly.ML
     2     ID:         $Id$
     3     Author:     Martin von Gagern <martin@von-gagern.net>
     4 *)
     5 
     6 use "ML-Systems/smlnj.ML";
     7 
     8 local
     9 
    10   val smlnj_use_text = use_text
    11 
    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
    17 
    18   fun rewrite (NONE, name) = "use_text" :: name
    19     | rewrite (SOME home, name) =
    20       strip (#arcs (OS.Path.fromString home), name, "use_text" :: name)
    21 
    22 in
    23 
    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
    30 
    31 end;