equal
deleted
inserted
replaced
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' |