diff options
| author | herbelin | 2013-05-14 18:38:07 +0000 |
|---|---|---|
| committer | herbelin | 2013-05-14 18:38:07 +0000 |
| commit | 23a51bab686dd0ceaa9a87b09beb49d0ee0575c4 (patch) | |
| tree | 9c7cc50cfe22478c16cdf654c076fc8dba6075eb | |
| parent | a8377ede7e0e1e6d2e39d16050fbe6fddc8158d4 (diff) | |
"change ... in ..." and "simpl ... in ..." now consider nested
occurrences (possible source of incompatibilities since this alters
the numbering of occurrences).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16525 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | CHANGES | 4 | ||||
| -rw-r--r-- | pretyping/tacred.ml | 3 |
2 files changed, 6 insertions, 1 deletions
@@ -43,6 +43,10 @@ Tactics behaves like if matching on "?X pat1 ... patn", i.e. accepting "_" to be instantiated by an applicative term (experimental at this stage, potential source of incompatibilities). +- "change ... in ..." and "simpl ... in ..." now consider nested + occurrences (possible source of incompatibilities since this alters + the numbering of occurrences). + Program diff --git a/pretyping/tacred.ml b/pretyping/tacred.ml index 08d2c7cdf4..31cf52eace 100644 --- a/pretyping/tacred.ml +++ b/pretyping/tacred.ml @@ -897,7 +897,8 @@ let contextually byhead (occs,c) f env sigma t = else not (List.mem !pos locs) in incr pos; if ok then - f subst env sigma t + let subst' = List.map (on_snd (traverse envc)) subst in + f subst' env sigma t else if byhead then (* find other occurrences of c in t; TODO: ensure left-to-right *) let (f,l) = destApp t in |
