aboutsummaryrefslogtreecommitdiff
path: root/toplevel/command.ml
diff options
context:
space:
mode:
authorherbelin2002-08-17 09:24:32 +0000
committerherbelin2002-08-17 09:24:32 +0000
commita3a5350786ace6fac2c12890df6330782201cc77 (patch)
treeee0f2fa365d781997e7d7a076134ed24bdff4150 /toplevel/command.ml
parentc9ee59a538ffe2b80d9594247f9c60464cf4a821 (diff)
Suppression automatique du corps des définitions locales opaques dans
les contextes de preuves git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2972 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/command.ml')
-rw-r--r--toplevel/command.ml6
1 files changed, 4 insertions, 2 deletions
diff --git a/toplevel/command.ml b/toplevel/command.ml
index c9becbd3ac..01b883998f 100644
--- a/toplevel/command.ml
+++ b/toplevel/command.ml
@@ -107,7 +107,8 @@ let declare_definition ident (local,n) bl red_option c typopt =
| NeverDischarge -> declare_global_definition ident ce' n local
| DischargeAt (disch_sp,_) ->
if Lib.is_section_p disch_sp then begin
- let c = SectionLocalDef(ce'.const_entry_body,ce'.const_entry_type) in
+ let c =
+ SectionLocalDef(ce'.const_entry_body,ce'.const_entry_type,false) in
let _ = declare_variable ident (Lib.cwd(), c, n) in
if_verbose message ((string_of_id ident) ^ " is defined");
if Pfedit.refining () then
@@ -472,6 +473,7 @@ let build_scheme lnamedepindsort =
let start_proof_com sopt (local,stre) com hook =
let env = Global.env () in
let sign = Global.named_context () in
+ let sign = clear_proofs sign in
let id = match sopt with
| Some id ->
(* We check existence here: it's a bit late at Qed time *)
@@ -500,7 +502,7 @@ let save id const (local,strength) hook =
const_entry_opaque = opacity } = const in
begin match strength with
| DischargeAt (disch_sp,_) when Lib.is_section_p disch_sp && local ->
- let c = SectionLocalDef (pft, tpo) in
+ let c = SectionLocalDef (pft, tpo, opacity) in
let _ = declare_variable id (Lib.cwd(), c, strength) in
hook strength (VarRef id)
| NeverDischarge | DischargeAt _ ->