diff options
| author | John MacFarlane <[email protected]> | 2025-03-07 14:28:10 -0800 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2025-03-07 14:28:10 -0800 |
| commit | b7d2c4815fd2a3f429f4968e8e4e7a5d4d847d9e (patch) | |
| tree | 983fdf6e9360052cc8bc6b0802b67a87b3ae9968 | |
| parent | 5a360f1abea5542fd0c116cbf0e8ce41afcf1f40 (diff) | |
Markdown reader: fixed `escapedChar'` parser.
It should not accept escaped newlines.
See #10672.
| -rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 3 | ||||
| -rw-r--r-- | test/command/10672.md | 26 |
2 files changed, 28 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index d019ee1a5..d73bed229 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1553,7 +1553,8 @@ inline = do escapedChar' :: PandocMonad m => MarkdownParser m Char escapedChar' = try $ do char '\\' - (guardEnabled Ext_all_symbols_escapable >> satisfy (not . isAlphaNum)) + (guardEnabled Ext_all_symbols_escapable >> + satisfy (\c -> c /= '\n' && c /= '\r' && not (isAlphaNum c))) <|> (guardEnabled Ext_angle_brackets_escapable >> oneOf "\\`*_{}[]()>#+-.!~\"<>") <|> oneOf "\\`*_{}[]()>#+-.!" diff --git a/test/command/10672.md b/test/command/10672.md new file mode 100644 index 000000000..5ff9285e4 --- /dev/null +++ b/test/command/10672.md @@ -0,0 +1,26 @@ +``` +% pandoc +| This | Is | +|:-----|:---| +| With \ +| Cells +^D +<table> +<thead> +<tr> +<th style="text-align: left;">This</th> +<th style="text-align: left;">Is</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align: left;">With \</td> +<td style="text-align: left;"></td> +</tr> +<tr> +<td style="text-align: left;">Cells</td> +<td style="text-align: left;"></td> +</tr> +</tbody> +</table> +``` |
