diff -r c986a422dee1 -r 6c470c918aad src/Pure/System/isabelle_system.scala --- a/src/Pure/System/isabelle_system.scala Tue Apr 07 22:13:22 2020 +0200 +++ b/src/Pure/System/isabelle_system.scala Wed Apr 08 13:14:05 2020 +0200 @@ -54,7 +54,7 @@ _settings.get } - def init(isabelle_root: String = "", cygwin_root: String = ""): Unit = synchronized { + private def init_settings(isabelle_root: String = "", cygwin_root: String = ""): Unit = synchronized { if (_settings.isEmpty) { val isabelle_root1 = bootstrap_directory(isabelle_root, "ISABELLE_ROOT", "isabelle.root", "Isabelle root") @@ -127,6 +127,12 @@ } } + def init() + { + init_settings() + services + } + /* getenv */ @@ -383,6 +389,13 @@ } + /* user-defined services */ + + abstract class Service + + lazy val services: List[Service] = init_classes[Service]("ISABELLE_SCALA_SERVICES") + + /* default logic */ def default_logic(args: String*): String =