aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjforest2010-05-06 09:33:08 +0000
committerjforest2010-05-06 09:33:08 +0000
commit05656bc31bdc0c07d52321c9e5dbfd97ff2c25c2 (patch)
tree5b1bc09cc6653d00231c08704c6bb036cd53a5eb
parentf95034fa6ec4341d980e0a9cf686764bd2866eec (diff)
term matching in ltac was not coherent with match goal in presence of wildcards (no backtrack if the tactic failed).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12996 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tactics/tacinterp.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 86bd7cbee8..90b3686f18 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -2166,9 +2166,9 @@ and interp_match ist g lz constr lmr =
match_next_pattern find_next' () in
match_next_pattern (fun () -> match_subterm_gen app c csr) () in
let rec apply_match ist csr = function
- | (All t)::_ ->
+ | (All t)::tl ->
(try eval_with_fail ist lz g t
- with e when is_match_catchable e -> apply_match ist csr [])
+ with e when is_match_catchable e -> apply_match ist csr tl)
| (Pat ([],Term c,mt))::tl ->
(try
let lmatch =