aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorherbelin2009-04-24 11:06:46 +0000
committerherbelin2009-04-24 11:06:46 +0000
commitac4ba8bbc899c3d3db1f1f5e0592ee419ed92994 (patch)
tree76553bf17254804a0173a023402a064ffd7e2b26 /toplevel
parentcf71bfb25ddba52c72bdec4507021cd6e5ee06e8 (diff)
Backporting 12080 (fixing bug #2091 on bad rollback in the "where"
clause resulting in stray notations for e.g. variable named "le") and 12083 (fixing bug in as clause of apply in) from trunk. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12103 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/command.ml4
-rw-r--r--toplevel/record.ml2
2 files changed, 3 insertions, 3 deletions
diff --git a/toplevel/command.ml b/toplevel/command.ml
index cb772714d6..ed21213ef4 100644
--- a/toplevel/command.ml
+++ b/toplevel/command.ml
@@ -541,7 +541,7 @@ let interp_mutual paramsl indl notations finite =
let mldatas = List.map2 (mk_mltype_data evdref env_params params) arities indnames in
let constructors =
- States.with_heavy_rollback (fun () ->
+ States.with_state_protection (fun () ->
(* Temporary declaration of notations and scopes *)
List.iter (declare_interning_data impls) notations;
(* Interpret the constructor types *)
@@ -849,7 +849,7 @@ let interp_recursive fixkind l boxed =
(* Interp bodies with rollback because temp use of notations/implicit *)
let fixdefs =
- States.with_heavy_rollback (fun () ->
+ States.with_state_protection (fun () ->
List.iter (declare_interning_data impls) notations;
list_map3 (interp_fix_body evdref env_rec impls) fixctxs fixl fixccls)
() in
diff --git a/toplevel/record.ml b/toplevel/record.ml
index d22735f1dd..b1a56d577c 100644
--- a/toplevel/record.ml
+++ b/toplevel/record.ml
@@ -392,7 +392,7 @@ let definition_structure (kind,finite,infer,(is_coe,(loc,idstruc)),ps,cfs,idbuil
(* Now, younger decl in params and fields is on top *)
let sc = interp_and_check_sort s in
let implpars, params, implfs, fields =
- States.with_heavy_rollback (fun () ->
+ States.with_state_protection (fun () ->
typecheck_params_and_fields idstruc sc ps notations fs) () in
let sign = structure_signature (fields@params) in
match kind with