aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2016-07-22 15:45:03 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2016-07-22 15:45:03 -0700
commit27762affe3edd13ccb62a5450166b28fe73d15e6 (patch)
treebdadc7c5bed90dabeeca38ca6a79aa6fdab66b68
parent266caf70e51f2a20eb95c58deaa258807a377bb1 (diff)
downloadpandoc-27762affe3edd13ccb62a5450166b28fe73d15e6.tar.gz
Textile reader: disallow empty URL in explicit link.
Closes #3036.
-rw-r--r--src/Text/Pandoc/Readers/Textile.hs2
-rw-r--r--tests/textile-reader.native1
-rw-r--r--tests/textile-reader.textile2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs
index 25d687c1f..4ab0243fe 100644
--- a/src/Text/Pandoc/Readers/Textile.hs
+++ b/src/Text/Pandoc/Readers/Textile.hs
@@ -594,7 +594,7 @@ link = try $ do
then char ']'
else lookAhead $ space <|>
try (oneOf "!.,;:" *> (space <|> newline))
- url <- manyTill nonspaceChar stop
+ url <- many1Till nonspaceChar stop
let name' = if B.toList name == [Str "$"] then B.str url else name
return $ if attr == nullAttr
then B.link url "" name'
diff --git a/tests/textile-reader.native b/tests/textile-reader.native
index f5d4c20da..c617a53f5 100644
--- a/tests/textile-reader.native
+++ b/tests/textile-reader.native
@@ -96,6 +96,7 @@ Pandoc (Meta {unMeta = fromList []})
,Header 2 ("explicit",[],[]) [Str "Explicit"]
,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "url"] ("http://www.url.com","")]
,Para [Link ("",[],[]) [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
+,Para [Str "\"not",Space,Str "a",Space,Str "link\":",Space,Str "foo"]
,Para [Str "Automatic",Space,Str "linking",Space,Str "to",Space,Link ("",[],[]) [Str "http://www.example.com"] ("http://www.example.com",""),Str "."]
,Para [Link ("",[],[]) [Str "Example"] ("http://www.example.com/",""),Str ":",Space,Str "Example",Space,Str "of",Space,Str "a",Space,Str "link",Space,Str "followed",Space,Str "by",Space,Str "a",Space,Str "colon."]
,Para [Str "A",Space,Str "link",Link ("",[],[]) [Str "with",Space,Str "brackets"] ("http://www.example.com",""),Str "and",Space,Str "no",Space,Str "spaces."]
diff --git a/tests/textile-reader.textile b/tests/textile-reader.textile
index 3eaf62aed..cb9a68313 100644
--- a/tests/textile-reader.textile
+++ b/tests/textile-reader.textile
@@ -174,6 +174,8 @@ Just a "url":http://www.url.com
"Email link":mailto:nobody@nowhere.net
+"not a link": foo
+
Automatic linking to "$":http://www.example.com.
"Example":http://www.example.com/: Example of a link followed by a colon.