aboutsummaryrefslogtreecommitdiff
path: root/interp/notation_ops.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2016-09-14 10:27:38 +0200
committerPierre-Marie Pédrot2016-09-14 11:10:25 +0200
commit3e794be5f02ed438cdc5a351d09bdfb54c0be01a (patch)
tree3bbed56609e021f5c560a10037bafdae62e0db14 /interp/notation_ops.ml
parent0e94cb62410354e5df4e65b34e7cbf8451b31d6e (diff)
parent2aaa58c22e37b05e3637ac7161bb464da7db054a (diff)
Merge branch 'v8.5' into v8.6
Diffstat (limited to 'interp/notation_ops.ml')
-rw-r--r--interp/notation_ops.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/interp/notation_ops.ml b/interp/notation_ops.ml
index fcb4a345e2..1262864c76 100644
--- a/interp/notation_ops.ml
+++ b/interp/notation_ops.ml
@@ -615,7 +615,8 @@ let add_env (alp,alpmetas) (terms,onlybinders,termlists,binderlists) var v =
notation, as in "Notation "'twice_upto' y" := (fun x => x + x + y)". Then
we keep (z,x) in alp, and we have to check that what the [v] which is bound
to [var] does not contain z *)
- if List.exists (fun (id,_) ->occur_glob_constr id v) alp then raise No_match;
+ if not (Id.equal ldots_var var) &&
+ List.exists (fun (id,_) -> occur_glob_constr id v) alp then raise No_match;
(* [alpmetas] is used when matching a pattern "fun x => ... x ... ?var ... x ..."
with an actual term "fun z => ... z ..." when "x" is bound in the
notation and the name "x" cannot be changed to "z", e.g. because