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))
(generated-tag? (cadr s))
(and (pair? (cadr s))
(list? (cadr s))))
(list? (cadr s))
(serializable? (cadr s))))
(null? (cddr s))))
(provide block?)

View File

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