From: Stefan Monnier Date: Sat, 26 Jun 2021 16:20:11 +0000 (-0400) Subject: * lisp/emacs-lisp/cl-macs.el: Fix test regression X-Git-Tag: emacs-28.0.90~2020 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=73663d14cfb3923dc57fab0043f7b1aa3a488407;p=emacs.git * lisp/emacs-lisp/cl-macs.el: Fix test regression (cl--alist-to-plist): New function. (cl-struct-slot-info): Use it. --- diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index a59d42e673c..cff43689405 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -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)))