aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorfilliatr2000-11-21 16:54:58 +0000
committerfilliatr2000-11-21 16:54:58 +0000
commitcb5af55e2500748daa62c11f92c53f72e37d49c4 (patch)
tree0a60bf89e6d9f50b6631b079a40b3e6f882e4070 /toplevel
parentc332c8fe84f7a2f1abbde26a95a369934ed82487 (diff)
implicites manuels
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@905 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/discharge.ml2
-rw-r--r--toplevel/vernacentries.ml25
2 files changed, 18 insertions, 9 deletions
diff --git a/toplevel/discharge.ml b/toplevel/discharge.ml
index ba584d756e..866d09f7d3 100644
--- a/toplevel/discharge.ml
+++ b/toplevel/discharge.ml
@@ -173,7 +173,7 @@ let process_object oldenv dir sec_sp
| "INDUCTIVE" ->
let mib = Environ.lookup_mind sp oldenv in
let newsp = recalc_sp dir sp in
- let imp = is_implicit_inductive_definition sp in
+ let imp = is_implicit_args() (* CHANGE *) in
let (mie,indmods,cstrmods) =
process_inductive sp newsp oldenv (ids_to_discard,work_alist) mib in
((Inductive(mie,imp)) :: ops, ids_to_discard,
diff --git a/toplevel/vernacentries.ml b/toplevel/vernacentries.ml
index f60ecbd3e4..e33c9655a3 100644
--- a/toplevel/vernacentries.ml
+++ b/toplevel/vernacentries.ml
@@ -436,6 +436,21 @@ let _ =
| [] -> (fun () -> Impargs.make_implicit_args false)
| _ -> bad_vernac_args "IMPLICIT_ARGS_OFF")
+let number_list =
+ List.map (function VARG_NUMBER n -> n | _ -> bad_vernac_args "Number list")
+
+let _ =
+ add "IMPLICITS"
+ (function
+ | (VARG_STRING "") :: (VARG_IDENTIFIER id) :: l ->
+ (fun () ->
+ let imps = number_list l in
+ Impargs.declare_manual_implicits (Nametab.sp_of_id CCI id) imps)
+ | [VARG_STRING "Auto"; VARG_IDENTIFIER id] ->
+ (fun () ->
+ Impargs.declare_implicits (Nametab.sp_of_id CCI id))
+ | _ -> bad_vernac_args "IMPLICITS")
+
let _ =
add "SaveNamed"
(function
@@ -588,10 +603,7 @@ let _ =
let _ =
add "ExplainProof"
(function l ->
- let l = List.map (function
- | (VARG_NUMBER n) -> n
- | _ -> bad_vernac_args "ExplainProof") l
- in
+ let l = number_list l in
fun () ->
let pts = get_pftreestate() in
let evc = evc_of_pftreestate pts in
@@ -605,10 +617,7 @@ let _ =
let _ =
add "ExplainProofTree"
(function l ->
- let l = List.map (function
- | (VARG_NUMBER n) -> n
- | _ -> bad_vernac_args "ExplainProofTree") l
- in
+ let l = number_list l in
fun () ->
let pts = get_pftreestate() in
let evc = evc_of_pftreestate pts in