git.iko.soy/typeable/pandoc
on master help sign in
Man reader: don't parse \[ul] as unicode escape.
commit0327226d4c8976bd997fd00dea1faf4120905c27 authorJohn MacFarlane <jgm@berkeley.edu> dateMon 22 Oct 2018, 12:05 (8 years ago) parent7a111d2
2 files changed+4−2
src/Text/Pandoc/Readers/Man.hs+3−1 test/Tests/Readers/Man.hs+1−1
src/Text/Pandoc/Readers/Man.hs+3−1
@@ -204,9 +204,11 @@ escapeLexer = try $ do
204204 <|> charCode `sepBy1` (many1 Parsec.space)
205205 ) <* char ']'
206206
207− ucharCode = do
207+ ucharCode = try $ do
208208 char 'u'
209209 cs <- many1 (satisfy isHexDigit)
210+ let lcs = length cs
211+ guard $ lcs >= 4 && lcs <= 6
210212 case chr <$> safeRead ('0':'x':cs) of
211213 Nothing -> escUnknown ("\\[u" ++ cs ++ "]") '\xFFFD'
212214 Just c -> return c
test/Tests/Readers/Man.hs+1−1
@@ -76,7 +76,7 @@ tests = [
7676 , "two letter escapes" =:
7777 "\\(oA\\(~O" =?> (para $ text "ÅÕ")
7878 , "bracketed escapes" =:
79− "\\[oA]\\[~O]\\[Do]\\[Ye]\\[product]" =?> (para $ text "ÅÕ$¥∏")
79+ "\\[oA]\\[~O]\\[Do]\\[Ye]\\[product]\\[ul]" =?> (para $ text "ÅÕ$¥∏_")
8080 , "unicode escapes" =:
8181 "\\[u2020]" =?> (para $ text "†")
8282 , "unicode escapes (combined)" =: