Commit 96d6689d authored by Johan Bockgård's avatar Johan Bockgård
Browse files

Use PAT rather than UPAT in pcase macros

* lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
* lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
  than UPAT.
parent 6d2a3ca2
......@@ -2777,10 +2777,10 @@ non-nil value, that slot cannot be set via `setf'.
;;;###autoload
(pcase-defmacro cl-struct (type &rest fields)
"Pcase patterns to match cl-structs.
Elements of FIELDS can be of the form (NAME UPAT) in which case the contents of
field NAME is matched against UPAT, or they can be of the form NAME which
Elements of FIELDS can be of the form (NAME PAT) in which case the contents of
field NAME is matched against PAT, or they can be of the form NAME which
is a shorthand for (NAME NAME)."
(declare (debug (sexp &rest [&or (sexp pcase-UPAT) sexp])))
(declare (debug (sexp &rest [&or (sexp pcase-PAT) sexp])))
`(and (pred (pcase--flip cl-typep ',type))
,@(mapcar
(lambda (field)
......
......@@ -349,10 +349,10 @@ variable name of the same name as the slot."
(pcase-defmacro eieio (&rest fields)
"Pcase patterns to match EIEIO objects.
Elements of FIELDS can be of the form (NAME UPAT) in which case the contents of
field NAME is matched against UPAT, or they can be of the form NAME which
Elements of FIELDS can be of the form (NAME PAT) in which case the contents of
field NAME is matched against PAT, or they can be of the form NAME which
is a shorthand for (NAME NAME)."
(declare (debug (&rest [&or (sexp pcase-UPAT) sexp])))
(declare (debug (&rest [&or (sexp pcase-PAT) sexp])))
(let ((is (make-symbol "table")))
;; FIXME: This generates a horrendous mess of redundant let bindings.
;; `pcase' needs to be improved somehow to introduce let-bindings more
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment