diff options
author | ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-06-27 23:04:06 +0000 |
---|---|---|
committer | ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-06-27 23:04:06 +0000 |
commit | 2fd40ff72d3b7b54422b9b00b394c9c446cb5cd7 (patch) | |
tree | 3a0b215710462ee62256e612b9981d5dff803349 /plugins | |
parent | e1b495d601df571a866b98c7b62f35e5a1f81781 (diff) |
Removed the distinction between generic Ltac vars and Let/Intro
bindings, which permits using only one environment for interning
terms.
Ltac semantics was sligthly changed, as it required introducing
a lot of additional coercions from goal variables to other types.
Ltac seemed to be quite non-uniform, as it tried to represent
hypotheses with intropatterns, instead of the dedicated var type.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16612 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/decl_mode/decl_interp.ml | 3 | ||||
-rw-r--r-- | plugins/decl_mode/decl_proof_instr.ml | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/plugins/decl_mode/decl_interp.ml b/plugins/decl_mode/decl_interp.ml index c4d6a7a30..04c8c3064 100644 --- a/plugins/decl_mode/decl_interp.ml +++ b/plugins/decl_mode/decl_interp.ml @@ -44,8 +44,7 @@ let intern_constr_or_thesis globs = function | This c -> This (intern_constr globs c) let add_var id globs= - let l1,l2=globs.ltacvars in - {globs with ltacvars= (id::l1),(id::l2)} + {globs with ltacvars = Id.Set.add id globs.ltacvars} let add_name nam globs= match nam with diff --git a/plugins/decl_mode/decl_proof_instr.ml b/plugins/decl_mode/decl_proof_instr.ml index 70c7f8d1f..cabbd4755 100644 --- a/plugins/decl_mode/decl_proof_instr.ml +++ b/plugins/decl_mode/decl_proof_instr.ml @@ -1459,7 +1459,7 @@ let do_instr raw_instr pts = let { it=gls ; sigma=sigma } = Proof.V82.subgoals pts in let gl = { it=List.hd gls ; sigma=sigma } in let env= pf_env gl in - let ist = {ltacvars = ([],[]); ltacrecvars = []; + let ist = {ltacvars = Id.Set.empty; ltacrecvars = []; gsigma = sigma; genv = env} in let glob_instr = intern_proof_instr ist raw_instr in let instr = |