From 81f64da220b7a8b46f64212724cb2be6c99a0cac Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 4 Apr 2019 13:46:30 -0400 Subject: [PATCH] * lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131) --- lisp/desktop.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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), `',(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 -- 2.39.2