From 170ab47dc2bd1fa2232c30f33062ac8e4e0c1a26 Mon Sep 17 00:00:00 2001 From: Blake Johnson Date: Fri, 10 Sep 2010 12:58:56 -0600 Subject: [PATCH] fixing pr11036 by adding plain certificates --- collects/compiler/zo-marshal.rkt | 4 +++- collects/compiler/zo-parse.rkt | 4 +++- collects/compiler/zo-structs.rkt | 3 +++ collects/scribblings/raco/zo-parse.scrbl | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) 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] diff --git a/collects/scribblings/raco/zo-parse.scrbl b/collects/scribblings/raco/zo-parse.scrbl index f6d2208e17..8d0ad40180 100644 --- a/collects/scribblings/raco/zo-parse.scrbl +++ b/collects/scribblings/raco/zo-parse.scrbl @@ -554,6 +554,10 @@ A nested certificate.} [map (listof number? module-path-index? ...)])]{ A reference certificate.} + +@defstruct+[(certificate:plain certificate) ([map (listof number? module-path-index? ...)])]{ + +A plain certificate.} @defstruct+[(wrap zo) ()]{