diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2019-01-31 22:50:51 -0800 | 
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2019-01-31 22:50:51 -0800 | 
| commit | e752669e50815b0c1bef62fc5b1de95c33317f89 (patch) | |
| tree | 727bbcabf4878b317fe93863c7de26f1eb7316a0 /src/Text | |
| parent | 7c424b315cb814b952d9bd9d5f027beb70169bff (diff) | |
| download | pandoc-e752669e50815b0c1bef62fc5b1de95c33317f89.tar.gz | |
LaTeX reader: don't let `\egroup` match `{`.
`braced` now actually requires nested braces.
Otherwise some legitimate command and environment
definitions can break (see test/command/tex-group.md).
Diffstat (limited to 'src/Text')
| -rw-r--r-- | src/Text/Pandoc/Readers/LaTeX/Parsing.hs | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/src/Text/Pandoc/Readers/LaTeX/Parsing.hs b/src/Text/Pandoc/Readers/LaTeX/Parsing.hs index 9437c23d9..a2dd61aee 100644 --- a/src/Text/Pandoc/Readers/LaTeX/Parsing.hs +++ b/src/Text/Pandoc/Readers/LaTeX/Parsing.hs @@ -612,19 +612,19 @@ braced' :: PandocMonad m => LP m Tok -> Int -> LP m [Tok]  braced' getTok n =    handleEgroup <|> handleBgroup <|> handleOther    where handleEgroup = do -          t <- egroup +          t <- symbol '}'            if n == 1               then return []               else (t:) <$> braced' getTok (n - 1)          handleBgroup = do -          t <- bgroup +          t <- symbol '{'            (t:) <$> braced' getTok (n + 1)          handleOther = do            t <- getTok            (t:) <$> braced' getTok n  braced :: PandocMonad m => LP m [Tok] -braced = bgroup *> braced' anyTok 1 +braced = symbol '{' *> braced' anyTok 1  -- URLs require special handling, because they can contain %  -- characters.  So we retonenize comments as we go... | 
