]> git.eshelyaron.com Git - emacs.git/commit
Fix pcase rx pattern bugs
authorMattias Engdegård <mattiase@acm.org>
Fri, 26 Feb 2021 08:52:16 +0000 (09:52 +0100)
committerMattias Engdegård <mattiase@acm.org>
Fri, 26 Feb 2021 09:09:42 +0000 (10:09 +0100)
commit70f2d658e42120c289c4a3c043b5d5b1331bc183
tree72fccc67118546e6d38b5969a32764dcb3060348
parent6bf56a3614ccd23a31e34ae997b2a6bb0d158489
Fix pcase rx pattern bugs

Two unrelated bugs: A missing type check caused an error in rx
patterns for non-string match targets, and rx patterns did not work at
all in pcase-let or pcase-let*.

Second bug reported by Basil Contovounesios and Ag Ibragimov; fixes
proposed by Stefan Monnier.  Discussion and explanation in thread at
https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01924.html

* lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors,
and replace the `pred` clause for the actual match with something that
works with pcase-let(*) without being optimised away.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases.
lisp/emacs-lisp/rx.el
test/lisp/emacs-lisp/rx-tests.el