(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* obj = declare_object { (default_object name) with cache_function = cache; load_function = (fun _ -> load); open_function = (fun _ -> load); classify_function = (fun (local, tac) -> if local then Dispose else Substitute (local, tac)); subst_function = subst} in let put local tac = set_default_tactic local tac; Lib.add_anonymous_leaf (input (local, tac)) in let get () = !locality, !default_tactic in let print () = Pptactic.pr_glob_tactic (Global.env ()) !default_tactic_expr ++ (if !locality then str" (locally defined)" else str" (globally defined)") in let freeze () = !locality, !default_tactic_expr in let unfreeze (local, t) = set_default_tactic local t in let init () = () in Summary.declare_summary name { Summary.freeze_function = freeze; Summary.unfreeze_function = unfreeze; Summary.init_function = init }; put, get, print