Hi
This is for GNU Emacs 29.2 (build 2, x86_64-w64-mingw32) of 2024-02-01 running on Windows 11.
I just noticed the following with pcase-let and pcase. I believe this is a problem with pcase-let. The following is a IELM transcript. The second plet-case should, IMHO, fail.
ELISP> (pcase-let ((`(let ,bs (when ,c . ,r)) '(let ((foo 42)) (when 1 2 3))))
(list 'bs bs 'c c 'r r))
(bs
((foo 42))
c 1 r
(2 3))
ELISP> (pcase-let ((`(let ,bs (when ,c . ,r)) '(let ((foo 42)) (zot 1 2 3))))
(list 'bs bs 'c c 'r r))
(bs
((foo 42))
c 1 r
(2 3))
ELISP> (pcase '(let ((foo 42)) (when 1 2 3))
(`(let ,bs (zot ,c . ,r)) (list 'bs bs 'c c 'r r)))
nil
pcase correctly fails to match when and zot, while pcase-let seems to happily go ahead.
All the best
-- Marco Antoniotti
Somewhere over the Rainbow