equal
deleted
inserted
replaced
21 |
21 |
22 object Session_Build |
22 object Session_Build |
23 { |
23 { |
24 def check_dialog(view: View) |
24 def check_dialog(view: View) |
25 { |
25 { |
26 GUI_Thread.require {} |
|
27 |
|
28 val options = PIDE.options.value |
26 val options = PIDE.options.value |
29 try { |
27 Isabelle_Thread.fork() { |
30 if (JEdit_Sessions.session_no_build || |
28 try { |
|
29 if (JEdit_Sessions.session_no_build || |
31 JEdit_Sessions.session_build(options, no_build = true) == 0) |
30 JEdit_Sessions.session_build(options, no_build = true) == 0) |
32 JEdit_Sessions.session_start(options) |
31 JEdit_Sessions.session_start(options) |
33 else new Dialog(view) |
32 else GUI_Thread.later { new Dialog(view) } |
34 } |
33 } |
35 catch { |
34 catch { |
36 case exn: Throwable => |
35 case exn: Throwable => |
37 GUI.dialog(view, "Isabelle", GUI.scrollable_text(Exn.message(exn))) |
36 GUI.dialog(view, "Isabelle", GUI.scrollable_text(Exn.message(exn))) |
|
37 } |
38 } |
38 } |
39 } |
39 } |
40 |
40 |
41 private class Dialog(view: View) extends JDialog(view) |
41 private class Dialog(view: View) extends JDialog(view) |
42 { |
42 { |