diff options
| author | Stefan Monnier | 2019-04-04 13:46:30 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2019-04-04 13:46:30 -0400 |
| commit | 81f64da220b7a8b46f64212724cb2be6c99a0cac (patch) | |
| tree | d10e7519a316a637048678422ce3bd34483d5375 | |
| parent | 18c02f7e078ae574d03ec67939c4755ce3554fb2 (diff) | |
| download | emacs-81f64da220b7a8b46f64212724cb2be6c99a0cac.tar.gz emacs-81f64da220b7a8b46f64212724cb2be6c99a0cac.zip | |
* lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131)
| -rw-r--r-- | lisp/desktop.el | 13 |
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 |