@@ -1451,6 +1451,7 @@ inline = choice [ whitespace
1451 , autoLink
1451 , autoLink
1452 , spanHtml
1452 , spanHtml
1453 , rawHtmlInline
1453 , rawHtmlInline
1454 , escapedChar
1455 , escapedChar
1455 , rawLaTeXInline'
1456 , rawLaTeXInline'
1456 , exampleRef
1457 , exampleRef
@@ -1467,16 +1468,20 @@ escapedChar' = try $ do
1467 (guardEnabled Ext_all_symbols_escapable >> satisfy (not . isAlphaNum))
1468 (guardEnabled Ext_all_symbols_escapable >> satisfy (not . isAlphaNum))
1468 <|> (guardEnabled Ext_angle_brackets_escapable >>
1469 <|> (guardEnabled Ext_angle_brackets_escapable >>
1469 oneOf "\\`*_{}[]()>#+-.!~\"<>")
1470 oneOf "\\`*_{}[]()>#+-.!~\"<>")
1470− <|> (guardEnabled Ext_escaped_line_breaks >> char '\n')
1471 <|> oneOf "\\`*_{}[]()>#+-.!~\""
1471 <|> oneOf "\\`*_{}[]()>#+-.!~\""
1473+escapedNewline :: PandocMonad m => MarkdownParser m (F Inlines)
1474+escapedNewline = try $ do
1475+ guardEnabled Ext_escaped_line_breaks
1477+ lookAhead (char '\n') -- don't consume the newline (see #3730)
1478+ return $ return B.linebreak
1473escapedChar :: PandocMonad m => MarkdownParser m (F Inlines)
1480escapedChar :: PandocMonad m => MarkdownParser m (F Inlines)
1474escapedChar = do
1481escapedChar = do
1475 result <- escapedChar'
1482 result <- escapedChar'
1476 case result of
1483 case result of
1477 ' ' -> return $ return $ B.str "\160" -- "\ " is a nonbreaking space
1484 ' ' -> return $ return $ B.str "\160" -- "\ " is a nonbreaking space
1478− '\n' -> guardEnabled Ext_escaped_line_breaks >>
1479− return (return B.linebreak) -- "\[newline]" is a linebreak
1480 _ -> return $ return $ B.str [result]
1485 _ -> return $ return $ B.str [result]
1482ltSign :: PandocMonad m => MarkdownParser m (F Inlines)
1487ltSign :: PandocMonad m => MarkdownParser m (F Inlines)