aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2017-09-25 09:31:29 +0200
committerAlbert Krewinkel <albert@zeitkraut.de>2017-09-25 09:31:29 +0200
commit3a7663281a35292b87471da4f5b7a88808546076 (patch)
tree80dda5d6f4f89d8507390fa0d24faa6a07ad7114
parentc78a101b7d6740f12b28a5bbdeecbc58da1302c8 (diff)
downloadpandoc-3a7663281a35292b87471da4f5b7a88808546076.tar.gz
Org reader: update emphasis border chars
The org reader was updated to match current org-mode behavior: the set of characters which are acceptable to occur as the first or last character in an org emphasis have been changed and now allows all non-whitespace chars at the inner border of emphasized text (see `org-emphasis-regexp-components`). Fixes: #3933
-rw-r--r--src/Text/Pandoc/Readers/Org/Inlines.hs6
-rw-r--r--test/Tests/Readers/Org.hs18
2 files changed, 12 insertions, 12 deletions
diff --git a/src/Text/Pandoc/Readers/Org/Inlines.hs b/src/Text/Pandoc/Readers/Org/Inlines.hs
index 42fdfd4dd..c5b1ccc52 100644
--- a/src/Text/Pandoc/Readers/Org/Inlines.hs
+++ b/src/Text/Pandoc/Readers/Org/Inlines.hs
@@ -735,15 +735,15 @@ many1TillNOrLessNewlines n p end = try $
-- | Chars allowed to occur before emphasis (spaces and newlines are ok, too)
emphasisPreChars :: [Char]
-emphasisPreChars = "\t \"'({"
+emphasisPreChars = "-\t ('\"{"
-- | Chars allowed at after emphasis
emphasisPostChars :: [Char]
-emphasisPostChars = "\t\n !\"'),-.:;?\\}["
+emphasisPostChars = "-\t\n .,:!?;'\")}["
-- | Chars not allowed at the (inner) border of emphasis
emphasisForbiddenBorderChars :: [Char]
-emphasisForbiddenBorderChars = "\t\n\r \"',"
+emphasisForbiddenBorderChars = "\t\n\r "
-- | The maximum number of newlines within
emphasisAllowedNewlines :: Int
diff --git a/test/Tests/Readers/Org.hs b/test/Tests/Readers/Org.hs
index a9097f993..0a91d9357 100644
--- a/test/Tests/Readers/Org.hs
+++ b/test/Tests/Readers/Org.hs
@@ -131,18 +131,18 @@ tests =
para (spcSep [ emph $ "t/&" <> space <> "a"
, "/"
, "./r/"
- , "(" <> (strong "l") <> ")"
- , (emph "e") <> "!"
- , (emph "b") <> "."
+ , "(" <> strong "l" <> ")"
+ , emph "e" <> "!"
+ , emph "b" <> "."
])
- , "Quotes are forbidden border chars" =:
- "/'nope/ *nope\"*" =?>
- para ("/'nope/" <> space <> "*nope\"*")
+ , "Quotes are allowed border chars" =:
+ "/'yep/ *sure\"*" =?>
+ para (emph "'yep" <> space <> strong "sure\"")
- , "Commata are forbidden border chars" =:
- "/nada,/" =?>
- para "/nada,/"
+ , "Spaces are forbidden border chars" =:
+ "/nada /" =?>
+ para "/nada /"
, "Markup should work properly after a blank line" =:
T.unlines ["foo", "", "/bar/"] =?>