diff -r e60cdbc5e8e1 -r 134991516430 src/Pure/Isar/method.ML --- a/src/Pure/Isar/method.ML Mon Jun 16 17:54:48 2008 +0200 +++ b/src/Pure/Isar/method.ML Mon Jun 16 17:54:49 2008 +0200 @@ -51,8 +51,9 @@ val drule: int -> thm list -> method val frule: int -> thm list -> method val iprover_tac: Proof.context -> int option -> int -> tactic - val set_tactic: (Proof.context -> thm list -> tactic) -> Proof.context -> Proof.context + val set_tactic: (thm list -> tactic) -> Proof.context -> Proof.context val tactic: string * Position.T -> Proof.context -> method + val raw_tactic: string * Position.T -> Proof.context -> method type src datatype text = Basic of (Proof.context -> method) * Position.T | @@ -355,7 +356,7 @@ structure TacticData = ProofDataFun ( - type T = Proof.context -> thm list -> tactic; + type T = thm list -> tactic; fun init _ = undefined; ); @@ -364,10 +365,10 @@ fun ml_tactic (txt, pos) ctxt = let val ctxt' = ctxt |> Context.proof_map - (ML_Context.expression Position.none - "fun tactic (ctxt: Proof.context) (facts: thm list) : tactic" + (ML_Context.expression pos + "fun tactic (facts: thm list) : tactic" "Context.map_proof (Method.set_tactic tactic)" txt); - in Context.setmp_thread_data (SOME (Context.Proof ctxt)) (TacticData.get ctxt' ctxt) end; + in Context.setmp_thread_data (SOME (Context.Proof ctxt)) (TacticData.get ctxt') end; fun tactic txt ctxt = METHOD (ml_tactic txt ctxt); fun raw_tactic txt ctxt = RAW_METHOD (ml_tactic txt ctxt);