]> git.eshelyaron.com Git - emacs.git/commit
* lisp/emacs-lisp/pcase.el (pcase--split-pred): Handle `memq` pred.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 27 Jan 2021 23:51:09 +0000 (18:51 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 27 Jan 2021 23:51:09 +0000 (18:51 -0500)
commitd93bca019713e98228aca9f4d1a4838a72b1cf92
tree3dd984c34b1e55e81975a1b55db17e0b4fcbb239
parentd168110a322389a9f991d7a5bdd1cf777642c990
* lisp/emacs-lisp/pcase.el (pcase--split-pred): Handle `memq` pred.

Improve handling of the `member` tests generated from (or 'a 'b 'c).
This will expand

    (pcase EXP ((and (or 1 2 3) (guard (FOO))) EXP1) (1 EXP2) (6 EXP3))

to

    (cond ((memql '(3 2 1) EXP)
           (cond ((FOO) EXP1) ((eql EXP 1) EXP2)))
          ((eql EXP 6) EXP3))

rather than to

    (cond ((memql '(3 2 1) EXP)
           (cond ((FOO) EXP1) ((eql EXP 1) EXP2) ((eql EXP 6) EXP3)))
          ((eql EXP 1) EXP2)
          ((eql EXP 6) EXP3))
lisp/emacs-lisp/pcase.el