[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31350: 27.0; `pcase' message: "Redundant pcase pattern"
From: |
Drew Adams |
Subject: |
bug#31350: 27.0; `pcase' message: "Redundant pcase pattern" |
Date: |
Thu, 3 May 2018 11:18:45 -0700 (PDT) |
> > But the interpreted code worked as I wanted. Apparently it was the
> > first of the two clauses (not the second, which had the "unused"
> > lexical variable) that was ignored when interpreting. That lexical
> > variable was used when interpreting.
>
> Are you sure?
No, not at this point.
> I get
> (macroexpand-1
> '(pcase foo
> (`,a `(not ,a))
> ((and a (guard (not recursivep))) `(not ,a))))
> ==>
> (let ((a foo))
> `(not ,a))
>
> and when running the pcase form, the lexical binding of RECURSIVEP is
> ignored for me, e.g.
>
> (let ((recursivep t))
> (pcase 1
> (`,a `(not ,a))
> ((and a (guard (not recursivep))) `(not ,a))))
> ==> (not 1) (instead of nil)
OK, thanks. The rest of the bug report stands, though.