aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2013-01-29 20:49:35 +0000
committerherbelin2013-01-29 20:49:35 +0000
commit3b342fc581294fe16ad53c71832ba61c0f717bd1 (patch)
treec24a7b5e457c06bf71c47ef03af3f63a974925f4
parent1f1a557da2f48500f2b229fb0f9d2baff03778d8 (diff)
Fixed #2970 (made that remember's eqn name is interpretable as an ltac var).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16181 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tactics/tacinterp.ml1
-rw-r--r--test-suite/success/remember.v8
2 files changed, 9 insertions, 0 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index cd494a3e15..f780ca79f5 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -1630,6 +1630,7 @@ and interp_atomic ist gl tac =
(h_generalize_dep c_interp)
| TacLetTac (na,c,clp,b,eqpat) ->
let clp = interp_clause ist gl clp in
+ let eqpat = Option.map (interp_intro_pattern ist gl) eqpat in
if Locusops.is_nowhere clp then
(* We try to fully-typecheck the term *)
let (sigma,c_interp) = pf_interp_constr ist gl c in
diff --git a/test-suite/success/remember.v b/test-suite/success/remember.v
index 5f8ed03d3f..0befe054a3 100644
--- a/test-suite/success/remember.v
+++ b/test-suite/success/remember.v
@@ -6,3 +6,11 @@ Fail remember nat as X.
Fail remember nat as X in H. (* This line used to succeed in 8.3 *)
Fail remember nat as X.
Abort.
+
+(* Testing Ltac interpretation of remember (was not working up to r16181) *)
+
+Goal (1 + 2 + 3 = 6).
+let name := fresh "fresh" in
+remember (1 + 2) as x eqn:name.
+rewrite fresh.
+Abort.