src/Pure/Isar/toplevel.ML
changeset 23720 d0d583c7a41f
parent 23701 1716f19e7d25
child 23911 2807ecdc853d
equal deleted inserted replaced
23719:ccd9cb15c062 23720:d0d583c7a41f
   749 fun warn_secure () =
   749 fun warn_secure () =
   750   let val secure = Secure.is_secure ()
   750   let val secure = Secure.is_secure ()
   751   in if secure then warning "Cannot exit to ML in secure mode" else (); secure end;
   751   in if secure then warning "Cannot exit to ML in secure mode" else (); secure end;
   752 
   752 
   753 fun raw_loop src =
   753 fun raw_loop src =
   754   let val prompt =
   754   let val prompt = Output.escape (Markup.enclose Markup.prompt Source.default_prompt) in
   755     Output.escape ((Markup.output Markup.prompt |-> enclose) Source.default_prompt)
       
   756   in
       
   757     (case get_interrupt (Source.set_prompt prompt src) of
   755     (case get_interrupt (Source.set_prompt prompt src) of
   758       NONE => (writeln "\nInterrupt."; raw_loop src)
   756       NONE => (writeln "\nInterrupt."; raw_loop src)
   759     | SOME NONE => if warn_secure () then quit () else ()
   757     | SOME NONE => if warn_secure () then quit () else ()
   760     | SOME (SOME (tr, src')) =>
   758     | SOME (SOME (tr, src')) =>
   761         if >> tr orelse warn_secure () then raw_loop src'
   759         if >> tr orelse warn_secure () then raw_loop src'