equal
deleted
inserted
replaced
9 |
9 |
10 object Isabelle_Process |
10 object Isabelle_Process |
11 { |
11 { |
12 def apply( |
12 def apply( |
13 receiver: Prover.Message => Unit = Console.println(_), |
13 receiver: Prover.Message => Unit = Console.println(_), |
14 prover_args: String = ""): Isabelle_Process = |
14 prover_args: List[String] = Nil): Isabelle_Process = |
15 { |
15 { |
16 val system_channel = System_Channel() |
16 val system_channel = System_Channel() |
17 val system_process = |
17 val system_process = |
18 try { |
18 try { |
19 val script = |
19 val process = |
20 File.shell_quote(Isabelle_System.getenv_strict("ISABELLE_PROCESS")) + |
20 Bash.process("\"$ISABELLE_PROCESS\" -P " + File.bash_escape(system_channel.server_name) + |
21 " -P " + system_channel.server_name + |
21 " " + File.bash_escape(prover_args)) |
22 (if (prover_args == "") "" else " " + prover_args) |
|
23 val process = Bash.process(null, null, false, "-c", script) |
|
24 process.stdin.close |
22 process.stdin.close |
25 process |
23 process |
26 } |
24 } |
27 catch { case exn @ ERROR(_) => system_channel.accepted(); throw exn } |
25 catch { case exn @ ERROR(_) => system_channel.accepted(); throw exn } |
28 |
26 |