]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/cl-macs.el: Fix test regression
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 26 Jun 2021 16:20:11 +0000 (12:20 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 26 Jun 2021 16:20:25 +0000 (12:20 -0400)
(cl--alist-to-plist): New function.
(cl-struct-slot-info): Use it.

lisp/emacs-lisp/cl-macs.el

index a59d42e673c4718ef39d671e625b7c0c2188baab..cff43689405b3b137b4fc8fa324c2dc8c507f3cc 100644 (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)))