aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2019-04-04 13:46:30 -0400
committerStefan Monnier2019-04-04 13:46:30 -0400
commit81f64da220b7a8b46f64212724cb2be6c99a0cac (patch)
treed10e7519a316a637048678422ce3bd34483d5375
parent18c02f7e078ae574d03ec67939c4755ce3554fb2 (diff)
downloademacs-81f64da220b7a8b46f64212724cb2be6c99a0cac.tar.gz
emacs-81f64da220b7a8b46f64212724cb2be6c99a0cac.zip
* lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131)
-rw-r--r--lisp/desktop.el13
1 files changed, 13 insertions, 0 deletions
diff --git a/lisp/desktop.el b/lisp/desktop.el
index acabde5eb2f..97c057e2013 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -856,6 +856,19 @@ QUOTE may be `may' (value may be quoted),
856 `',(cdr el) (cdr el))) 856 `',(cdr el) (cdr el)))
857 pass1))) 857 pass1)))
858 (cons 'may `[,@(mapcar #'cdr pass1)])))) 858 (cons 'may `[,@(mapcar #'cdr pass1)]))))
859 ((and (recordp value) (symbolp (aref value 0)))
860 (let* ((pass1 (let ((res ()))
861 (dotimes (i (length value))
862 (push (desktop--v2s (aref value i)) res))
863 (nreverse res)))
864 (special (assq nil pass1)))
865 (if special
866 (cons nil `(record
867 ,@(mapcar (lambda (el)
868 (if (eq (car el) 'must)
869 `',(cdr el) (cdr el)))
870 pass1)))
871 (cons 'may (apply #'record (mapcar #'cdr pass1))))))
859 ((consp value) 872 ((consp value)
860 (let ((p value) 873 (let ((p value)
861 newlist 874 newlist