fixing pr11036 by adding plain certificates

original commit: 170ab47dc2
This commit is contained in:
Blake Johnson 2010-09-10 12:58:56 -06:00 committed by Jay McCarthy
parent 428d1d383d
commit 4c5dfd88af
3 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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]