diff --git a/collects/xml/private/reader.ss b/collects/xml/private/reader.ss index 5569709486..2f291eb410 100644 --- a/collects/xml/private/reader.ss +++ b/collects/xml/private/reader.ss @@ -72,9 +72,14 @@ (let read-more () (let ([x (lex in pos)]) (cond - [(or (pi? x) (comment? x)) + [(pi? x) (let-values ([(lst next) (read-more)]) (values (cons x lst) next))] + [(comment? x) + (let-values ([(lst next) (read-more)]) + (if (read-comments) + (values (cons x lst) next) + (values lst next)))] [(and (pcdata? x) (andmap char-whitespace? (string->list (pcdata-string x)))) (read-more)] [else (values null x)]))))