diff --git a/collects/compiler/zo-marshal.rkt b/collects/compiler/zo-marshal.rkt index 76a5731737..e9403b252c 100644 --- a/collects/compiler/zo-marshal.rkt +++ b/collects/compiler/zo-marshal.rkt @@ -356,7 +356,9 @@ [(struct certificate:nest (m1 m2)) (list* (encode-mark-map m1) (encode-mark-map m2))] [(struct certificate:ref (val m)) - (list* #f (make-protected-symref val) (encode-mark-map m))])) + (list* #f (make-protected-symref val) (encode-mark-map m))] + [(struct certificate:plain (m)) + (encode-mark-map m)])) (define (encode-wrapped w) (match w diff --git a/collects/compiler/zo-parse.rkt b/collects/compiler/zo-parse.rkt index 6a8edd6032..e6e677700e 100644 --- a/collects/compiler/zo-parse.rkt +++ b/collects/compiler/zo-parse.rkt @@ -524,7 +524,9 @@ (symtab-lookup cp symref) (decode-mark-map alist))] [(list* (? list? nested) alist) - (make-certificate:nest (decode-mark-map nested) (decode-mark-map alist))]))) + (make-certificate:nest (decode-mark-map nested) (decode-mark-map alist))] + [alist + (make-certificate:plain (decode-mark-map alist))]))) (define stx-memo (make-memo)) ; XXX More memo use diff --git a/collects/compiler/zo-structs.rkt b/collects/compiler/zo-structs.rkt index acb2476831..4aba9f8ded 100644 --- a/collects/compiler/zo-structs.rkt +++ b/collects/compiler/zo-structs.rkt @@ -63,6 +63,9 @@ (define-form-struct (certificate:ref certificate) ([val any/c] [map mark-map?])) +(define-form-struct (certificate:plain certificate) + ([map mark-map?])) + (define-form-struct wrap ()) (define-form-struct wrapped ([datum any/c]