From af9443a981063ab0aad27e96a039de2ca5543c99 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 30 Nov 2025 12:16:40 +0100 Subject: RST reader: correctly handle intraword emphasis. Closes #11309. --- src/Text/Pandoc/Readers/RST.hs | 11 ++++++----- test/command/11309.md | 6 ++++++ 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 test/command/11309.md diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs index 72f7dbe11..5d5e176ee 100644 --- a/src/Text/Pandoc/Readers/RST.hs +++ b/src/Text/Pandoc/Readers/RST.hs @@ -1536,11 +1536,12 @@ hyphens = do escapedChar :: Monad m => RSTParser m Inlines escapedChar = do c <- escaped anyChar - unless (canPrecedeOpener c) updateLastStrPos - return $ if c == ' ' || c == '\n' || c == '\r' - -- '\ ' is null in RST - then mempty - else B.str $ T.singleton c + if c == ' ' || c == '\n' || c == '\r' + -- '\ ' is null in RST + then return mempty + else do + unless (canPrecedeOpener c) updateLastStrPos + return $ B.str $ T.singleton c canPrecedeOpener :: Char -> Bool canPrecedeOpener c = diff --git a/test/command/11309.md b/test/command/11309.md new file mode 100644 index 000000000..ae743ed70 --- /dev/null +++ b/test/command/11309.md @@ -0,0 +1,6 @@ +``` +% pandoc -f rst -t native +Cho\ **co**\ late +^D +[ Para [ Str "Cho" , Strong [ Str "co" ] , Str "late" ] ] +``` -- cgit v1.2.3