diff --git a/collects/scribble/xref.ss b/collects/scribble/xref.ss index f445b0a0..4440ca82 100644 --- a/collects/scribble/xref.ss +++ b/collects/scribble/xref.ss @@ -40,7 +40,9 @@ [ci (send renderer collect null null)]) (for-each (lambda (src) (parameterize ([current-namespace (namespace-anchor->empty-namespace here)]) - (send renderer deserialize-info (src) ci))) + (let ([v (src)]) + (when v + (send renderer deserialize-info v ci))))) sources) (make-xrefs renderer (send renderer resolve null null ci)))) diff --git a/collects/scribblings/scribble/xref.scrbl b/collects/scribblings/scribble/xref.scrbl index 0d01223b..db39dead 100644 --- a/collects/scribblings/scribble/xref.scrbl +++ b/collects/scribblings/scribble/xref.scrbl @@ -27,7 +27,8 @@ by @scheme[load-xref], @scheme[#f] otherwise.} Creates a cross-reference record given a list of functions that each produce a serialized information obtained from @xmethod[render% -serialize-info]. +serialize-info]. If a @scheme[sources] element produces @scheme[#f], +its result is ignored. Since the format of serialized information is specific to a rendering class, the optional @scheme[using-render%] argument accepts the