raco setup: fix problem with doc index database

When a tag is serializable but not `write'--`read' invariant,
then it needs to be serialized and deserialized.

Also, clarify and check in `tag?' that a tag should be
serializable.

original commit: 6eef00a31287fd88e1c93139dc5b6c1ab97f6da8
This commit is contained in:
Matthew Flatt 2012-12-13 15:32:17 -07:00
parent 8d8e2ea112
commit 4f1eae99b6
2 changed files with 5 additions and 3 deletions

View File

@ -93,7 +93,8 @@
(or (string? (cadr s)) (or (string? (cadr s))
(generated-tag? (cadr s)) (generated-tag? (cadr s))
(and (pair? (cadr s)) (and (pair? (cadr s))
(list? (cadr s)))) (list? (cadr s))
(serializable? (cadr s))))
(null? (cddr s)))) (null? (cddr s))))
(provide block?) (provide block?)

View File

@ -3,6 +3,7 @@
(except-in "utils.rkt" url) (except-in "utils.rkt" url)
"struct-hierarchy.rkt" "struct-hierarchy.rkt"
(for-label scribble/manual-struct (for-label scribble/manual-struct
racket/serialize
file/convertible file/convertible
setup/main-collects setup/main-collects
scriblib/render-cond scriblib/render-cond
@ -1157,8 +1158,8 @@ or @racket[style] structure.}
Returns @racket[#t] if @racket[v] is acceptable as a link Returns @racket[#t] if @racket[v] is acceptable as a link
@techlink{tag}, which is a list containing a symbol and either a @techlink{tag}, which is a list containing a symbol and either a
string, a @racket[generated-tag] instance, or a list (of arbitrary string, a @racket[generated-tag] instance, or a non-empty list
values).} of @racket[serializable?] values.}
@defstruct[generated-tag ()]{ @defstruct[generated-tag ()]{