`',(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