src/Pure/Isar/isar_cmd.ML
changeset 26489 e83dc4bb9ab4
parent 26463 9283b4185fdf
child 26498 3f0231b880a7
equal deleted inserted replaced
26488:b497e3187ec7 26489:e83dc4bb9ab4
    60   val undo_theory: Toplevel.transition -> Toplevel.transition
    60   val undo_theory: Toplevel.transition -> Toplevel.transition
    61   val undo: Toplevel.transition -> Toplevel.transition
    61   val undo: Toplevel.transition -> Toplevel.transition
    62   val cannot_undo: string -> Toplevel.transition -> Toplevel.transition
    62   val cannot_undo: string -> Toplevel.transition -> Toplevel.transition
    63   val kill: Toplevel.transition -> Toplevel.transition
    63   val kill: Toplevel.transition -> Toplevel.transition
    64   val back: Toplevel.transition -> Toplevel.transition
    64   val back: Toplevel.transition -> Toplevel.transition
    65   val use: Path.T -> Toplevel.transition -> Toplevel.transition
    65   val ml_diag: bool -> string * Position.T -> Toplevel.transition -> Toplevel.transition
    66   val use_mltext_theory: string * Position.T -> Toplevel.transition -> Toplevel.transition
       
    67   val use_mltext: bool -> string * Position.T -> Toplevel.transition -> Toplevel.transition
       
    68   val use_commit: Toplevel.transition -> Toplevel.transition
       
    69   val nested_command: Markup.property list -> string * Position.T -> Toplevel.transition
    66   val nested_command: Markup.property list -> string * Position.T -> Toplevel.transition
    70   val cd: Path.T -> Toplevel.transition -> Toplevel.transition
    67   val cd: Path.T -> Toplevel.transition -> Toplevel.transition
    71   val pwd: Toplevel.transition -> Toplevel.transition
    68   val pwd: Toplevel.transition -> Toplevel.transition
    72   val display_drafts: Path.T list -> Toplevel.transition -> Toplevel.transition
    69   val display_drafts: Path.T list -> Toplevel.transition -> Toplevel.transition
    73   val print_drafts: Path.T list -> Toplevel.transition -> Toplevel.transition
    70   val print_drafts: Path.T list -> Toplevel.transition -> Toplevel.transition
   380 val back =
   377 val back =
   381   Toplevel.actual_proof ProofHistory.back o
   378   Toplevel.actual_proof ProofHistory.back o
   382   Toplevel.skip_proof (History.apply I);
   379   Toplevel.skip_proof (History.apply I);
   383 
   380 
   384 
   381 
   385 (* use ML text *)
   382 (* diagnostic ML evaluation *)
   386 
   383 
   387 fun use path = Toplevel.keep (fn state =>
   384 fun ml_diag verbose (txt, pos) = Toplevel.keep (fn state =>
   388   Context.setmp_thread_data (try Toplevel.generic_theory_of state) (ThyInfo.load_file false) path);
   385   (ML_Context.eval_in (try Toplevel.generic_theory_of state) verbose pos txt));
   389 
       
   390 (*passes changes of theory context*)
       
   391 fun use_mltext_theory (txt, pos) = Toplevel.theory' (fn int =>
       
   392   Context.theory_map (ML_Context.exec (fn () => ML_Context.eval int pos txt)));
       
   393 
       
   394 (*ignore result theory context*)
       
   395 fun use_mltext verbose (txt, pos) = Toplevel.keep' (fn int => fn state =>
       
   396   (ML_Context.eval_in (try Toplevel.generic_theory_of state) (verbose andalso int) pos txt));
       
   397 
       
   398 val use_commit = Toplevel.imperative Secure.commit;
       
   399 
   386 
   400 
   387 
   401 (* nested commands *)
   388 (* nested commands *)
   402 
   389 
   403 fun nested_command props (str, pos) =
   390 fun nested_command props (str, pos) =