src/Pure/System/isabelle_process.scala
changeset 62545 8ebffdaf2ce2
parent 62309 96c9a259d275
child 62548 f8ebb715e06d
--- a/src/Pure/System/isabelle_process.scala	Mon Mar 07 15:21:50 2016 +0100
+++ b/src/Pure/System/isabelle_process.scala	Mon Mar 07 18:20:22 2016 +0100
@@ -11,16 +11,14 @@
 {
   def apply(
     receiver: Prover.Message => Unit = Console.println(_),
-    prover_args: String = ""): Isabelle_Process =
+    prover_args: List[String] = Nil): Isabelle_Process =
   {
     val system_channel = System_Channel()
     val system_process =
       try {
-        val script =
-          File.shell_quote(Isabelle_System.getenv_strict("ISABELLE_PROCESS")) +
-            " -P " + system_channel.server_name +
-            (if (prover_args == "") "" else " " + prover_args)
-        val process = Bash.process(null, null, false, "-c", script)
+        val process =
+          Bash.process("\"$ISABELLE_PROCESS\" -P " + File.bash_escape(system_channel.server_name) +
+            " " + File.bash_escape(prover_args))
         process.stdin.close
         process
       }