src/Pure/System/isabelle_system.scala
changeset 69277 258bef08b31e
parent 69168 68816d1c73a7
child 69355 cdc2de88d657
equal deleted inserted replaced
69276:3d954183b707 69277:258bef08b31e
   345 
   345 
   346   def components(): List[Path] =
   346   def components(): List[Path] =
   347     Path.split(getenv_strict("ISABELLE_COMPONENTS"))
   347     Path.split(getenv_strict("ISABELLE_COMPONENTS"))
   348 
   348 
   349 
   349 
       
   350   /* classes */
       
   351 
       
   352   def init_classes[A](variable: String): List[A] =
       
   353   {
       
   354     for (name <- space_explode(':', Isabelle_System.getenv_strict(variable)))
       
   355     yield {
       
   356       def err(msg: String): Nothing =
       
   357         error("Bad entry " + quote(name) + " in " + variable + "\n" + msg)
       
   358 
       
   359       try { Class.forName(name).asInstanceOf[Class[A]].newInstance() }
       
   360       catch {
       
   361         case _: ClassNotFoundException => err("Class not found")
       
   362         case exn: Throwable => err(Exn.message(exn))
       
   363       }
       
   364     }
       
   365   }
       
   366 
       
   367 
   350   /* fonts */
   368   /* fonts */
   351 
   369 
   352   def fonts(html: Boolean = false, get: String => String = getenv_strict(_)): List[Path] =
   370   def fonts(html: Boolean = false, get: String => String = getenv_strict(_)): List[Path] =
   353   {
   371   {
   354     val variables =
   372     val variables =