]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131)
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 4 Apr 2019 17:46:30 +0000 (13:46 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 4 Apr 2019 17:46:30 +0000 (13:46 -0400)
lisp/desktop.el

index acabde5eb2f08b4096e4504260d9345f10a8f7d9..97c057e2013fe1baf479823782231bc49b8b2438 100644 (file)
@@ -856,6 +856,19 @@ QUOTE may be `may' (value may be quoted),
                                        `',(cdr el) (cdr el)))
                                  pass1)))
         (cons 'may `[,@(mapcar #'cdr pass1)]))))
+    ((and (recordp value) (symbolp (aref value 0)))
+     (let* ((pass1 (let ((res ()))
+                     (dotimes (i (length value))
+                       (push (desktop--v2s (aref value i)) res))
+                     (nreverse res)))
+           (special (assq nil pass1)))
+       (if special
+          (cons nil `(record
+                       ,@(mapcar (lambda (el)
+                                   (if (eq (car el) 'must)
+                                       `',(cdr el) (cdr el)))
+                                 pass1)))
+        (cons 'may (apply #'record (mapcar #'cdr pass1))))))
     ((consp value)
      (let ((p value)
           newlist