diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-06-19 22:41:09 +0200 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-06-19 22:41:09 +0200 |
commit | 328655e8636bc524829ae56ffd5ef15ad21f3917 (patch) | |
tree | f70efd5bc2805bd1a3dd2adc8d78d0a097fa797e /src/Text/Pandoc/Parsing.hs | |
parent | b6a38ed1114eae604706694aaca920b86ed28385 (diff) |
Tracing: give less misleading line information with parseWithString.
Previously positions would be reported past the end of the chunk.
We now reset the source position within the chunk and report
positions "in chunk."
Diffstat (limited to 'src/Text/Pandoc/Parsing.hs')
-rw-r--r-- | src/Text/Pandoc/Parsing.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs index cd51bff69..eb5b37f40 100644 --- a/src/Text/Pandoc/Parsing.hs +++ b/src/Text/Pandoc/Parsing.hs @@ -189,7 +189,7 @@ import qualified Text.Pandoc.Builder as B import Text.Pandoc.XML (fromEntities) import qualified Text.Pandoc.UTF8 as UTF8 (putStrLn) import Text.Parsec hiding (token) -import Text.Parsec.Pos (newPos) +import Text.Parsec.Pos (newPos, initialPos) import Data.Char ( toLower, toUpper, ord, chr, isAscii, isAlphaNum, isHexDigit, isSpace, isPunctuation ) import Data.List ( intercalate, transpose, isSuffixOf ) @@ -366,6 +366,7 @@ parseFromString :: Monad m -> ParserT String st m a parseFromString parser str = do oldPos <- getPosition + setPosition $ initialPos "chunk" oldInput <- getInput setInput str result <- parser |