aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/Org/DocumentTree.hs4
-rw-r--r--test/Tests/Readers/Org/Block/Header.hs7
2 files changed, 10 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Org/DocumentTree.hs b/src/Text/Pandoc/Readers/Org/DocumentTree.hs
index 2edbd2354..07b3178ff 100644
--- a/src/Text/Pandoc/Readers/Org/DocumentTree.hs
+++ b/src/Text/Pandoc/Readers/Org/DocumentTree.hs
@@ -273,7 +273,9 @@ headlineToHeader hdln = do
todoKeyword :: Monad m => OrgParser m TodoMarker
todoKeyword = try $ do
taskStates <- activeTodoMarkers <$> getState
- let kwParser tdm = try (tdm <$ string (todoMarkerName tdm) <* spaceChar)
+ let kwParser tdm = try (tdm <$ string (todoMarkerName tdm)
+ <* spaceChar
+ <* updateLastPreCharPos)
choice (map kwParser taskStates)
todoKeywordToInlines :: TodoMarker -> Inlines
diff --git a/test/Tests/Readers/Org/Block/Header.hs b/test/Tests/Readers/Org/Block/Header.hs
index e20571b53..5636d9c2a 100644
--- a/test/Tests/Readers/Org/Block/Header.hs
+++ b/test/Tests/Readers/Org/Block/Header.hs
@@ -87,6 +87,13 @@ tests =
let todoSpan = spanWith ("", ["done", "DONE"], []) "DONE"
in headerWith ("header", [], []) 1 (todoSpan <> space <> "header")
+ , "emphasis in first word" =:
+ "** TODO /fix/ this" =?>
+ let todoSpan = spanWith ("", ["todo", "TODO"], []) "TODO"
+ in headerWith ("fix-this", [], [])
+ 2
+ (todoSpan <> space <> emph "fix" <> space <> "this")
+
, "Header with unknown todo keyword" =:
"* WAITING header" =?>
headerWith ("waiting-header", [], []) 1 "WAITING header"