equal
deleted
inserted
replaced
172 let |
172 let |
173 val theories = |
173 val theories = |
174 YXML.parse_body theories_yxml |> |
174 YXML.parse_body theories_yxml |> |
175 let open XML.Decode |
175 let open XML.Decode |
176 in list (pair Options.decode (list (string #> rpair Position.none))) end; |
176 in list (pair Options.decode (list (string #> rpair Position.none))) end; |
177 val result = |
177 val res1 = |
178 Exn.capture (fn () => |
178 Exn.capture (fn () => |
179 theories |> List.app (build_theories (K NONE) (Path.explode master_dir))) (); |
179 theories |> List.app (build_theories (K NONE) (Path.explode master_dir))) (); |
180 val ok = |
180 val res2 = Exn.capture Session.shutdown (); |
181 (case result of |
181 val result = |
182 Exn.Res _ => true |
182 (Par_Exn.release_all [res1, res2]; "") handle exn => |
183 | Exn.Exn exn => (Runtime.exn_error_message exn; false)); |
183 (Runtime.exn_message exn handle _ (*sic!*) => |
184 in Output.protocol_message (Markup.build_theories_result id ok) [] end); |
184 "Exception raised, but failed to print details!"); |
|
185 in Output.protocol_message (Markup.build_theories_result id) [result] end); |
185 |
186 |
186 end; |
187 end; |