* lisp/emacs-lisp/cl-macs.el: Fix test regression

(cl--alist-to-plist): New function.
(cl-struct-slot-info): Use it.
This commit is contained in:
Stefan Monnier 2021-06-26 12:20:11 -04:00
parent d456120189
commit 73663d14cf

View file

@ -3276,6 +3276,13 @@ STRUCT-TYPE is a symbol naming a struct type. Return `record',
(declare (side-effect-free t) (pure t))
(cl--struct-class-type (cl--struct-get-class struct-type)))
(defun cl--alist-to-plist (alist)
(let ((res '()))
(dolist (x alist)
(push (car x) res)
(push (cdr x) res))
(nreverse res)))
(defun cl-struct-slot-info (struct-type)
"Return a list of slot names of struct STRUCT-TYPE.
Each entry is a list (SLOT-NAME . OPTS), where SLOT-NAME is a
@ -3293,7 +3300,7 @@ slots skipped by :initial-offset may appear in the list."
,(cl--slot-descriptor-initform slot)
,@(if (not (eq (cl--slot-descriptor-type slot) t))
`(:type ,(cl--slot-descriptor-type slot)))
,@(cl--slot-descriptor-props slot))
,@(cl--alist-to-plist (cl--slot-descriptor-props slot)))
descs)))
(nreverse descs)))