@@ -448,13 +448,12 @@ uri :: Stream [Char] m Char => ParserT [Char] st m (String, String)
448448uri = try $ do
449449 scheme <- uriScheme
450450 char ':'
451− -- We allow punctuation except at the end, since
451+ -- We allow sentence punctuation except at the end, since
452452 -- we don't want the trailing '.' in 'http://google.com.' We want to allow
453453 -- http://en.wikipedia.org/wiki/State_of_emergency_(disambiguation)
454454 -- as a URL, while NOT picking up the closing paren in
455455 -- (http://wikipedia.org). So we include balanced parens in the URL.
456− let isWordChar c = isAlphaNum c || c == '_' || c == '/' || c == '+' ||
457− not (isAscii c)
456+ let isWordChar c = isAlphaNum c || c `elem` "#$%*+/@\\_-"
458457 let wordChar = satisfy isWordChar
459458 let percentEscaped = try $ char '%' >> skipMany1 (satisfy isHexDigit)
460459 let entity = () <$ characterReference