src/Pure/Isar/isar_cmd.ML
changeset 20978 51956522c306
parent 20957 f2a795db0500
child 21003 37492b0062c6
equal deleted inserted replaced
20977:dbf1eca9b34e 20978:51956522c306
    17   val remove_thy: string -> Toplevel.transition -> Toplevel.transition
    17   val remove_thy: string -> Toplevel.transition -> Toplevel.transition
    18   val kill_thy: string -> Toplevel.transition -> Toplevel.transition
    18   val kill_thy: string -> Toplevel.transition -> Toplevel.transition
    19   val pr: string list * (int option * int option) -> Toplevel.transition -> Toplevel.transition
    19   val pr: string list * (int option * int option) -> Toplevel.transition -> Toplevel.transition
    20   val disable_pr: Toplevel.transition -> Toplevel.transition
    20   val disable_pr: Toplevel.transition -> Toplevel.transition
    21   val enable_pr: Toplevel.transition -> Toplevel.transition
    21   val enable_pr: Toplevel.transition -> Toplevel.transition
       
    22   val cannot_undo: string -> Toplevel.transition -> Toplevel.transition
    22   val clear_undos_theory: int -> Toplevel.transition -> Toplevel.transition
    23   val clear_undos_theory: int -> Toplevel.transition -> Toplevel.transition
    23   val redo: Toplevel.transition -> Toplevel.transition
    24   val redo: Toplevel.transition -> Toplevel.transition
    24   val undos_proof: int -> Toplevel.transition -> Toplevel.transition
    25   val undos_proof: int -> Toplevel.transition -> Toplevel.transition
    25   val kill_proof_notify: (unit -> unit) -> Toplevel.transition -> Toplevel.transition
    26   val kill_proof_notify: (unit -> unit) -> Toplevel.transition -> Toplevel.transition
    26   val kill_proof: Toplevel.transition -> Toplevel.transition
    27   val kill_proof: Toplevel.transition -> Toplevel.transition
    27   val undo_theory: Toplevel.transition -> Toplevel.transition
    28   val undo_theory: Toplevel.transition -> Toplevel.transition
    28   val undo_end: Toplevel.transition -> Toplevel.transition
       
    29   val undo: Toplevel.transition -> Toplevel.transition
    29   val undo: Toplevel.transition -> Toplevel.transition
    30   val kill: Toplevel.transition -> Toplevel.transition
    30   val kill: Toplevel.transition -> Toplevel.transition
    31   val back: Toplevel.transition -> Toplevel.transition
    31   val back: Toplevel.transition -> Toplevel.transition
    32   val use: Path.T -> Toplevel.transition -> Toplevel.transition
    32   val use: Path.T -> Toplevel.transition -> Toplevel.transition
    33   val use_mltext_theory: string -> Toplevel.transition -> Toplevel.transition
    33   val use_mltext_theory: string -> Toplevel.transition -> Toplevel.transition
   134 val enable_pr = Toplevel.imperative (fn () => Toplevel.quiet := false);
   134 val enable_pr = Toplevel.imperative (fn () => Toplevel.quiet := false);
   135 
   135 
   136 
   136 
   137 (* history commands *)
   137 (* history commands *)
   138 
   138 
       
   139 fun cannot_undo txt = Toplevel.imperative (fn () => error ("Cannot undo " ^ quote txt));
       
   140 
   139 val clear_undos_theory = Toplevel.history o History.clear;
   141 val clear_undos_theory = Toplevel.history o History.clear;
   140 
   142 
   141 val redo =
   143 val redo =
   142   Toplevel.history History.redo o
   144   Toplevel.history History.redo o
   143   Toplevel.actual_proof ProofHistory.redo o
   145   Toplevel.actual_proof ProofHistory.redo o
   155 
   157 
   156 val kill_proof = kill_proof_notify (K ());
   158 val kill_proof = kill_proof_notify (K ());
   157 
   159 
   158 val undo_theory = Toplevel.history (fn hist =>
   160 val undo_theory = Toplevel.history (fn hist =>
   159   if History.is_initial hist then raise Toplevel.UNDEF else History.undo hist);
   161   if History.is_initial hist then raise Toplevel.UNDEF else History.undo hist);
   160 
       
   161 val undo_end =
       
   162   Toplevel.imperative (fn () => error "Cannot undo end of theory") o
       
   163   undo_theory;
       
   164 
   162 
   165 val undo = Toplevel.kill o undo_theory o undos_proof 1;
   163 val undo = Toplevel.kill o undo_theory o undos_proof 1;
   166 val kill = Toplevel.kill o Toplevel.exit_local_theory o kill_proof;
   164 val kill = Toplevel.kill o Toplevel.exit_local_theory o kill_proof;
   167 
   165 
   168 val back =
   166 val back =