src/Pure/Isar/toplevel.ML
changeset 39285 85728a4b5620
parent 39237 be1acdcd55dc
child 39513 fce2202892c4
equal deleted inserted replaced
39284:3aefd3342978 39285:85728a4b5620
   617 (* nested commands *)
   617 (* nested commands *)
   618 
   618 
   619 fun command tr st =
   619 fun command tr st =
   620   (case transition (! interact) tr st of
   620   (case transition (! interact) tr st of
   621     SOME (st', NONE) => st'
   621     SOME (st', NONE) => st'
   622   | SOME (_, SOME exn_info) => raise Runtime.EXCURSION_FAIL exn_info
   622   | SOME (_, SOME (exn, info)) =>
       
   623       if Exn.is_interrupt exn then reraise exn else raise Runtime.EXCURSION_FAIL (exn, info)
   623   | NONE => raise Runtime.EXCURSION_FAIL (Runtime.TERMINATE, at_command tr));
   624   | NONE => raise Runtime.EXCURSION_FAIL (Runtime.TERMINATE, at_command tr));
   624 
   625 
   625 fun command_result tr st =
   626 fun command_result tr st =
   626   let val st' = command tr st
   627   let val st' = command tr st
   627   in (st', st') end;
   628   in (st', st') end;