src/Pure/Isar/toplevel.ML
changeset 37216 3165bc303f66
parent 37208 e8b1c3a0562c
child 37687 e07dacec79e7
equal deleted inserted replaced
37215:91dfe7dccfdf 37216:3165bc303f66
   236   Thread.fork
   236   Thread.fork
   237     (((fn () => body () handle Exn.Interrupt => ())
   237     (((fn () => body () handle Exn.Interrupt => ())
   238         |> Runtime.debugging
   238         |> Runtime.debugging
   239         |> Runtime.toplevel_error
   239         |> Runtime.toplevel_error
   240           (fn exn => priority ("## INTERNAL ERROR ##\n" ^ ML_Compiler.exn_message exn))),
   240           (fn exn => priority ("## INTERNAL ERROR ##\n" ^ ML_Compiler.exn_message exn))),
   241       SimpleThread.attributes interrupts);
   241       Simple_Thread.attributes interrupts);
   242 
   242 
   243 
   243 
   244 (* node transactions -- maintaining stable checkpoints *)
   244 (* node transactions -- maintaining stable checkpoints *)
   245 
   245 
   246 exception FAILURE of state * exn;
   246 exception FAILURE of state * exn;
   636   in (st', st') end;
   636   in (st', st') end;
   637 
   637 
   638 fun run_command thy_name tr st =
   638 fun run_command thy_name tr st =
   639   (case
   639   (case
   640       (case init_of tr of
   640       (case init_of tr of
   641         SOME name => Exn.capture (fn () => ThyLoad.check_name thy_name name) ()
   641         SOME name => Exn.capture (fn () => Thy_Load.check_name thy_name name) ()
   642       | NONE => Exn.Result ()) of
   642       | NONE => Exn.Result ()) of
   643     Exn.Result () =>
   643     Exn.Result () =>
   644       (case transition true tr st of
   644       (case transition true tr st of
   645         SOME (st', NONE) => (status tr Markup.finished; SOME st')
   645         SOME (st', NONE) => (status tr Markup.finished; SOME st')
   646       | SOME (_, SOME (exn as Exn.Interrupt, _)) => reraise exn
   646       | SOME (_, SOME (exn as Exn.Interrupt, _)) => reraise exn