aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/pcase.el
diff options
context:
space:
mode:
authorDmitry Gutov2022-08-15 02:22:59 +0300
committerDmitry Gutov2022-08-15 02:22:59 +0300
commitee3a674c7c9e39fe7ff296ce1f9830fc45520de8 (patch)
treee8ba1e7be54314f208454e80e3d31044c913f3eb /lisp/emacs-lisp/pcase.el
parentfe0e53d963899a16e0dd1bbc1ba10a6b59f7989e (diff)
parent0a8e88fd83db5398d36064a7f87cff5b57da7284 (diff)
downloademacs-scratch/font_lock_large_files.tar.gz
emacs-scratch/font_lock_large_files.zip
Merge branch 'master' into scratch/font_lock_large_filesscratch/font_lock_large_files
Diffstat (limited to 'lisp/emacs-lisp/pcase.el')
-rw-r--r--lisp/emacs-lisp/pcase.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index 07443dabfef..10bd4bc6886 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -607,31 +607,38 @@ recording whether the var has been referenced by earlier parts of the match."
607 (symbolp . vectorp) 607 (symbolp . vectorp)
608 (symbolp . stringp) 608 (symbolp . stringp)
609 (symbolp . byte-code-function-p) 609 (symbolp . byte-code-function-p)
610 (symbolp . compiled-function-p)
610 (symbolp . recordp) 611 (symbolp . recordp)
611 (integerp . consp) 612 (integerp . consp)
612 (integerp . arrayp) 613 (integerp . arrayp)
613 (integerp . vectorp) 614 (integerp . vectorp)
614 (integerp . stringp) 615 (integerp . stringp)
615 (integerp . byte-code-function-p) 616 (integerp . byte-code-function-p)
617 (integerp . compiled-function-p)
616 (integerp . recordp) 618 (integerp . recordp)
617 (numberp . consp) 619 (numberp . consp)
618 (numberp . arrayp) 620 (numberp . arrayp)
619 (numberp . vectorp) 621 (numberp . vectorp)
620 (numberp . stringp) 622 (numberp . stringp)
621 (numberp . byte-code-function-p) 623 (numberp . byte-code-function-p)
624 (numberp . compiled-function-p)
622 (numberp . recordp) 625 (numberp . recordp)
623 (consp . arrayp) 626 (consp . arrayp)
624 (consp . atom) 627 (consp . atom)
625 (consp . vectorp) 628 (consp . vectorp)
626 (consp . stringp) 629 (consp . stringp)
627 (consp . byte-code-function-p) 630 (consp . byte-code-function-p)
631 (consp . compiled-function-p)
628 (consp . recordp) 632 (consp . recordp)
629 (arrayp . byte-code-function-p) 633 (arrayp . byte-code-function-p)
634 (arrayp . compiled-function-p)
630 (vectorp . byte-code-function-p) 635 (vectorp . byte-code-function-p)
636 (vectorp . compiled-function-p)
631 (vectorp . recordp) 637 (vectorp . recordp)
632 (stringp . vectorp) 638 (stringp . vectorp)
633 (stringp . recordp) 639 (stringp . recordp)
634 (stringp . byte-code-function-p))) 640 (stringp . byte-code-function-p)
641 (stringp . compiled-function-p)))
635 642
636(defun pcase--mutually-exclusive-p (pred1 pred2) 643(defun pcase--mutually-exclusive-p (pred1 pred2)
637 (or (member (cons pred1 pred2) 644 (or (member (cons pred1 pred2)
@@ -771,8 +778,8 @@ A and B can be one of:
771 ((consp (cadr pat)) #'consp) 778 ((consp (cadr pat)) #'consp)
772 ((stringp (cadr pat)) #'stringp) 779 ((stringp (cadr pat)) #'stringp)
773 ((vectorp (cadr pat)) #'vectorp) 780 ((vectorp (cadr pat)) #'vectorp)
774 ((byte-code-function-p (cadr pat)) 781 ((compiled-function-p (cadr pat))
775 #'byte-code-function-p)))) 782 #'compiled-function-p))))
776 (pcase--mutually-exclusive-p (cadr upat) otherpred)) 783 (pcase--mutually-exclusive-p (cadr upat) otherpred))
777 '(:pcase--fail . nil)) 784 '(:pcase--fail . nil))
778 ;; Since we turn (or 'a 'b 'c) into (pred (pcase--flip (memq '(a b c)))) 785 ;; Since we turn (or 'a 'b 'c) into (pred (pcase--flip (memq '(a b c))))