git.iko.soy/typeable/pandoc
on master help sign in
Replaced Apostrophe, Ellipses, EmDash, EnDash w/ unicode strings.
a579e2cJohn MacFarlane
src/Tests/Arbitrary.hs−4
@@ -41,10 +41,6 @@ arbInline :: Int -> Gen Inline
41arbInline n = frequency $ [ (60, liftM Str realString)
41arbInline n = frequency $ [ (60, liftM Str realString)
42 , (60, return Space)
42 , (60, return Space)
43 , (10, liftM2 Code arbAttr realString)
43 , (10, liftM2 Code arbAttr realString)
44− , (5, return EmDash)
45− , (5, return EnDash)
46− , (5, return Apostrophe)
47− , (5, return Ellipses)
48 , (5, elements [ RawInline "html" "<a id=\"eek\">"
44 , (5, elements [ RawInline "html" "<a id=\"eek\">"
49 , RawInline "latex" "\\my{command}" ])
45 , RawInline "latex" "\\my{command}" ])
50 ] ++ [ x | x <- nesters, n > 1]
46 ] ++ [ x | x <- nesters, n > 1]
src/Tests/Readers/LaTeX.hs+4−4
@@ -87,7 +87,7 @@ natbibCitations = testGroup "natbib"
87 , "group" =: "\\citetext{\\citealp[see][p.~34--35]{item1}; \\citealp[also][chap. 3]{item3}}"
87 , "group" =: "\\citetext{\\citealp[see][p.~34--35]{item1}; \\citealp[also][chap. 3]{item3}}"
88 =?> para (cite [baseCitation{ citationMode = NormalCitation
88 =?> para (cite [baseCitation{ citationMode = NormalCitation
89 , citationPrefix = [Str "see"]
89 , citationPrefix = [Str "see"]
90− , citationSuffix = [Str "p.\160\&34",EnDash,Str "35"] }
90+ , citationSuffix = [Str "p.\160\&34",Str "-",Str "35"] }
91 ,baseCitation{ citationMode = NormalCitation
91 ,baseCitation{ citationMode = NormalCitation
92 , citationId = "item3"
92 , citationId = "item3"
93 , citationPrefix = [Str "also"]
93 , citationPrefix = [Str "also"]
@@ -95,7 +95,7 @@ natbibCitations = testGroup "natbib"
95 ] mempty)
95 ] mempty)
96 , "suffix and locator" =: "\\citep[pp.~33, 35--37, and nowhere else]{item1}"
96 , "suffix and locator" =: "\\citep[pp.~33, 35--37, and nowhere else]{item1}"
97 =?> para (cite [baseCitation{ citationMode = NormalCitation
97 =?> para (cite [baseCitation{ citationMode = NormalCitation
98− , citationSuffix = [Str "pp.\160\&33,",Space,Str "35",EnDash,Str "37,",Space,Str "and",Space,Str "nowhere",Space, Str "else"] }] mempty)
98+ , citationSuffix = [Str "pp.\160\&33,",Space,Str "35",Str "-",Str "37,",Space,Str "and",Space,Str "nowhere",Space, Str "else"] }] mempty)
99 , "suffix only" =: "\\citep[and nowhere else]{item1}"
99 , "suffix only" =: "\\citep[and nowhere else]{item1}"
100 =?> para (cite [baseCitation{ citationMode = NormalCitation
100 =?> para (cite [baseCitation{ citationMode = NormalCitation
101 , citationSuffix = toList $ text "and nowhere else" }] mempty)
101 , citationSuffix = toList $ text "and nowhere else" }] mempty)
@@ -134,7 +134,7 @@ biblatexCitations = testGroup "biblatex"
134 , "group" =: "\\autocites[see][p.~34--35]{item1}[also][chap. 3]{item3}"
134 , "group" =: "\\autocites[see][p.~34--35]{item1}[also][chap. 3]{item3}"
135 =?> para (cite [baseCitation{ citationMode = NormalCitation
135 =?> para (cite [baseCitation{ citationMode = NormalCitation
136 , citationPrefix = [Str "see"]
136 , citationPrefix = [Str "see"]
137− , citationSuffix = [Str "p.\160\&34",EnDash,Str "35"] }
137+ , citationSuffix = [Str "p.\160\&34",Str "-",Str "35"] }
138 ,baseCitation{ citationMode = NormalCitation
138 ,baseCitation{ citationMode = NormalCitation
139 , citationId = "item3"
139 , citationId = "item3"
140 , citationPrefix = [Str "also"]
140 , citationPrefix = [Str "also"]
@@ -142,7 +142,7 @@ biblatexCitations = testGroup "biblatex"
142 ] mempty)
142 ] mempty)
143 , "suffix and locator" =: "\\autocite[pp.~33, 35--37, and nowhere else]{item1}"
143 , "suffix and locator" =: "\\autocite[pp.~33, 35--37, and nowhere else]{item1}"
144 =?> para (cite [baseCitation{ citationMode = NormalCitation
144 =?> para (cite [baseCitation{ citationMode = NormalCitation
145− , citationSuffix = [Str "pp.\160\&33,",Space,Str "35",EnDash,Str "37,",Space,Str "and",Space,Str "nowhere",Space, Str "else"] }] mempty)
145+ , citationSuffix = [Str "pp.\160\&33,",Space,Str "35",Str "-",Str "37,",Space,Str "and",Space,Str "nowhere",Space, Str "else"] }] mempty)
146 , "suffix only" =: "\\autocite[and nowhere else]{item1}"
146 , "suffix only" =: "\\autocite[and nowhere else]{item1}"
147 =?> para (cite [baseCitation{ citationMode = NormalCitation
147 =?> para (cite [baseCitation{ citationMode = NormalCitation
148 , citationSuffix = toList $ text "and nowhere else" }] mempty)
148 , citationSuffix = toList $ text "and nowhere else" }] mempty)
src/Tests/Readers/Markdown.hs+1−1
@@ -60,7 +60,7 @@ tests = [ testGroup "inline code"
60 , testGroup "smart punctuation"
60 , testGroup "smart punctuation"
61 [ test markdownSmart "quote before ellipses"
61 [ test markdownSmart "quote before ellipses"
62 ("'...hi'"
62 ("'...hi'"
63− =?> para (singleQuoted (singleton Ellipses <> "hi")))
63+ =?> para (singleQuoted ("…hi")))
64 , test markdownSmart "apostrophe before emph"
64 , test markdownSmart "apostrophe before emph"
65 ("D'oh! A l'*aide*!"
65 ("D'oh! A l'*aide*!"
66 =?> para ("D’oh! A l’" <> emph "aide" <> "!"))
66 =?> para ("D’oh! A l’" <> emph "aide" <> "!"))
src/Text/Pandoc/Parsing.hs+6−6
@@ -779,22 +779,22 @@ doubleQuoteEnd = do
779
779
780ellipses :: GenParser Char st Inline
780ellipses :: GenParser Char st Inline
781ellipses = do
781ellipses = do
782− try (charOrRef "…\133") <|> try (string "..." >> return '…')
782+ try (charOrRef "\8230\133") <|> try (string "..." >> return '…')
783− return Ellipses
783+ return (Str "\8230")
784
784
785dash :: GenParser Char st Inline
785dash :: GenParser Char st Inline
786dash = enDash <|> emDash
786dash = enDash <|> emDash
787
787
788enDash :: GenParser Char st Inline
788enDash :: GenParser Char st Inline
789enDash = do
789enDash = do
790− try (charOrRef "–\150") <|>
790+ try (charOrRef "\8211\150") <|>
791 try (char '-' >> lookAhead (satisfy isDigit) >> return '–')
791 try (char '-' >> lookAhead (satisfy isDigit) >> return '–')
792− return EnDash
792+ return (Str "\8211")
793
793
794emDash :: GenParser Char st Inline
794emDash :: GenParser Char st Inline
795emDash = do
795emDash = do
796− try (charOrRef "—\151") <|> (try $ string "--" >> optional (char '-') >> return '—')
796+ try (charOrRef "\8212\151") <|> (try $ string "--" >> optional (char '-') >> return '-')
797− return EmDash
797+ return (Str "\8212")
798
798
799--
799--
800-- Macros
800-- Macros
src/Text/Pandoc/Readers/LaTeX.hs+3−3
@@ -802,13 +802,13 @@ ellipses = try $ do
802 optional $ char 'l'
802 optional $ char 'l'
803 string "dots"
803 string "dots"
804 optional $ try $ string "{}"
804 optional $ try $ string "{}"
805− return Ellipses
805+ return (Str "…")
806
806
807enDash :: GenParser Char st Inline
807enDash :: GenParser Char st Inline
808−enDash = try (string "--") >> return EnDash
808+enDash = try (string "--") >> return (Str "-")
809
809
810emDash :: GenParser Char st Inline
810emDash :: GenParser Char st Inline
811−emDash = try (string "---") >> return EmDash
811+emDash = try (string "---") >> return (Str "—")
812
812
813hyphen :: GenParser Char st Inline
813hyphen :: GenParser Char st Inline
814hyphen = char '-' >> return (Str "-")
814hyphen = char '-' >> return (Str "-")
src/Text/Pandoc/Readers/Markdown.hs+6−8
@@ -1087,20 +1087,18 @@ nonEndline = satisfy (/='\n')
1087
1087
1088str :: GenParser Char ParserState Inline
1088str :: GenParser Char ParserState Inline
1089str = do
1089str = do
1090− st <- getState
1090+ smart <- stateSmart `fmap` getState
1091 a <- alphaNum
1091 a <- alphaNum
1092 as <- many $ alphaNum
1092 as <- many $ alphaNum
1093 <|> (try $ char '_' >>~ lookAhead alphaNum)
1093 <|> (try $ char '_' >>~ lookAhead alphaNum)
1094− <|> if stateStrict st
1094+ <|> if smart
1095− then mzero
1096− else (try $ satisfy (\c -> c == '\'' || c == '\x2019') >>
1095+ then (try $ satisfy (\c -> c == '\'' || c == '\x2019') >>
1097 lookAhead alphaNum >> return '\x2019')
1096 lookAhead alphaNum >> return '\x2019')
1098− -- for things like l'aide - would be better to return
1097+ -- for things like l'aide
1099− -- an Apostrophe, but we can't in this context
1098+ else mzero
1100 let result = a:as
1099 let result = a:as
1101− state <- getState
1102 let spacesToNbr = map (\c -> if c == ' ' then '\160' else c)
1100 let spacesToNbr = map (\c -> if c == ' ' then '\160' else c)
1103− if stateSmart state
1101+ if smart
1104 then case likelyAbbrev result of
1102 then case likelyAbbrev result of
1105 [] -> return $ Str result
1103 [] -> return $ Str result
1106 xs -> choice (map (\x ->
1104 xs -> choice (map (\x ->
src/Text/Pandoc/Shared.hs−4
@@ -325,10 +325,6 @@ stringify = queryWith go
325 go (Str x) = x
325 go (Str x) = x
326 go (Code _ x) = x
326 go (Code _ x) = x
327 go (Math _ x) = x
327 go (Math _ x) = x
328− go EmDash = "--"
329− go EnDash = "-"
330− go Apostrophe = "'"
331− go Ellipses = "..."
332 go LineBreak = " "
328 go LineBreak = " "
333 go _ = ""
329 go _ = ""
334
330
src/Text/Pandoc/Writers/AsciiDoc.hs−4
@@ -321,10 +321,6 @@ inlineToAsciiDoc opts (Quoted SingleQuote lst) = do
321inlineToAsciiDoc opts (Quoted DoubleQuote lst) = do
321inlineToAsciiDoc opts (Quoted DoubleQuote lst) = do
322 contents <- inlineListToAsciiDoc opts lst
322 contents <- inlineListToAsciiDoc opts lst
323 return $ "``" <> contents <> "''"
323 return $ "``" <> contents <> "''"
324−inlineToAsciiDoc _ EmDash = return "\8212"
325−inlineToAsciiDoc _ EnDash = return "\8211"
326−inlineToAsciiDoc _ Apostrophe = return "\8217"
327−inlineToAsciiDoc _ Ellipses = return "\8230"
328inlineToAsciiDoc _ (Code _ str) = return $
324inlineToAsciiDoc _ (Code _ str) = return $
329 text "`" <> text (escapeStringUsing (backslashEscapes "`") str) <> "`"
325 text "`" <> text (escapeStringUsing (backslashEscapes "`") str) <> "`"
330inlineToAsciiDoc _ (Str str) = return $ text $ escapeString str
326inlineToAsciiDoc _ (Str str) = return $ text $ escapeString str
src/Text/Pandoc/Writers/ConTeXt.hs+4−4
@@ -102,6 +102,10 @@ escapeCharForConTeXt ch =
102 ']' -> "{]}"
102 ']' -> "{]}"
103 '_' -> "\\letterunderscore{}"
103 '_' -> "\\letterunderscore{}"
104 '\160' -> "~"
104 '\160' -> "~"
105+ '\x2014' -> "---"
106+ '\x2013' -> "--"
107+ '\x2019' -> "'"
108+ '\x2026' -> "\\ldots{}"
105 x -> [x]
109 x -> [x]
106
110
107-- | Escape string for ConTeXt
111-- | Escape string for ConTeXt
@@ -258,10 +262,6 @@ inlineToConTeXt (Quoted DoubleQuote lst) = do
258 contents <- inlineListToConTeXt lst
262 contents <- inlineListToConTeXt lst
259 return $ "\\quotation" <> braces contents
263 return $ "\\quotation" <> braces contents
260inlineToConTeXt (Cite _ lst) = inlineListToConTeXt lst
264inlineToConTeXt (Cite _ lst) = inlineListToConTeXt lst
261−inlineToConTeXt Apostrophe = return $ char '\''
262−inlineToConTeXt EmDash = return "---"
263−inlineToConTeXt EnDash = return "--"
264−inlineToConTeXt Ellipses = return "\\ldots{}"
265inlineToConTeXt (Str str) = return $ text $ stringToConTeXt str
265inlineToConTeXt (Str str) = return $ text $ stringToConTeXt str
266inlineToConTeXt (Math InlineMath str) =
266inlineToConTeXt (Math InlineMath str) =
267 return $ char '$' <> text str <> char '$'
267 return $ char '$' <> text str <> char '$'
src/Text/Pandoc/Writers/Docbook.hs−4
@@ -248,10 +248,6 @@ inlineToDocbook opts (Quoted _ lst) =
248 inTagsSimple "quote" $ inlinesToDocbook opts lst
248 inTagsSimple "quote" $ inlinesToDocbook opts lst
249inlineToDocbook opts (Cite _ lst) =
249inlineToDocbook opts (Cite _ lst) =
250 inlinesToDocbook opts lst
250 inlinesToDocbook opts lst
251−inlineToDocbook _ Apostrophe = char '\''
252−inlineToDocbook _ Ellipses = text "…"
253−inlineToDocbook _ EmDash = text "—"
254−inlineToDocbook _ EnDash = text "–"
255inlineToDocbook _ (Code _ str) =
251inlineToDocbook _ (Code _ str) =
256 inTagsSimple "literal" $ text (escapeStringForXML str)
252 inTagsSimple "literal" $ text (escapeStringForXML str)
257inlineToDocbook opts (Math _ str) = inlinesToDocbook opts $ readTeXMath str
253inlineToDocbook opts (Math _ str) = inlinesToDocbook opts $ readTeXMath str
src/Text/Pandoc/Writers/HTML.hs−4
@@ -540,10 +540,6 @@ inlineToHtml opts inline =
540 (Str str) -> return $ strToHtml str
540 (Str str) -> return $ strToHtml str
541 (Space) -> return $ strToHtml " "
541 (Space) -> return $ strToHtml " "
542 (LineBreak) -> return H.br
542 (LineBreak) -> return H.br
543− (EmDash) -> return $ strToHtml "—"
544− (EnDash) -> return $ strToHtml "–"
545− (Ellipses) -> return $ strToHtml "…"
546− (Apostrophe) -> return $ strToHtml "’"
547 (Emph lst) -> inlineListToHtml opts lst >>= return . H.em
543 (Emph lst) -> inlineListToHtml opts lst >>= return . H.em
548 (Strong lst) -> inlineListToHtml opts lst >>= return . H.strong
544 (Strong lst) -> inlineListToHtml opts lst >>= return . H.strong
549 (Code attr str) -> case highlight formatHtmlInline attr str of
545 (Code attr str) -> case highlight formatHtmlInline attr str of
src/Text/Pandoc/Writers/LaTeX.hs+5−8
@@ -162,6 +162,8 @@ stringToLaTeX isUrl = escapeStringUsing latexEscapes
162 , ('\x201C', "``")
162 , ('\x201C', "``")
163 , ('\x201D', "''")
163 , ('\x201D', "''")
164 , ('\x2026', "\\ldots{}")
164 , ('\x2026', "\\ldots{}")
165+ , ('\x2014', "---")
166+ , ('\x2013', "--")
165 ]
167 ]
166
168
167-- | Puts contents into LaTeX command.
169-- | Puts contents into LaTeX command.
@@ -201,8 +203,8 @@ blockToLaTeX (CodeBlock (_,classes,keyvalAttr) str) = do
201 then modify (\s -> s{ stVerbInNote = True }) >>
203 then modify (\s -> s{ stVerbInNote = True }) >>
202 return "Verbatim"
204 return "Verbatim"
203 else return "verbatim"
205 else return "verbatim"
204− return $ flush (text $ "\\begin{" ++ env ++ "}") $$ text str $$
206+ return $ flush (text ("\\begin{" ++ env ++ "}") $$ text str $$
205− text ("\\end{" ++ env ++ "}") $$ cr -- final cr because of notes
207+ text ("\\end{" ++ env ++ "}")) $$ cr -- final cr because of notes
206 listingsCodeBlock = do
208 listingsCodeBlock = do
207 st <- get
209 st <- get
208 let params = if writerListings (stOptions st)
210 let params = if writerListings (stOptions st)
@@ -236,7 +238,7 @@ blockToLaTeX (CodeBlock (_,classes,keyvalAttr) str) = do
236 case highlight formatLaTeXBlock ("",classes,keyvalAttr) str of
238 case highlight formatLaTeXBlock ("",classes,keyvalAttr) str of
237 Nothing -> rawCodeBlock
239 Nothing -> rawCodeBlock
238 Just h -> modify (\st -> st{ stHighlighting = True }) >>
240 Just h -> modify (\st -> st{ stHighlighting = True }) >>
239− return (text h)
241+ return (flush $ text h)
240blockToLaTeX (RawBlock "latex" x) = return $ text x <> blankline
242blockToLaTeX (RawBlock "latex" x) = return $ text x <> blankline
241blockToLaTeX (RawBlock _ _) = return empty
243blockToLaTeX (RawBlock _ _) = return empty
242blockToLaTeX (BulletList lst) = do
244blockToLaTeX (BulletList lst) = do
@@ -365,7 +367,6 @@ inlineListToLaTeX lst = mapM inlineToLaTeX lst >>= return . hcat
365
367
366isQuoted :: Inline -> Bool
368isQuoted :: Inline -> Bool
367isQuoted (Quoted _ _) = True
369isQuoted (Quoted _ _) = True
368−isQuoted Apostrophe = True
369isQuoted _ = False
370isQuoted _ = False
370
371
371-- | Convert inline element to LaTeX
372-- | Convert inline element to LaTeX
@@ -441,10 +442,6 @@ inlineToLaTeX (Quoted DoubleQuote lst) = do
441 then "\\,"
442 then "\\,"
442 else empty
443 else empty
443 return $ "``" <> s1 <> contents <> s2 <> "''"
444 return $ "``" <> s1 <> contents <> s2 <> "''"
444−inlineToLaTeX Apostrophe = return $ char '\''
445−inlineToLaTeX EmDash = return "---"
446−inlineToLaTeX EnDash = return "--"
447−inlineToLaTeX Ellipses = return "\\ldots{}"
448inlineToLaTeX (Str str) = return $ text $ stringToLaTeX False str
445inlineToLaTeX (Str str) = return $ text $ stringToLaTeX False str
449inlineToLaTeX (Math InlineMath str) = return $ char '$' <> text str <> char '$'
446inlineToLaTeX (Math InlineMath str) = return $ char '$' <> text str <> char '$'
450inlineToLaTeX (Math DisplayMath str) = return $ "\\[" <> text str <> "\\]"
447inlineToLaTeX (Math DisplayMath str) = return $ "\\[" <> text str <> "\\]"
src/Text/Pandoc/Writers/Man.hs+7−5
@@ -98,7 +98,13 @@ noteToMan opts num note = do
98
98
99-- | Association list of characters to escape.
99-- | Association list of characters to escape.
100manEscapes :: [(Char, String)]
100manEscapes :: [(Char, String)]
101+manEscapes = [ ('\160', "\\ ")
102+ , ('\'', "\\[aq]")
103+ , ('’', "'")
104+ , ('\x2014', "\\[em]")
105+ , ('\x2013', "\\[en]")
106+ , ('\x2026', "\\&...")
101−manEscapes = [('\160', "\\ "), ('\'', "\\[aq]")] ++ backslashEscapes "@\\"
107+ ] ++ backslashEscapes "@\\"
102
108
103-- | Escape special characters for Man.
109-- | Escape special characters for Man.
104escapeString :: String -> String
110escapeString :: String -> String
@@ -303,10 +309,6 @@ inlineToMan opts (Quoted DoubleQuote lst) = do
303 return $ text "\\[lq]" <> contents <> text "\\[rq]"
309 return $ text "\\[lq]" <> contents <> text "\\[rq]"
304inlineToMan opts (Cite _ lst) =
310inlineToMan opts (Cite _ lst) =
305 inlineListToMan opts lst
311 inlineListToMan opts lst
306−inlineToMan _ EmDash = return $ text "\\[em]"
307−inlineToMan _ EnDash = return $ text "\\[en]"
308−inlineToMan _ Apostrophe = return $ char '\''
309−inlineToMan _ Ellipses = return $ text "\\&..."
310inlineToMan _ (Code _ str) =
312inlineToMan _ (Code _ str) =
311 return $ text $ "\\f[C]" ++ escapeCode str ++ "\\f[]"
313 return $ text $ "\\f[C]" ++ escapeCode str ++ "\\f[]"
312inlineToMan _ (Str str) = return $ text $ escapeString str
314inlineToMan _ (Str str) = return $ text $ escapeString str
src/Text/Pandoc/Writers/Markdown.hs−4
@@ -432,10 +432,6 @@ inlineToMarkdown opts (Quoted SingleQuote lst) = do
432inlineToMarkdown opts (Quoted DoubleQuote lst) = do
432inlineToMarkdown opts (Quoted DoubleQuote lst) = do
433 contents <- inlineListToMarkdown opts lst
433 contents <- inlineListToMarkdown opts lst
434 return $ "“" <> contents <> "”"
434 return $ "“" <> contents <> "”"
435−inlineToMarkdown _ EmDash = return "\8212"
436−inlineToMarkdown _ EnDash = return "\8211"
437−inlineToMarkdown _ Apostrophe = return "\8217"
438−inlineToMarkdown _ Ellipses = return "\8230"
439inlineToMarkdown opts (Code attr str) =
435inlineToMarkdown opts (Code attr str) =
440 let tickGroups = filter (\s -> '`' `elem` s) $ group str
436 let tickGroups = filter (\s -> '`' `elem` s) $ group str
441 longest = if null tickGroups
437 longest = if null tickGroups
src/Text/Pandoc/Writers/MediaWiki.hs+2−10
@@ -346,22 +346,14 @@ inlineToMediaWiki opts (SmallCaps lst) = inlineListToMediaWiki opts lst
346
346
347inlineToMediaWiki opts (Quoted SingleQuote lst) = do
347inlineToMediaWiki opts (Quoted SingleQuote lst) = do
348 contents <- inlineListToMediaWiki opts lst
348 contents <- inlineListToMediaWiki opts lst
349− return $ "&lsquo;" ++ contents ++ "&rsquo;"
349+ return $ "\8216" ++ contents ++ "\8217"
350
350
351inlineToMediaWiki opts (Quoted DoubleQuote lst) = do
351inlineToMediaWiki opts (Quoted DoubleQuote lst) = do
352 contents <- inlineListToMediaWiki opts lst
352 contents <- inlineListToMediaWiki opts lst
353− return $ "&ldquo;" ++ contents ++ "&rdquo;"
353+ return $ "\8220" ++ contents ++ "\8221"
354
354
355inlineToMediaWiki opts (Cite _ lst) = inlineListToMediaWiki opts lst
355inlineToMediaWiki opts (Cite _ lst) = inlineListToMediaWiki opts lst
356
356
357−inlineToMediaWiki _ EmDash = return "&mdash;"
358−
359−inlineToMediaWiki _ EnDash = return "&ndash;"
360−
361−inlineToMediaWiki _ Apostrophe = return "&rsquo;"
362−
363−inlineToMediaWiki _ Ellipses = return "&hellip;"
364−
365inlineToMediaWiki _ (Code _ str) =
357inlineToMediaWiki _ (Code _ str) =
366 return $ "<tt>" ++ (escapeString str) ++ "</tt>"
358 return $ "<tt>" ++ (escapeString str) ++ "</tt>"
367
359
src/Text/Pandoc/Writers/OpenDocument.hs+2−6
@@ -154,8 +154,8 @@ inHeaderTags i d =
154 , ("text:outline-level", show i)] d
154 , ("text:outline-level", show i)] d
155
155
156inQuotes :: QuoteType -> Doc -> Doc
156inQuotes :: QuoteType -> Doc -> Doc
157−inQuotes SingleQuote s = text "&#8216;" <> s <> text "&#8217;"
157+inQuotes SingleQuote s = char '\8216' <> s <> char '\8217'
158−inQuotes DoubleQuote s = text "&#8220;" <> s <> text "&#8221;"
158+inQuotes DoubleQuote s = char '\8220' <> s <> char '\8221'
159
159
160handleSpaces :: String -> Doc
160handleSpaces :: String -> Doc
161handleSpaces s
161handleSpaces s
@@ -361,10 +361,6 @@ inlinesToOpenDocument o l = hcat <$> mapM (inlineToOpenDocument o) l
361-- | Convert an inline element to OpenDocument.
361-- | Convert an inline element to OpenDocument.
362inlineToOpenDocument :: WriterOptions -> Inline -> State WriterState Doc
362inlineToOpenDocument :: WriterOptions -> Inline -> State WriterState Doc
363inlineToOpenDocument o ils
363inlineToOpenDocument o ils
364− | Ellipses <- ils = inTextStyle $ text "&#8230;"
365− | EmDash <- ils = inTextStyle $ text "&#8212;"
366− | EnDash <- ils = inTextStyle $ text "&#8211;"
367− | Apostrophe <- ils = inTextStyle $ text "&#8217;"
368 | Space <- ils = inTextStyle space
364 | Space <- ils = inTextStyle space
369 | LineBreak <- ils = return $ selfClosingTag "text:line-break" []
365 | LineBreak <- ils = return $ selfClosingTag "text:line-break" []
370 | Str s <- ils = inTextStyle $ handleSpaces $ escapeStringForXML s
366 | Str s <- ils = inTextStyle $ handleSpaces $ escapeStringForXML s
src/Text/Pandoc/Writers/Org.hs+6−5
@@ -95,7 +95,12 @@ noteToOrg num note = do
95
95
96-- | Escape special characters for Org.
96-- | Escape special characters for Org.
97escapeString :: String -> String
97escapeString :: String -> String
98−escapeString = escapeStringUsing (backslashEscapes "^_")
98+escapeString = escapeStringUsing $
99+ [ ('\x2014',"---")
100+ , ('\x2013',"--")
101+ , ('\x2019',"'")
102+ , ('\x2026',"...")
103+ ] ++ backslashEscapes "^_"
99
104
100titleToOrg :: [Inline] -> State WriterState Doc
105titleToOrg :: [Inline] -> State WriterState Doc
101titleToOrg [] = return empty
106titleToOrg [] = return empty
@@ -249,10 +254,6 @@ inlineToOrg (Quoted DoubleQuote lst) = do
249 contents <- inlineListToOrg lst
254 contents <- inlineListToOrg lst
250 return $ "\"" <> contents <> "\""
255 return $ "\"" <> contents <> "\""
251inlineToOrg (Cite _ lst) = inlineListToOrg lst
256inlineToOrg (Cite _ lst) = inlineListToOrg lst
252−inlineToOrg EmDash = return "---"
253−inlineToOrg EnDash = return "--"
254−inlineToOrg Apostrophe = return "'"
255−inlineToOrg Ellipses = return "..."
256inlineToOrg (Code _ str) = return $ "=" <> text str <> "="
257inlineToOrg (Code _ str) = return $ "=" <> text str <> "="
257inlineToOrg (Str str) = return $ text $ escapeString str
258inlineToOrg (Str str) = return $ text $ escapeString str
258inlineToOrg (Math t str) = do
259inlineToOrg (Math t str) = do
src/Text/Pandoc/Writers/RST.hs−4
@@ -281,10 +281,6 @@ inlineToRST (Quoted DoubleQuote lst) = do
281 return $ "“" <> contents <> "”"
281 return $ "“" <> contents <> "”"
282inlineToRST (Cite _ lst) =
282inlineToRST (Cite _ lst) =
283 inlineListToRST lst
283 inlineListToRST lst
284−inlineToRST EmDash = return $ char '\8212'
285−inlineToRST EnDash = return $ char '\8211'
286−inlineToRST Apostrophe = return $ char '\8217'
287−inlineToRST Ellipses = return $ char '\8230'
288inlineToRST (Code _ str) = return $ "``" <> text str <> "``"
284inlineToRST (Code _ str) = return $ "``" <> text str <> "``"
289inlineToRST (Str str) = return $ text $ escapeString str
285inlineToRST (Str str) = return $ text $ escapeString str
290inlineToRST (Math t str) = do
286inlineToRST (Math t str) = do
src/Text/Pandoc/Writers/RTF.hs+9−5
@@ -106,7 +106,15 @@ handleUnicode (c:cs) =
106
106
107-- | Escape special characters.
107-- | Escape special characters.
108escapeSpecial :: String -> String
108escapeSpecial :: String -> String
109−escapeSpecial = escapeStringUsing (('\t',"\\tab "):(backslashEscapes "{\\}"))
109+escapeSpecial = escapeStringUsing $
110+ [ ('\t',"\\tab ")
111+ , ('\8216',"\\u8216'")
112+ , ('\8217',"\\u8217'")
113+ , ('\8220',"\\u8220\"")
114+ , ('\8221',"\\u8221\"")
115+ , ('\8211',"\\u8211-")
116+ , ('\8212',"\\u8212-")
117+ ] ++ backslashEscapes "{\\}"
110
118
111-- | Escape strings as needed for rich text format.
119-- | Escape strings as needed for rich text format.
112stringToRTF :: String -> String
120stringToRTF :: String -> String
@@ -287,10 +295,6 @@ inlineToRTF (Quoted SingleQuote lst) =
287 "\\u8216'" ++ (inlineListToRTF lst) ++ "\\u8217'"
295 "\\u8216'" ++ (inlineListToRTF lst) ++ "\\u8217'"
288inlineToRTF (Quoted DoubleQuote lst) =
296inlineToRTF (Quoted DoubleQuote lst) =
289 "\\u8220\"" ++ (inlineListToRTF lst) ++ "\\u8221\""
297 "\\u8220\"" ++ (inlineListToRTF lst) ++ "\\u8221\""
290−inlineToRTF Apostrophe = "\\u8217'"
291−inlineToRTF Ellipses = "\\u8230?"
292−inlineToRTF EmDash = "\\u8212-"
293−inlineToRTF EnDash = "\\u8211-"
294inlineToRTF (Code _ str) = "{\\f1 " ++ (codeStringToRTF str) ++ "}"
298inlineToRTF (Code _ str) = "{\\f1 " ++ (codeStringToRTF str) ++ "}"
295inlineToRTF (Str str) = stringToRTF str
299inlineToRTF (Str str) = stringToRTF str
296inlineToRTF (Math _ str) = inlineListToRTF $ readTeXMath str
300inlineToRTF (Math _ str) = inlineListToRTF $ readTeXMath str
src/Text/Pandoc/Writers/Texinfo.hs+4−4
@@ -96,6 +96,10 @@ stringToTexinfo = escapeStringUsing texinfoEscapes
96 , ('@', "@@")
96 , ('@', "@@")
97 , (',', "@comma{}") -- only needed in argument lists
97 , (',', "@comma{}") -- only needed in argument lists
98 , ('\160', "@ ")
98 , ('\160', "@ ")
99+ , ('\x2014', "---")
100+ , ('\x2013', "--")
101+ , ('\x2026', "@dots{}")
102+ , ('\x2019', "'")
99 ]
103 ]
100
104
101-- | Puts contents into Texinfo command.
105-- | Puts contents into Texinfo command.
@@ -387,10 +391,6 @@ inlineToTexinfo (Quoted DoubleQuote lst) = do
387
391
388inlineToTexinfo (Cite _ lst) =
392inlineToTexinfo (Cite _ lst) =
389 inlineListToTexinfo lst
393 inlineListToTexinfo lst
390−inlineToTexinfo Apostrophe = return $ char '\''
391−inlineToTexinfo EmDash = return $ text "---"
392−inlineToTexinfo EnDash = return $ text "--"
393−inlineToTexinfo Ellipses = return $ text "@dots{}"
394inlineToTexinfo (Str str) = return $ text (stringToTexinfo str)
394inlineToTexinfo (Str str) = return $ text (stringToTexinfo str)
395inlineToTexinfo (Math _ str) = return $ inCmd "math" $ text str
395inlineToTexinfo (Math _ str) = return $ inCmd "math" $ text str
396inlineToTexinfo (RawInline f str) | f == "latex" || f == "tex" =
396inlineToTexinfo (RawInline f str) | f == "latex" || f == "tex" =
src/Text/Pandoc/Writers/Textile.hs+13−17
@@ -72,15 +72,19 @@ withUseTags action = do
72-- | Escape one character as needed for Textile.
72-- | Escape one character as needed for Textile.
73escapeCharForTextile :: Char -> String
73escapeCharForTextile :: Char -> String
74escapeCharForTextile x = case x of
74escapeCharForTextile x = case x of
75− '&' -> "&amp;"
75+ '&' -> "&amp;"
76− '<' -> "&lt;"
76+ '<' -> "&lt;"
77− '>' -> "&gt;"
77+ '>' -> "&gt;"
78− '"' -> "&quot;"
78+ '"' -> "&quot;"
79− '*' -> "&#42;"
79+ '*' -> "&#42;"
80− '_' -> "&#95;"
80+ '_' -> "&#95;"
81− '@' -> "&#64;"
81+ '@' -> "&#64;"
82− '|' -> "&#124;"
82+ '|' -> "&#124;"
83+ '\x2014' -> " -- "
84+ '\x2013' -> " - "
85+ '\x2019' -> "'"
86+ '\x2026' -> "..."
83− c -> [c]
87+ c -> [c]
84
88
85-- | Escape string as needed for Textile.
89-- | Escape string as needed for Textile.
86escapeStringForTextile :: String -> String
90escapeStringForTextile :: String -> String
@@ -370,14 +374,6 @@ inlineToTextile opts (Quoted DoubleQuote lst) = do
370
374
371inlineToTextile opts (Cite _ lst) = inlineListToTextile opts lst
375inlineToTextile opts (Cite _ lst) = inlineListToTextile opts lst
372
376
373−inlineToTextile _ EmDash = return " -- "
374−
375−inlineToTextile _ EnDash = return " - "
376−
377−inlineToTextile _ Apostrophe = return "'"
378−
379−inlineToTextile _ Ellipses = return "..."
380−
381inlineToTextile _ (Code _ str) =
377inlineToTextile _ (Code _ str) =
382 return $ if '@' `elem` str
378 return $ if '@' `elem` str
383 then "<tt>" ++ escapeStringForXML str ++ "</tt>"
379 then "<tt>" ++ escapeStringForXML str ++ "</tt>"
tests/latex-reader.native+21−21
@@ -1,5 +1,5 @@
1Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17,",Space,Str "2006"]})
1Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17,",Space,Str "2006"]})
2−[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
2+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Str "\8217",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
3,HorizontalRule
3,HorizontalRule
4,Header 1 [Str "Headers"]
4,Header 1 [Str "Headers"]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
@@ -14,9 +14,9 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
14,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
14,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
15,HorizontalRule
15,HorizontalRule
16,Header 1 [Str "Paragraphs"]
16,Header 1 [Str "Paragraphs"]
17−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
17+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
18,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
18,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
19−,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
19+,Para [Str "Here",Str "\8217",Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
20,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
20,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
21,HorizontalRule
21,HorizontalRule
22,Header 1 [Str "Block",Space,Str "Quotes"]
22,Header 1 [Str "Block",Space,Str "Quotes"]
@@ -44,11 +44,11 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
44 [OrderedList (1,Decimal,Period)
44 [OrderedList (1,Decimal,Period)
45 [[Para [Str "do",Space,Str "laundry"]]
45 [[Para [Str "do",Space,Str "laundry"]]
46 ,[Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]]
46 ,[Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]]
47−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "nested",Space,Str "one:"]
47+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "nested",Space,Str "one:"]
48,BlockQuote
48,BlockQuote
49 [Para [Str "Joe",Space,Str "said:"]
49 [Para [Str "Joe",Space,Str "said:"]
50 ,BlockQuote
50 ,BlockQuote
51− [Para [Str "Don",Apostrophe,Str "t",Space,Str "quote",Space,Str "me."]]]
51+ [Para [Str "Don",Str "\8217",Str "t",Space,Str "quote",Space,Str "me."]]]
52,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
52,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
53,HorizontalRule
53,HorizontalRule
54,Header 1 [Str "Code",Space,Str "Blocks"]
54,Header 1 [Str "Code",Space,Str "Blocks"]
@@ -113,7 +113,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
113,Para [Str "Multiple",Space,Str "paragraphs:"]
113,Para [Str "Multiple",Space,Str "paragraphs:"]
114,OrderedList (1,Decimal,Period)
114,OrderedList (1,Decimal,Period)
115 [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
115 [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
116− ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back."]]
116+ ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Str "\8217",Str "s",Space,Str "back."]]
117 ,[Para [Str "Item",Space,Str "2."]]
117 ,[Para [Str "Item",Space,Str "2."]]
118 ,[Para [Str "Item",Space,Str "3."]]]
118 ,[Para [Str "Item",Space,Str "3."]]]
119,Header 2 [Str "Nested"]
119,Header 2 [Str "Nested"]
@@ -123,7 +123,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
123 [[Para [Str "Tab"]
123 [[Para [Str "Tab"]
124 ,BulletList
124 ,BulletList
125 [[Para [Str "Tab"]]]]]]]
125 [[Para [Str "Tab"]]]]]]]
126−,Para [Str "Here",Apostrophe,Str "s",Space,Str "another:"]
126+,Para [Str "Here",Str "\8217",Str "s",Space,Str "another:"]
127,OrderedList (1,Decimal,Period)
127,OrderedList (1,Decimal,Period)
128 [[Para [Str "First"]]
128 [[Para [Str "First"]]
129 ,[Para [Str "Second:"]
129 ,[Para [Str "Second:"]
@@ -217,7 +217,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
217,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
217,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
218,Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
218,Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
219,Para [Str "foo",Space,Str "bar",Space,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
219,Para [Str "foo",Space,Str "bar",Space,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
220−,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"],Space,Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
220+,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"],Space,Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
221,Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
221,Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
222,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
222,CodeBlock ("",[],[]) "<div>\n foo\n</div>"
223,Para [Str "As",Space,Str "should",Space,Str "this:"]
223,Para [Str "As",Space,Str "should",Space,Str "this:"]
@@ -230,7 +230,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
230,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
230,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
231,Para [Str "Code:"]
231,Para [Str "Code:"]
232,CodeBlock ("",[],[]) "<hr />"
232,CodeBlock ("",[],[]) "<hr />"
233−,Para [Str "Hr",Apostrophe,Str "s:"]
233+,Para [Str "Hr",Str "\8217",Str "s:"]
234,HorizontalRule
234,HorizontalRule
235,Header 1 [Str "Inline",Space,Str "Markup"]
235,Header 1 [Str "Inline",Space,Str "Markup"]
236,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
236,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
@@ -250,11 +250,11 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
250,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]]
250,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]]
251,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."]
251,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."]
252,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]]
252,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]]
253−,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s?"]
253+,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Str "\8217",Str "s?"]
254,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
254,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
255−,Para [Str "Some",Space,Str "dashes:",Space,Str "one",EmDash,Str "two",EmDash,Str "three",EmDash,Str "four",EmDash,Str "five."]
255+,Para [Str "Some",Space,Str "dashes:",Space,Str "one",Str "\8212",Str "two",Str "\8212",Str "three",Str "\8212",Str "four",Str "\8212",Str "five."]
256−,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",EnDash,Str "7,",Space,Str "255",EnDash,Str "66,",Space,Str "1987",EnDash,Str "1999."]
256+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",Str "-",Str "7,",Space,Str "255",Str "-",Str "66,",Space,Str "1987",Str "-",Str "1999."]
257−,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
257+,Para [Str "Ellipses",Str "\8230",Str "and",Str "\8230",Str "and",Str "\8230",Str "."]
258,HorizontalRule
258,HorizontalRule
259,Header 1 [Str "LaTeX"]
259,Header 1 [Str "LaTeX"]
260,BulletList
260,BulletList
@@ -266,13 +266,13 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
266 ,[Para [Math InlineMath "223"]]
266 ,[Para [Math InlineMath "223"]]
267 ,[Para [Math InlineMath "p",Str "-",Str "Tree"]]
267 ,[Para [Math InlineMath "p",Str "-",Str "Tree"]]
268 ,[Para [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
268 ,[Para [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
269− ,[Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
269+ ,[Para [Str "Here",Str "\8217",Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
270−,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math:"]
270+,Para [Str "These",Space,Str "shouldn",Str "\8217",Str "t",Space,Str "be",Space,Str "math:"]
271,BulletList
271,BulletList
272 [[Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
272 [[Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
273 ,[Para [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]]
273 ,[Para [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]]
274 ,[Para [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
274 ,[Para [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
275−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
275+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
276,Table [] [AlignLeft,AlignLeft] [0.0,0.0]
276,Table [] [AlignLeft,AlignLeft] [0.0,0.0]
277 [[Plain [Str "Animal"]]
277 [[Plain [Str "Animal"]]
278 ,[Plain [Str "Number"]]]
278 ,[Plain [Str "Number"]]]
@@ -336,10 +336,10 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
336,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
336,Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
337,Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
337,Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
338,Header 2 [Str "With",Space,Str "ampersands"]
338,Header 2 [Str "With",Space,Str "ampersands"]
339−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
339+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
340−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/",""),Str "."]
340+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/",""),Str "."]
341−,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
341+,Para [Str "Here",Str "\8217",Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
342−,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
342+,Para [Str "Here",Str "\8217",Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
343,Header 2 [Str "Autolinks"]
343,Header 2 [Str "Autolinks"]
344,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
344,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
345,BulletList
345,BulletList
@@ -358,7 +358,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
358,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "image"] ("movie.jpg",""),Space,Str "icon."]
358,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "image"] ("movie.jpg",""),Space,Str "icon."]
359,HorizontalRule
359,HorizontalRule
360,Header 1 [Str "Footnotes"]
360,Header 1 [Str "Footnotes"]
361−,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
361+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here",Str "\8217",Str "s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
362,BlockQuote
362,BlockQuote
363 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
363 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]]
364,OrderedList (1,Decimal,Period)
364,OrderedList (1,Decimal,Period)
tests/rst-reader.native+12−12
@@ -3,26 +3,26 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
3 [([Str "Revision"],
3 [([Str "Revision"],
4 [[Para [Str "3"]]])]
4 [[Para [Str "3"]]])]
5,Header 1 [Str "Level",Space,Str "one",Space,Str "header"]
5,Header 1 [Str "Level",Space,Str "one",Space,Str "header"]
6−,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
6+,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Str "\8217",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
7,Header 2 [Str "Level",Space,Str "two",Space,Str "header"]
7,Header 2 [Str "Level",Space,Str "two",Space,Str "header"]
8,Header 3 [Str "Level",Space,Str "three"]
8,Header 3 [Str "Level",Space,Str "three"]
9,Header 4 [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]]
9,Header 4 [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]]
10,Header 5 [Str "Level",Space,Str "five"]
10,Header 5 [Str "Level",Space,Str "five"]
11,Header 1 [Str "Paragraphs"]
11,Header 1 [Str "Paragraphs"]
12−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
12+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
13,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
13,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
14−,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
14+,Para [Str "Here",Str "\8217",Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
15,Para [Str "Horizontal",Space,Str "rule",Str ":"]
15,Para [Str "Horizontal",Space,Str "rule",Str ":"]
16,HorizontalRule
16,HorizontalRule
17,Para [Str "Another",Str ":"]
17,Para [Str "Another",Str ":"]
18,HorizontalRule
18,HorizontalRule
19,Header 1 [Str "Block",Space,Str "Quotes"]
19,Header 1 [Str "Block",Space,Str "Quotes"]
20−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
20+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
21,BlockQuote
21,BlockQuote
22 [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
22 [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short",Str "."]]
23−,Para [Str "Here",Apostrophe,Str "s",Space,Str "another,",Space,Str "differently",Space,Str "indented",Str ":"]
23+,Para [Str "Here",Str "\8217",Str "s",Space,Str "another,",Space,Str "differently",Space,Str "indented",Str ":"]
24,BlockQuote
24,BlockQuote
25− [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Apostrophe,Str "s",Space,Str "indented",Space,Str "with",Space,Str "a",Space,Str "tab",Str "."]
25+ [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote",Str ".",Space,Str "It",Str "\8217",Str "s",Space,Str "indented",Space,Str "with",Space,Str "a",Space,Str "tab",Str "."]
26 ,Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
26 ,Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
27 ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
27 ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"
28 ,Para [Str "List",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
28 ,Para [Str "List",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote",Str ":"]
@@ -98,7 +98,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
98,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
98,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
99,OrderedList (1,Decimal,Period)
99,OrderedList (1,Decimal,Period)
100 [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one",Str "."]
100 [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one",Str "."]
101− ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
101+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Str "\8217",Str "s",Space,Str "back",Str "."]]
102 ,[Para [Str "Item",Space,Str "2",Str "."]]
102 ,[Para [Str "Item",Space,Str "2",Str "."]]
103 ,[Para [Str "Item",Space,Str "3",Str "."]]]
103 ,[Para [Str "Item",Space,Str "3",Str "."]]]
104,Para [Str "Nested",Str ":"]
104,Para [Str "Nested",Str ":"]
@@ -108,7 +108,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
108 [[Para [Str "Tab"]
108 [[Para [Str "Tab"]
109 ,BulletList
109 ,BulletList
110 [[Plain [Str "Tab"]]]]]]]
110 [[Plain [Str "Tab"]]]]]]]
111−,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
111+,Para [Str "Here",Str "\8217",Str "s",Space,Str "another",Str ":"]
112,OrderedList (1,Decimal,Period)
112,OrderedList (1,Decimal,Period)
113 [[Para [Str "First"]]
113 [[Para [Str "First"]]
114 ,[Para [Str "Second",Str ":"]
114 ,[Para [Str "Second",Str ":"]
@@ -165,14 +165,14 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
165 ,([Str "city"],
165 ,([Str "city"],
166 [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
166 [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
167 ,([Str "phone"],
167 ,([Str "phone"],
168− [[Para [Str "123",EnDash,Str "4567"]]])]]
168+ [[Para [Str "123",Str "\8211",Str "4567"]]])]]
169,DefinitionList
169,DefinitionList
170 [([Str "address"],
170 [([Str "address"],
171 [[Para [Str "61",Space,Str "Main",Space,Str "St",Str "."]]])
171 [[Para [Str "61",Space,Str "Main",Space,Str "St",Str "."]]])
172 ,([Str "city"],
172 ,([Str "city"],
173 [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
173 [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",Space,Str "USA"]]])
174 ,([Str "phone"],
174 ,([Str "phone"],
175− [[Para [Str "123",EnDash,Str "4567"]]])]
175+ [[Para [Str "123",Str "\8211",Str "4567"]]])]
176,Header 1 [Str "HTML",Space,Str "Blocks"]
176,Header 1 [Str "HTML",Space,Str "Blocks"]
177,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
177,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line",Str ":"]
178,RawBlock "html" "<div>foo</div>\n"
178,RawBlock "html" "<div>foo</div>\n"
@@ -216,8 +216,8 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
216,Para [Str "Explicit",Str ":",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
216,Para [Str "Explicit",Str ":",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
217,Para [Str "Two",Space,Str "anonymous",Space,Str "links",Str ":",Space,Link [Str "the",Space,Str "first"] ("/url1/",""),Space,Str "and",Space,Link [Str "the",Space,Str "second"] ("/url2/","")]
217,Para [Str "Two",Space,Str "anonymous",Space,Str "links",Str ":",Space,Link [Str "the",Space,Str "first"] ("/url1/",""),Space,Str "and",Space,Link [Str "the",Space,Str "second"] ("/url2/","")]
218,Para [Str "Reference",Space,Str "links",Str ":",Space,Link [Str "link1"] ("/url1/",""),Space,Str "and",Space,Link [Str "link2"] ("/url2/",""),Space,Str "and",Space,Link [Str "link1"] ("/url1/",""),Space,Str "again",Str "."]
218,Para [Str "Reference",Space,Str "links",Str ":",Space,Link [Str "link1"] ("/url1/",""),Space,Str "and",Space,Link [Str "link2"] ("/url2/",""),Space,Str "and",Space,Link [Str "link1"] ("/url1/",""),Space,Str "again",Str "."]
219−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
219+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
220−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT&T"] ("/url/",""),Str "."]
220+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT&T"] ("/url/",""),Str "."]
221,Para [Str "Autolinks",Str ":",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2",""),Space,Str "and",Space,Link [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net",""),Str "."]
221,Para [Str "Autolinks",Str ":",Space,Link [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2",""),Space,Str "and",Space,Link [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net",""),Str "."]
222,Para [Str "But",Space,Str "not",Space,Str "here",Str ":"]
222,Para [Str "But",Space,Str "not",Space,Str "here",Str ":"]
223,CodeBlock ("",[],[]) "http://example.com/"
223,CodeBlock ("",[],[]) "http://example.com/"
tests/testsuite.native+20−20
@@ -1,5 +1,5 @@
1Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
1Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
2−[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
2+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
3,HorizontalRule
3,HorizontalRule
4,Header 1 [Str "Headers"]
4,Header 1 [Str "Headers"]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
@@ -14,9 +14,9 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
14,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
14,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
15,HorizontalRule
15,HorizontalRule
16,Header 1 [Str "Paragraphs"]
16,Header 1 [Str "Paragraphs"]
17−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
17+,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
18,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
18,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
19−,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
19+,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
20,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
20,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
21,HorizontalRule
21,HorizontalRule
22,Header 1 [Str "Block",Space,Str "Quotes"]
22,Header 1 [Str "Block",Space,Str "Quotes"]
@@ -100,7 +100,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
100,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
100,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
101,OrderedList (1,Decimal,Period)
101,OrderedList (1,Decimal,Period)
102 [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
102 [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
103− ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
103+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",Space,Str "back",Str "."]]
104 ,[Para [Str "Item",Space,Str "2",Str "."]]
104 ,[Para [Str "Item",Space,Str "2",Str "."]]
105 ,[Para [Str "Item",Space,Str "3",Str "."]]]
105 ,[Para [Str "Item",Space,Str "3",Str "."]]]
106,Header 2 [Str "Nested"]
106,Header 2 [Str "Nested"]
@@ -110,7 +110,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
110 [[Plain [Str "Tab"]
110 [[Plain [Str "Tab"]
111 ,BulletList
111 ,BulletList
112 [[Plain [Str "Tab"]]]]]]]
112 [[Plain [Str "Tab"]]]]]]]
113−,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
113+,Para [Str "Here\8217s",Space,Str "another",Str ":"]
114,OrderedList (1,Decimal,Period)
114,OrderedList (1,Decimal,Period)
115 [[Plain [Str "First"]]
115 [[Plain [Str "First"]]
116 ,[Plain [Str "Second",Str ":"]
116 ,[Plain [Str "Second",Str ":"]
@@ -243,7 +243,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
243,RawBlock "html" "</td>\n<td>"
243,RawBlock "html" "</td>\n<td>"
244,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
244,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
245,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
245,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
246−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
246+,Para [Str "Here\8217s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
247,RawBlock "html" "<div>\n "
247,RawBlock "html" "<div>\n "
248,Plain [Str "foo"]
248,Plain [Str "foo"]
249,RawBlock "html" "</div>\n"
249,RawBlock "html" "</div>\n"
@@ -265,7 +265,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
265,RawBlock "html" "<!-- foo --> \n"
265,RawBlock "html" "<!-- foo --> \n"
266,Para [Str "Code",Str ":"]
266,Para [Str "Code",Str ":"]
267,CodeBlock ("",[],[]) "<hr />"
267,CodeBlock ("",[],[]) "<hr />"
268−,Para [Str "Hr",Apostrophe,Str "s",Str ":"]
268+,Para [Str "Hr\8217s",Str ":"]
269,RawBlock "html" "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
269,RawBlock "html" "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
270,HorizontalRule
270,HorizontalRule
271,Header 1 [Str "Inline",Space,Str "Markup"]
271,Header 1 [Str "Inline",Space,Str "Markup"]
@@ -286,11 +286,11 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
286,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
286,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
287,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
287,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
288,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
288,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
289−,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s",Str "?"]
289+,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70\8217s",Str "?"]
290,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
290,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
291−,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
291+,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",Str "\8212",Str "two",Space,Str "\8212",Space,Str "three",Str "\8212",Str "four",Space,Str "\8212",Space,Str "five",Str "."]
292−,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",EnDash,Str "7",Str ",",Space,Str "255",EnDash,Str "66",Str ",",Space,Str "1987",EnDash,Str "1999",Str "."]
292+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",Str "\8211",Str "7",Str ",",Space,Str "255",Str "\8211",Str "66",Str ",",Space,Str "1987",Str "\8211",Str "1999",Str "."]
293−,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
293+,Para [Str "Ellipses",Str "\8230",Str "and",Str "\8230",Str "and",Str "\8230",Str "."]
294,HorizontalRule
294,HorizontalRule
295,Header 1 [Str "LaTeX"]
295,Header 1 [Str "LaTeX"]
296,BulletList
296,BulletList
@@ -300,15 +300,15 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
300 ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
300 ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
301 ,[Plain [Math InlineMath "223"]]
301 ,[Plain [Math InlineMath "223"]]
302 ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
302 ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
303− ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
303+ ,[Plain [Str "Here\8217s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
304− ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
304+ ,[Plain [Str "Here\8217s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
305−,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math",Str ":"]
305+,Para [Str "These",Space,Str "shouldn\8217t",Space,Str "be",Space,Str "math",Str ":"]
306,BulletList
306,BulletList
307 [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
307 [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
308 ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
308 ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
309 ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
309 ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
310 ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
310 ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
311−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
311+,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
312,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
312,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
313,HorizontalRule
313,HorizontalRule
314,Header 1 [Str "Special",Space,Str "Characters"]
314,Header 1 [Str "Special",Space,Str "Characters"]
@@ -366,10 +366,10 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
366,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
366,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
367,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
367,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
368,Header 2 [Str "With",Space,Str "ampersands"]
368,Header 2 [Str "With",Space,Str "ampersands"]
369−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
369+,Para [Str "Here\8217s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
370−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
370+,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
371−,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
371+,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
372−,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
372+,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
373,Header 2 [Str "Autolinks"]
373,Header 2 [Str "Autolinks"]
374,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
374,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
375,BulletList
375,BulletList
@@ -388,7 +388,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
388,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
388,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
389,HorizontalRule
389,HorizontalRule
390,Header 1 [Str "Footnotes"]
390,Header 1 [Str "Footnotes"]
391−,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
391+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
392,BlockQuote
392,BlockQuote
393 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
393 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
394,OrderedList (1,Decimal,Period)
394,OrderedList (1,Decimal,Period)
tests/textile-reader.native+8−8
@@ -1,5 +1,5 @@
1Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
1Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
2−[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Space,Str "Textile",Space,Str "Reader",Str ".",Space,Str "Part",Space,Str "of",Space,Str "it",Space,Str "comes",LineBreak,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
2+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Space,Str "Textile",Space,Str "Reader",Str ".",Space,Str "Part",Space,Str "of",Space,Str "it",Space,Str "comes",LineBreak,Str "from",Space,Str "John",Space,Str "Gruber",Str "\8217",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
3,HorizontalRule
3,HorizontalRule
4,Header 1 [Str "Headers"]
4,Header 1 [Str "Headers"]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
@@ -8,9 +8,9 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
8,Header 5 [Str "Level",Space,Str "5"]
8,Header 5 [Str "Level",Space,Str "5"]
9,Header 6 [Str "Level",Space,Str "6"]
9,Header 6 [Str "Level",Space,Str "6"]
10,Header 1 [Str "Paragraphs"]
10,Header 1 [Str "Paragraphs"]
11−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
11+,Para [Str "Here",Str "\8217",Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
12,Para [Str "Line",Space,Str "breaks",Space,Str "are",Space,Str "preserved",Space,Str "in",Space,Str "textile",Str ",",Space,Str "so",Space,Str "you",Space,Str "can",Space,Str "not",Space,Str "wrap",Space,Str "your",Space,Str "very",LineBreak,Str "long",Space,Str "paragraph",Space,Str "with",Space,Str "your",Space,Str "favourite",Space,Str "text",Space,Str "editor",Space,Str "and",Space,Str "have",Space,Str "it",Space,Str "rendered",LineBreak,Str "with",Space,Str "no",Space,Str "break",Str "."]
12,Para [Str "Line",Space,Str "breaks",Space,Str "are",Space,Str "preserved",Space,Str "in",Space,Str "textile",Str ",",Space,Str "so",Space,Str "you",Space,Str "can",Space,Str "not",Space,Str "wrap",Space,Str "your",Space,Str "very",LineBreak,Str "long",Space,Str "paragraph",Space,Str "with",Space,Str "your",Space,Str "favourite",Space,Str "text",Space,Str "editor",Space,Str "and",Space,Str "have",Space,Str "it",Space,Str "rendered",LineBreak,Str "with",Space,Str "no",Space,Str "break",Str "."]
13−,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str "."]
13+,Para [Str "Here",Str "\8217",Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str "."]
14,BulletList
14,BulletList
15 [[Plain [Str "criminey",Str "."]]]
15 [[Plain [Str "criminey",Str "."]]]
16,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "paragraph",Space,Str "break",Space,Str "between",Space,Str "here"]
16,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "paragraph",Space,Str "break",Space,Str "between",Space,Str "here"]
@@ -70,9 +70,9 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
70,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str ".",LineBreak,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str ".",LineBreak,Str "A",Space,Link [Strong [Str "strong",Space,Str "link"]] ("http://www.foobar.com",""),Str "."]
70,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str ".",LineBreak,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str ".",LineBreak,Str "A",Space,Link [Strong [Str "strong",Space,Str "link"]] ("http://www.foobar.com",""),Str "."]
71,Para [Emph [Strong [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]],LineBreak,Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Space,Str "and",Space,Emph [Strong [Str "that",Space,Str "one"]],Str ".",LineBreak,Strikeout [Str "This",Space,Str "is",Space,Str "strikeout",Space,Str "and",Space,Strong [Str "strong"]]]
71,Para [Emph [Strong [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em",Str "."]],LineBreak,Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Space,Str "and",Space,Emph [Strong [Str "that",Space,Str "one"]],Str ".",LineBreak,Strikeout [Str "This",Space,Str "is",Space,Str "strikeout",Space,Str "and",Space,Strong [Str "strong"]]]
72,Para [Str "Superscripts",Str ":",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Strong [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str ".",LineBreak,Str "Subscripts",Str ":",Space,Str "H",Subscript [Str "2"],Str "O",Str ",",Space,Str "H",Subscript [Str "23"],Str "O",Str ",",Space,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O",Str "."]
72,Para [Str "Superscripts",Str ":",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Strong [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str ".",LineBreak,Str "Subscripts",Str ":",Space,Str "H",Subscript [Str "2"],Str "O",Str ",",Space,Str "H",Subscript [Str "23"],Str "O",Str ",",Space,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O",Str "."]
73−,Para [Str "Dashes",Space,Str ":",Space,Str "How",Space,Str "cool",Space,EmDash,Space,Str "automatic",Space,Str "dashes",Str "."]
73+,Para [Str "Dashes",Space,Str ":",Space,Str "How",Space,Str "cool",Space,Str "\8212",Space,Str "automatic",Space,Str "dashes",Str "."]
74−,Para [Str "Elipses",Space,Str ":",Space,Str "He",Space,Str "thought",Space,Str "and",Space,Str "thought",Space,Ellipses,Space,Str "and",Space,Str "then",Space,Str "thought",Space,Str "some",Space,Str "more",Str "."]
74+,Para [Str "Elipses",Space,Str ":",Space,Str "He",Space,Str "thought",Space,Str "and",Space,Str "thought",Space,Str "\8230",Space,Str "and",Space,Str "then",Space,Str "thought",Space,Str "some",Space,Str "more",Str "."]
75−,Para [Str "Quotes",Space,Str "and",Space,Str "apostrophes",Space,Str ":",Space,Quoted DoubleQuote [Str "I",Apostrophe,Str "d",Space,Str "like",Space,Str "to",Space,Str "thank",Space,Str "you"],Space,Str "for",Space,Str "example",Str "."]
75+,Para [Str "Quotes",Space,Str "and",Space,Str "apostrophes",Space,Str ":",Space,Quoted DoubleQuote [Str "I",Str "\8217",Str "d",Space,Str "like",Space,Str "to",Space,Str "thank",Space,Str "you"],Space,Str "for",Space,Str "example",Str "."]
76,Header 1 [Str "Links"]
76,Header 1 [Str "Links"]
77,Header 2 [Str "Explicit"]
77,Header 2 [Str "Explicit"]
78,Para [Str "Just",Space,Str "a",Space,Link [Str "url"] ("http://www.url.com","")]
78,Para [Str "Just",Space,Str "a",Space,Link [Str "url"] ("http://www.url.com","")]
@@ -96,7 +96,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
96 ,[[Plain [Str "bella"]]
96 ,[[Plain [Str "bella"]]
97 ,[Plain [Str "45"]]
97 ,[Plain [Str "45"]]
98 ,[Plain [Str "f"]]]]
98 ,[Plain [Str "f"]]]]
99−,Para [Str "and",Space,Str "some",Space,Str "text",Space,Str "following",Space,Ellipses]
99+,Para [Str "and",Space,Str "some",Space,Str "text",Space,Str "following",Space,Str "\8230"]
100,Header 2 [Str "With",Space,Str "headers"]
100,Header 2 [Str "With",Space,Str "headers"]
101,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
101,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
102 [[Plain [Str "name"]]
102 [[Plain [Str "name"]]
@@ -136,7 +136,7 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
136,RawBlock "html" "</div>"
136,RawBlock "html" "</div>"
137,Para [Str "as",Space,Str "well",Str "."]
137,Para [Str "as",Space,Str "well",Str "."]
138,BulletList
138,BulletList
139− [[Plain [Str "this",Space,Str "<",Str "div",Str ">",Space,Str "won",Apostrophe,Str "t",Space,Str "produce",Space,Str "raw",Space,Str "html",Space,Str "blocks",Space,Str "<",Str "/div",Str ">"]]
139+ [[Plain [Str "this",Space,Str "<",Str "div",Str ">",Space,Str "won",Str "\8217",Str "t",Space,Str "produce",Space,Str "raw",Space,Str "html",Space,Str "blocks",Space,Str "<",Str "/div",Str ">"]]
140 ,[Plain [Str "but",Space,Str "this",Space,RawInline "html" "<strong>",Space,Str "will",Space,Str "produce",Space,Str "inline",Space,Str "html",Space,RawInline "html" "</strong>"]]]
140 ,[Plain [Str "but",Space,Str "this",Space,RawInline "html" "<strong>",Space,Str "will",Space,Str "produce",Space,Str "inline",Space,Str "html",Space,RawInline "html" "</strong>"]]]
141,Para [Str "Can",Space,Str "you",Space,Str "prove",Space,Str "that",Space,Str "2",Space,Str "<",Space,Str "3",Space,Str "?"]
141,Para [Str "Can",Space,Str "you",Space,Str "prove",Space,Str "that",Space,Str "2",Space,Str "<",Space,Str "3",Space,Str "?"]
142,Header 1 [Str "Acronyms",Space,Str "and",Space,Str "marks"]
142,Header 1 [Str "Acronyms",Space,Str "and",Space,Str "marks"]
tests/writer.docbook+17−17
@@ -16,7 +16,7 @@
16 </articleinfo>
16 </articleinfo>
17<para>
17<para>
18 This is a set of tests for pandoc. Most of them are adapted from John
18 This is a set of tests for pandoc. Most of them are adapted from John
19− Gruber's markdown test suite.
19+ Gruber’s markdown test suite.
20</para>
20</para>
21<section id="headers">
21<section id="headers">
22 <title>Headers</title>
22 <title>Headers</title>
@@ -56,7 +56,7 @@
56<section id="paragraphs">
56<section id="paragraphs">
57 <title>Paragraphs</title>
57 <title>Paragraphs</title>
58 <para>
58 <para>
59− Here's a regular paragraph.
59+ Here’s a regular paragraph.
60 </para>
60 </para>
61 <para>
61 <para>
62 In Markdown 1.0.0 and earlier. Version 8. This line turns into a list
62 In Markdown 1.0.0 and earlier. Version 8. This line turns into a list
@@ -64,7 +64,7 @@
64 a list item.
64 a list item.
65 </para>
65 </para>
66 <para>
66 <para>
67− Here's one with a bullet. * criminey.
67+ Here’s one with a bullet. * criminey.
68 </para>
68 </para>
69 <para>
69 <para>
70 There should be a hard line break<literallayout></literallayout>here.
70 There should be a hard line break<literallayout></literallayout>here.
@@ -364,7 +364,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
364 Item 1, graf one.
364 Item 1, graf one.
365 </para>
365 </para>
366 <para>
366 <para>
367− Item 1. graf two. The quick brown fox jumped over the lazy dog's
367+ Item 1. graf two. The quick brown fox jumped over the lazy dog’s
368 back.
368 back.
369 </para>
369 </para>
370 </listitem>
370 </listitem>
@@ -404,7 +404,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
404 </listitem>
404 </listitem>
405 </itemizedlist>
405 </itemizedlist>
406 <para>
406 <para>
407− Here's another:
407+ Here’s another:
408 </para>
408 </para>
409 <orderedlist numeration="arabic">
409 <orderedlist numeration="arabic">
410 <listitem>
410 <listitem>
@@ -893,7 +893,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
893
893
894 <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
894 <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
895 <para>
895 <para>
896− Here's a simple block:
896+ Here’s a simple block:
897 </para>
897 </para>
898 <div>
898 <div>
899
899
@@ -956,7 +956,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
956&lt;hr /&gt;
956&lt;hr /&gt;
957</programlisting>
957</programlisting>
958 <para>
958 <para>
959− Hr's:
959+ Hr’s:
960 </para>
960 </para>
961 <hr>
961 <hr>
962
962
@@ -1041,7 +1041,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
1041 </para>
1041 </para>
1042 <para>
1042 <para>
1043 <quote>He said, <quote>I want to go.</quote></quote> Were you alive in the
1043 <quote>He said, <quote>I want to go.</quote></quote> Were you alive in the
1044− 70's?
1044+ 70’s?
1045 </para>
1045 </para>
1046 <para>
1046 <para>
1047 Here is some quoted <quote><literal>code</literal></quote> and a
1047 Here is some quoted <quote><literal>code</literal></quote> and a
@@ -1092,19 +1092,19 @@ These should not be escaped: \$ \\ \&gt; \[ \{
1092 </listitem>
1092 </listitem>
1093 <listitem>
1093 <listitem>
1094 <para>
1094 <para>
1095− Here's some display math:
1095+ Here’s some display math:
1096 $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
1096 $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
1097 </para>
1097 </para>
1098 </listitem>
1098 </listitem>
1099 <listitem>
1099 <listitem>
1100 <para>
1100 <para>
1101− Here's one that has a line break in it:
1101+ Here’s one that has a line break in it:
1102 <emphasis>α</emphasis> + <emphasis>ω</emphasis> × <emphasis>x</emphasis><superscript>2</superscript>.
1102 <emphasis>α</emphasis> + <emphasis>ω</emphasis> × <emphasis>x</emphasis><superscript>2</superscript>.
1103 </para>
1103 </para>
1104 </listitem>
1104 </listitem>
1105 </itemizedlist>
1105 </itemizedlist>
1106 <para>
1106 <para>
1107− These shouldn't be math:
1107+ These shouldn’t be math:
1108 </para>
1108 </para>
1109 <itemizedlist>
1109 <itemizedlist>
1110 <listitem>
1110 <listitem>
@@ -1131,7 +1131,7 @@ These should not be escaped: \$ \\ \&gt; \[ \{
1131 </listitem>
1131 </listitem>
1132 </itemizedlist>
1132 </itemizedlist>
1133 <para>
1133 <para>
1134− Here's a LaTeX table:
1134+ Here’s a LaTeX table:
1135 </para>
1135 </para>
1136</section>
1136</section>
1137<section id="special-characters">
1137<section id="special-characters">
@@ -1304,18 +1304,18 @@ These should not be escaped: \$ \\ \&gt; \[ \{
1304 <section id="with-ampersands">
1304 <section id="with-ampersands">
1305 <title>With ampersands</title>
1305 <title>With ampersands</title>
1306 <para>
1306 <para>
1307− Here's a <ulink url="http://example.com/?foo=1&amp;bar=2">link with an
1307+ Here’s a <ulink url="http://example.com/?foo=1&amp;bar=2">link with an
1308 ampersand in the URL</ulink>.
1308 ampersand in the URL</ulink>.
1309 </para>
1309 </para>
1310 <para>
1310 <para>
1311− Here's a link with an amersand in the link text:
1311+ Here’s a link with an amersand in the link text:
1312 <ulink url="http://att.com/">AT&amp;T</ulink>.
1312 <ulink url="http://att.com/">AT&amp;T</ulink>.
1313 </para>
1313 </para>
1314 <para>
1314 <para>
1315− Here's an <ulink url="/script?foo=1&amp;bar=2">inline link</ulink>.
1315+ Here’s an <ulink url="/script?foo=1&amp;bar=2">inline link</ulink>.
1316 </para>
1316 </para>
1317 <para>
1317 <para>
1318− Here's an <ulink url="/script?foo=1&amp;bar=2">inline link in pointy
1318+ Here’s an <ulink url="/script?foo=1&amp;bar=2">inline link in pointy
1319 braces</ulink>.
1319 braces</ulink>.
1320 </para>
1320 </para>
1321 </section>
1321 </section>
@@ -1392,7 +1392,7 @@ or here: &lt;http://example.com/&gt;
1392 </para>
1392 </para>
1393 </footnote> and another.<footnote>
1393 </footnote> and another.<footnote>
1394 <para>
1394 <para>
1395− Here's the long note. This one contains multiple blocks.
1395+ Here’s the long note. This one contains multiple blocks.
1396 </para>
1396 </para>
1397 <para>
1397 <para>
1398 Subsequent blocks are indented to show that they belong to the
1398 Subsequent blocks are indented to show that they belong to the
tests/writer.mediawiki+26−26
@@ -1,4 +1,4 @@
1−This is a set of tests for pandoc. Most of them are adapted from John Gruber&rsquo;s markdown test suite.
1+This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.
2
2
3
3
4-----
4-----
@@ -30,11 +30,11 @@ with no blank line
30
30
31= Paragraphs =
31= Paragraphs =
32
32
33−Here&rsquo;s a regular paragraph.
33+Here’s a regular paragraph.
34
34
35In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item.
35In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item.
36
36
37−Here&rsquo;s one with a bullet. * criminey.
37+Here’s one with a bullet. * criminey.
38
38
39There should be a hard line break<br />
39There should be a hard line break<br />
40here.
40here.
@@ -160,7 +160,7 @@ Multiple paragraphs:
160
160
161<ol style="list-style-type: decimal;">
161<ol style="list-style-type: decimal;">
162<li><p>Item 1, graf one.</p>
162<li><p>Item 1, graf one.</p>
163−<p>Item 1. graf two. The quick brown fox jumped over the lazy dog&rsquo;s back.</p></li>
163+<p>Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.</p></li>
164<li><p>Item 2.</p></li>
164<li><p>Item 2.</p></li>
165<li><p>Item 3.</p></li></ol>
165<li><p>Item 3.</p></li></ol>
166
166
@@ -172,7 +172,7 @@ Multiple paragraphs:
172
172
173
173
174
174
175−Here&rsquo;s another:
175+Here’s another:
176
176
177# First
177# First
178# Second:
178# Second:
@@ -350,7 +350,7 @@ And this is '''strong'''
350
350
351<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
351<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
352
352
353−Here&rsquo;s a simple block:
353+Here’s a simple block:
354
354
355<div>
355<div>
356
356
@@ -401,7 +401,7 @@ Just plain comment, with trailing spaces on the line:
401Code:
401Code:
402
402
403<pre>&lt;hr /&gt;</pre>
403<pre>&lt;hr /&gt;</pre>
404−Hr&rsquo;s:
404+Hr’s:
405
405
406<hr>
406<hr>
407
407
@@ -455,21 +455,21 @@ These should not be superscripts or subscripts, because of the unescaped spaces:
455
455
456= Smart quotes, ellipses, dashes =
456= Smart quotes, ellipses, dashes =
457
457
458−&ldquo;Hello,&rdquo; said the spider. &ldquo;&lsquo;Shelob&rsquo; is my name.&rdquo;
458+“Hello,” said the spider. “‘Shelob’ is my name.”
459
459
460−&lsquo;A&rsquo;, &lsquo;B&rsquo;, and &lsquo;C&rsquo; are letters.
460+‘A’, ‘B’, and ‘C’ are letters.
461
461
462−&lsquo;Oak,&rsquo; &lsquo;elm,&rsquo; and &lsquo;beech&rsquo; are names of trees. So is &lsquo;pine.&rsquo;
462+‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’
463
463
464−&lsquo;He said, &ldquo;I want to go.&rdquo;&rsquo; Were you alive in the 70&rsquo;s?
464+‘He said, “I want to go.”’ Were you alive in the 70’s?
465
465
466−Here is some quoted &lsquo;<tt>code</tt>&rsquo; and a &ldquo;[http://example.com/?foo=1&bar=2 quoted link]&rdquo;.
466+Here is some quoted ‘<tt>code</tt>’ and a “[http://example.com/?foo=1&bar=2 quoted link]”.
467
467
468−Some dashes: one&mdash;two &mdash; three&mdash;four &mdash; five.
468+Some dashes: one—two — three—four — five.
469
469
470−Dashes between numbers: 5&ndash;7, 255&ndash;66, 1987&ndash;1999.
470+Dashes between numbers: 5–7, 255–66, 1987–1999.
471
471
472−Ellipses&hellip;and&hellip;and&hellip;.
472+Ellipses…and…and….
473
473
474
474
475-----
475-----
@@ -482,17 +482,17 @@ Ellipses&hellip;and&hellip;and&hellip;.
482* <math>\alpha \wedge \omega</math>
482* <math>\alpha \wedge \omega</math>
483* <math>223</math>
483* <math>223</math>
484* <math>p</math>-Tree
484* <math>p</math>-Tree
485−* Here&rsquo;s some display math: <math>\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math>
485+* Here’s some display math: <math>\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math>
486−* Here&rsquo;s one that has a line break in it: <math>\alpha + \omega \times x^2</math>.
486+* Here’s one that has a line break in it: <math>\alpha + \omega \times x^2</math>.
487
487
488−These shouldn&rsquo;t be math:
488+These shouldn’t be math:
489
489
490* To get the famous equation, write <tt>$e = mc^2$</tt>.
490* To get the famous equation, write <tt>$e = mc^2$</tt>.
491−* $22,000 is a ''lot'' of money. So is $34,000. (It worked if &ldquo;lot&rdquo; is emphasized.)
491+* $22,000 is a ''lot'' of money. So is $34,000. (It worked if “lot” is emphasized.)
492* Shoes ($20) and socks ($5).
492* Shoes ($20) and socks ($5).
493* Escaped <tt>$</tt>: $73 ''this should be emphasized'' 23$.
493* Escaped <tt>$</tt>: $73 ''this should be emphasized'' 23$.
494
494
495−Here&rsquo;s a LaTeX table:
495+Here’s a LaTeX table:
496
496
497
497
498
498
@@ -602,13 +602,13 @@ Foo [[url/|biz]].
602
602
603== With ampersands ==
603== With ampersands ==
604
604
605−Here&rsquo;s a [http://example.com/?foo=1&bar=2 link with an ampersand in the URL].
605+Here’s a [http://example.com/?foo=1&bar=2 link with an ampersand in the URL].
606
606
607−Here&rsquo;s a link with an amersand in the link text: [http://att.com/ AT&amp;T].
607+Here’s a link with an amersand in the link text: [http://att.com/ AT&amp;T].
608
608
609−Here&rsquo;s an [[script?foo=1&bar=2|inline link]].
609+Here’s an [[script?foo=1&bar=2|inline link]].
610
610
611−Here&rsquo;s an [[script?foo=1&bar=2|inline link in pointy braces]].
611+Here’s an [[script?foo=1&bar=2|inline link in pointy braces]].
612
612
613== Autolinks ==
613== Autolinks ==
614
614
@@ -630,7 +630,7 @@ Auto-links should not occur here: <tt>&lt;http://example.com/&gt;</tt>
630
630
631= Images =
631= Images =
632
632
633−From &ldquo;Voyage dans la Lune&rdquo; by Georges Melies (1902):
633+From “Voyage dans la Lune” by Georges Melies (1902):
634
634
635[[Image:lalune.jpg|frame|none|alt=Voyage dans la Lune|caption lalune]]
635[[Image:lalune.jpg|frame|none|alt=Voyage dans la Lune|caption lalune]]
636
636
@@ -642,7 +642,7 @@ Here is a movie [[Image:movie.jpg|movie]] icon.
642= Footnotes =
642= Footnotes =
643
643
644Here is a footnote reference,<ref>Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.
644Here is a footnote reference,<ref>Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.
645−</ref> and another.<ref>Here&rsquo;s the long note. This one contains multiple blocks.
645+</ref> and another.<ref>Here’s the long note. This one contains multiple blocks.
646
646
647Subsequent blocks are indented to show that they belong to the footnote (as with list items).
647Subsequent blocks are indented to show that they belong to the footnote (as with list items).
648
648
tests/writer.native+20−20
@@ -1,5 +1,5 @@
1Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
1Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docAuthors = [[Str "John",Space,Str "MacFarlane"],[Str "Anonymous"]], docDate = [Str "July",Space,Str "17",Str ",",Space,Str "2006"]})
2−[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
2+[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Str ".",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
3,HorizontalRule
3,HorizontalRule
4,Header 1 [Str "Headers"]
4,Header 1 [Str "Headers"]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
5,Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
@@ -14,9 +14,9 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
14,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
14,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
15,HorizontalRule
15,HorizontalRule
16,Header 1 [Str "Paragraphs"]
16,Header 1 [Str "Paragraphs"]
17−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
17+,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph",Str "."]
18,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
18,Para [Str "In",Space,Str "Markdown",Space,Str "1",Str ".",Str "0",Str ".",Str "0",Space,Str "and",Space,Str "earlier",Str ".",Space,Str "Version",Space,Str "8",Str ".",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item",Str ".",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item",Str "."]
19−,Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
19+,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet",Str ".",Space,Str "*",Space,Str "criminey",Str "."]
20,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
20,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here",Str "."]
21,HorizontalRule
21,HorizontalRule
22,Header 1 [Str "Block",Space,Str "Quotes"]
22,Header 1 [Str "Block",Space,Str "Quotes"]
@@ -100,7 +100,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
100,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
100,Para [Str "Multiple",Space,Str "paragraphs",Str ":"]
101,OrderedList (1,Decimal,Period)
101,OrderedList (1,Decimal,Period)
102 [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
102 [[Para [Str "Item",Space,Str "1",Str ",",Space,Str "graf",Space,Str "one",Str "."]
103− ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back",Str "."]]
103+ ,Para [Str "Item",Space,Str "1",Str ".",Space,Str "graf",Space,Str "two",Str ".",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",Space,Str "back",Str "."]]
104 ,[Para [Str "Item",Space,Str "2",Str "."]]
104 ,[Para [Str "Item",Space,Str "2",Str "."]]
105 ,[Para [Str "Item",Space,Str "3",Str "."]]]
105 ,[Para [Str "Item",Space,Str "3",Str "."]]]
106,Header 2 [Str "Nested"]
106,Header 2 [Str "Nested"]
@@ -110,7 +110,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
110 [[Plain [Str "Tab"]
110 [[Plain [Str "Tab"]
111 ,BulletList
111 ,BulletList
112 [[Plain [Str "Tab"]]]]]]]
112 [[Plain [Str "Tab"]]]]]]]
113−,Para [Str "Here",Apostrophe,Str "s",Space,Str "another",Str ":"]
113+,Para [Str "Here\8217s",Space,Str "another",Str ":"]
114,OrderedList (1,Decimal,Period)
114,OrderedList (1,Decimal,Period)
115 [[Plain [Str "First"]]
115 [[Plain [Str "First"]]
116 ,[Plain [Str "Second",Str ":"]
116 ,[Plain [Str "Second",Str ":"]
@@ -243,7 +243,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
243,RawBlock "html" "</td>\n<td>"
243,RawBlock "html" "</td>\n<td>"
244,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
244,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]]
245,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
245,RawBlock "html" "</td>\n</tr>\n</table>\n\n<script type=\"text/javascript\">document.write('This *should not* be interpreted as markdown');</script>\n"
246−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
246+,Para [Str "Here\8217s",Space,Str "a",Space,Str "simple",Space,Str "block",Str ":"]
247,RawBlock "html" "<div>\n "
247,RawBlock "html" "<div>\n "
248,Plain [Str "foo"]
248,Plain [Str "foo"]
249,RawBlock "html" "</div>\n"
249,RawBlock "html" "</div>\n"
@@ -265,7 +265,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
265,RawBlock "html" "<!-- foo --> \n"
265,RawBlock "html" "<!-- foo --> \n"
266,Para [Str "Code",Str ":"]
266,Para [Str "Code",Str ":"]
267,CodeBlock ("",[],[]) "<hr />"
267,CodeBlock ("",[],[]) "<hr />"
268−,Para [Str "Hr",Apostrophe,Str "s",Str ":"]
268+,Para [Str "Hr\8217s",Str ":"]
269,RawBlock "html" "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
269,RawBlock "html" "<hr>\n\n<hr />\n\n<hr />\n\n<hr> \n\n<hr /> \n\n<hr /> \n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\" />\n\n<hr class=\"foo\" id=\"bar\">\n"
270,HorizontalRule
270,HorizontalRule
271,Header 1 [Str "Inline",Space,Str "Markup"]
271,Header 1 [Str "Inline",Space,Str "Markup"]
@@ -286,11 +286,11 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
286,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
286,Para [Quoted DoubleQuote [Str "Hello",Str ","],Space,Str "said",Space,Str "the",Space,Str "spider",Str ".",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name",Str "."]]
287,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
287,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters",Str "."]
288,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
288,Para [Quoted SingleQuote [Str "Oak",Str ","],Space,Quoted SingleQuote [Str "elm",Str ","],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees",Str ".",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine",Str "."]]
289−,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s",Str "?"]
289+,Para [Quoted SingleQuote [Str "He",Space,Str "said",Str ",",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go",Str "."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70\8217s",Str "?"]
290,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
290,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
291−,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",EmDash,Str "two",Space,EmDash,Space,Str "three",EmDash,Str "four",Space,EmDash,Space,Str "five",Str "."]
291+,Para [Str "Some",Space,Str "dashes",Str ":",Space,Str "one",Str "\8212",Str "two",Space,Str "\8212",Space,Str "three",Str "\8212",Str "four",Space,Str "\8212",Space,Str "five",Str "."]
292−,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",EnDash,Str "7",Str ",",Space,Str "255",EnDash,Str "66",Str ",",Space,Str "1987",EnDash,Str "1999",Str "."]
292+,Para [Str "Dashes",Space,Str "between",Space,Str "numbers",Str ":",Space,Str "5",Str "\8211",Str "7",Str ",",Space,Str "255",Str "\8211",Str "66",Str ",",Space,Str "1987",Str "\8211",Str "1999",Str "."]
293−,Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
293+,Para [Str "Ellipses",Str "\8230",Str "and",Str "\8230",Str "and",Str "\8230",Str "."]
294,HorizontalRule
294,HorizontalRule
295,Header 1 [Str "LaTeX"]
295,Header 1 [Str "LaTeX"]
296,BulletList
296,BulletList
@@ -300,15 +300,15 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
300 ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
300 ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]]
301 ,[Plain [Math InlineMath "223"]]
301 ,[Plain [Math InlineMath "223"]]
302 ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
302 ,[Plain [Math InlineMath "p",Str "-",Str "Tree"]]
303− ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
303+ ,[Plain [Str "Here\8217s",Space,Str "some",Space,Str "display",Space,Str "math",Str ":",Space,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]
304− ,[Plain [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
304+ ,[Plain [Str "Here\8217s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it",Str ":",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]]
305−,Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math",Str ":"]
305+,Para [Str "These",Space,Str "shouldn\8217t",Space,Str "be",Space,Str "math",Str ":"]
306,BulletList
306,BulletList
307 [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
307 [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation",Str ",",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]]
308 ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
308 ,[Plain [Str "$",Str "22",Str ",",Str "000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money",Str ".",Space,Str "So",Space,Str "is",Space,Str "$",Str "34",Str ",",Str "000",Str ".",Space,Str "(",Str "It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized",Str ".",Str ")"]]
309 ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
309 ,[Plain [Str "Shoes",Space,Str "(",Str "$",Str "20",Str ")",Space,Str "and",Space,Str "socks",Space,Str "(",Str "$",Str "5",Str ")",Str "."]]
310 ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
310 ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."]]]
311−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
311+,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table",Str ":"]
312,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
312,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
313,HorizontalRule
313,HorizontalRule
314,Header 1 [Str "Special",Space,Str "Characters"]
314,Header 1 [Str "Special",Space,Str "Characters"]
@@ -366,10 +366,10 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
366,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
366,Para [Str "Foo",Space,Link [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."]
367,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
367,Para [Str "Foo",Space,Link [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."]
368,Header 2 [Str "With",Space,Str "ampersands"]
368,Header 2 [Str "With",Space,Str "ampersands"]
369−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
369+,Para [Str "Here\8217s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
370−,Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
370+,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text",Str ":",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/","AT&T"),Str "."]
371−,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
371+,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
372−,Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
372+,Para [Str "Here\8217s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
373,Header 2 [Str "Autolinks"]
373,Header 2 [Str "Autolinks"]
374,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
374,Para [Str "With",Space,Str "an",Space,Str "ampersand",Str ":",Space,Link [Code ("",["url"],[]) "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
375,BulletList
375,BulletList
@@ -388,7 +388,7 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite"], docA
388,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
388,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "movie"] ("movie.jpg",""),Space,Str "icon",Str "."]
389,HorizontalRule
389,HorizontalRule
390,Header 1 [Str "Footnotes"]
390,Header 1 [Str "Footnotes"]
391−,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
391+,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote",Str ".",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference",Str ".",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document",Str "."]],Space,Str "and",Space,Str "another",Str ".",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note",Str ".",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks",Str "."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(",Str "as",Space,Str "with",Space,Str "list",Space,Str "items",Str ")",Str "."],CodeBlock ("",[],[]) " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want",Str ",",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line",Str ",",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block",Str "."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference",Str ",",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space",Str ".",Str "[",Str "^",Str "my",Space,Str "note",Str "]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note",Str ".",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type",Str ".",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters",Str ",",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[",Str "bracketed",Space,Str "text",Str "]",Str "."]]]
392,BlockQuote
392,BlockQuote
393 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
393 [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes",Str ".",Note [Para [Str "In",Space,Str "quote",Str "."]]]]
394,OrderedList (1,Decimal,Period)
394,OrderedList (1,Decimal,Period)
tests/writer.opendocument+35−39
@@ -864,7 +864,7 @@
864<text:p text:style-name="Author">Anonymous</text:p>
864<text:p text:style-name="Author">Anonymous</text:p>
865<text:p text:style-name="Date">July 17, 2006</text:p>
865<text:p text:style-name="Date">July 17, 2006</text:p>
866<text:p text:style-name="Text_20_body">This is a set of tests for pandoc. Most
866<text:p text:style-name="Text_20_body">This is a set of tests for pandoc. Most
867−of them are adapted from John Gruber&#8217;s markdown test suite.</text:p>
867+of them are adapted from John Gruber’s markdown test suite.</text:p>
868<text:p text:style-name="Horizontal_20_Line" />
868<text:p text:style-name="Horizontal_20_Line" />
869<text:h text:style-name="Heading_20_1" text:outline-level="1">Headers</text:h>
869<text:h text:style-name="Heading_20_1" text:outline-level="1">Headers</text:h>
870<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2 with an
870<text:h text:style-name="Heading_20_2" text:outline-level="2">Level 2 with an
@@ -883,12 +883,12 @@ link</text:span></text:a></text:h>
883<text:p text:style-name="First_20_paragraph">with no blank line</text:p>
883<text:p text:style-name="First_20_paragraph">with no blank line</text:p>
884<text:p text:style-name="Horizontal_20_Line" />
884<text:p text:style-name="Horizontal_20_Line" />
885<text:h text:style-name="Heading_20_1" text:outline-level="1">Paragraphs</text:h>
885<text:h text:style-name="Heading_20_1" text:outline-level="1">Paragraphs</text:h>
886−<text:p text:style-name="First_20_paragraph">Here&#8217;s a regular
886+<text:p text:style-name="First_20_paragraph">Here’s a regular
887paragraph.</text:p>
887paragraph.</text:p>
888<text:p text:style-name="Text_20_body">In Markdown 1.0.0 and earlier. Version
888<text:p text:style-name="Text_20_body">In Markdown 1.0.0 and earlier. Version
8898. This line turns into a list item. Because a hard-wrapped line in the middle
8898. This line turns into a list item. Because a hard-wrapped line in the middle
890of a paragraph looked like a list item.</text:p>
890of a paragraph looked like a list item.</text:p>
891−<text:p text:style-name="Text_20_body">Here&#8217;s one with a bullet. *
891+<text:p text:style-name="Text_20_body">Here’s one with a bullet. *
892criminey.</text:p>
892criminey.</text:p>
893<text:p text:style-name="Text_20_body">There should be a hard line
893<text:p text:style-name="Text_20_body">There should be a hard line
894break<text:line-break />here.</text:p>
894break<text:line-break />here.</text:p>
@@ -1061,7 +1061,7 @@ Blocks</text:h>
1061 <text:list-item>
1061 <text:list-item>
1062 <text:p text:style-name="P29">Item 1, graf one.</text:p>
1062 <text:p text:style-name="P29">Item 1, graf one.</text:p>
1063 <text:p text:style-name="P29">Item 1. graf two. The quick brown fox jumped
1063 <text:p text:style-name="P29">Item 1. graf two. The quick brown fox jumped
1064− over the lazy dog&#8217;s back.</text:p>
1064+ over the lazy dog’s back.</text:p>
1065 </text:list-item>
1065 </text:list-item>
1066 <text:list-item>
1066 <text:list-item>
1067 <text:p text:style-name="P29">Item 2.</text:p>
1067 <text:p text:style-name="P29">Item 2.</text:p>
@@ -1084,7 +1084,7 @@ Blocks</text:h>
1084 </text:list>
1084 </text:list>
1085 </text:list-item>
1085 </text:list-item>
1086</text:list>
1086</text:list>
1087−<text:p text:style-name="First_20_paragraph">Here&#8217;s another:</text:p>
1087+<text:p text:style-name="First_20_paragraph">Here’s another:</text:p>
1088<text:list text:style-name="L16">
1088<text:list text:style-name="L16">
1089 <text:list-item>
1089 <text:list-item>
1090 <text:p text:style-name="P33">First</text:p>
1090 <text:p text:style-name="P33">First</text:p>
@@ -1303,7 +1303,7 @@ table:</text:p>
1303<text:span text:style-name="T5">emphasized</text:span></text:p>
1303<text:span text:style-name="T5">emphasized</text:span></text:p>
1304<text:p text:style-name="Text_20_body">And this is
1304<text:p text:style-name="Text_20_body">And this is
1305<text:span text:style-name="T6">strong</text:span></text:p>
1305<text:span text:style-name="T6">strong</text:span></text:p>
1306−<text:p text:style-name="Text_20_body">Here&#8217;s a simple block:</text:p>
1306+<text:p text:style-name="Text_20_body">Here’s a simple block:</text:p>
1307<text:p text:style-name="Text_20_body">foo</text:p>
1307<text:p text:style-name="Text_20_body">foo</text:p>
1308<text:p text:style-name="Text_20_body">This should be a code block,
1308<text:p text:style-name="Text_20_body">This should be a code block,
1309though:</text:p>
1309though:</text:p>
@@ -1323,7 +1323,7 @@ comment:</text:p>
1323spaces on the line:</text:p>
1323spaces on the line:</text:p>
1324<text:p text:style-name="Text_20_body">Code:</text:p>
1324<text:p text:style-name="Text_20_body">Code:</text:p>
1325<text:p text:style-name="P50">&lt;hr /&gt;</text:p>
1325<text:p text:style-name="P50">&lt;hr /&gt;</text:p>
1326−<text:p text:style-name="First_20_paragraph">Hr&#8217;s:</text:p>
1326+<text:p text:style-name="First_20_paragraph">Hr’s:</text:p>
1327<text:p text:style-name="Horizontal_20_Line" />
1327<text:p text:style-name="Horizontal_20_Line" />
1328<text:h text:style-name="Heading_20_1" text:outline-level="1">Inline
1328<text:h text:style-name="Heading_20_1" text:outline-level="1">Inline
1329Markup</text:h>
1329Markup</text:h>
@@ -1374,23 +1374,22 @@ subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.</text:p>
1374<text:p text:style-name="Horizontal_20_Line" />
1374<text:p text:style-name="Horizontal_20_Line" />
1375<text:h text:style-name="Heading_20_1" text:outline-level="1">Smart quotes,
1375<text:h text:style-name="Heading_20_1" text:outline-level="1">Smart quotes,
1376ellipses, dashes</text:h>
1376ellipses, dashes</text:h>
1377−<text:p text:style-name="First_20_paragraph">&#8220;Hello,&#8221; said the
1377+<text:p text:style-name="First_20_paragraph">“Hello,” said the spider.
1378−spider. &#8220;&#8216;Shelob&#8217; is my name.&#8221;</text:p>
1378+“‘Shelob’ is my name.”</text:p>
1379−<text:p text:style-name="Text_20_body">&#8216;A&#8217;, &#8216;B&#8217;, and
1379+<text:p text:style-name="Text_20_body">‘A’, ‘B’, and ‘C’ are letters.</text:p>
1380−&#8216;C&#8217; are letters.</text:p>
1381−<text:p text:style-name="Text_20_body">&#8216;Oak,&#8217; &#8216;elm,&#8217;
1380+<text:p text:style-name="Text_20_body">‘Oak,’ ‘elm,’ and ‘beech’ are names of
1382−and &#8216;beech&#8217; are names of trees. So is &#8216;pine.&#8217;</text:p>
1381+trees. So is ‘pine.’</text:p>
1383−<text:p text:style-name="Text_20_body">&#8216;He said, &#8220;I want to
1382+<text:p text:style-name="Text_20_body">‘He said, “I want to go.”’ Were you
1384−go.&#8221;&#8217; Were you alive in the 70&#8217;s?</text:p>
1383+alive in the 70’s?</text:p>
1385<text:p text:style-name="Text_20_body">Here is some quoted
1384<text:p text:style-name="Text_20_body">Here is some quoted
1386−&#8216;<text:span text:style-name="Teletype">code</text:span>&#8217; and a
1385+‘<text:span text:style-name="Teletype">code</text:span>’ and a
1387−&#8220;<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">quoted
1386+“<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">quoted
1388−link</text:span></text:a>&#8221;.</text:p>
1387+link</text:span></text:a>”.</text:p>
1389−<text:p text:style-name="Text_20_body">Some dashes: one&#8212;two &#8212;
1388+<text:p text:style-name="Text_20_body">Some dashes: one—two — three—four —
1390−three&#8212;four &#8212; five.</text:p>
1389+five.</text:p>
1391−<text:p text:style-name="Text_20_body">Dashes between numbers: 5&#8211;7,
1390+<text:p text:style-name="Text_20_body">Dashes between numbers: 5–7, 255–66,
1392−255&#8211;66, 1987&#8211;1999.</text:p>
1391+1987–1999.</text:p>
1393−<text:p text:style-name="Text_20_body">Ellipses&#8230;and&#8230;and&#8230;.</text:p>
1392+<text:p text:style-name="Text_20_body">Ellipses…and…and….</text:p>
1394<text:p text:style-name="Horizontal_20_Line" />
1393<text:p text:style-name="Horizontal_20_Line" />
1395<text:h text:style-name="Heading_20_1" text:outline-level="1">LaTeX</text:h>
1394<text:h text:style-name="Heading_20_1" text:outline-level="1">LaTeX</text:h>
1396<text:list text:style-name="L26">
1395<text:list text:style-name="L26">
@@ -1413,17 +1412,15 @@ three&#8212;four &#8212; five.</text:p>
1413 <text:p text:style-name="P51"><text:span text:style-name="T62">p</text:span>-Tree</text:p>
1412 <text:p text:style-name="P51"><text:span text:style-name="T62">p</text:span>-Tree</text:p>
1414 </text:list-item>
1413 </text:list-item>
1415 <text:list-item>
1414 <text:list-item>
1416− <text:p text:style-name="P51">Here&#8217;s some display math:
1415+ <text:p text:style-name="P51">Here’s some display math:
1417 $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</text:p>
1416 $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$</text:p>
1418 </text:list-item>
1417 </text:list-item>
1419 <text:list-item>
1418 <text:list-item>
1420− <text:p text:style-name="P51">Here&#8217;s one that has a line break in
1419+ <text:p text:style-name="P51">Here’s one that has a line break in it:
1421− it:
1422 <text:span text:style-name="T63">α</text:span> + <text:span text:style-name="T64">ω</text:span> × <text:span text:style-name="T65">x</text:span><text:span text:style-name="T66">2</text:span>.</text:p>
1420 <text:span text:style-name="T63">α</text:span> + <text:span text:style-name="T64">ω</text:span> × <text:span text:style-name="T65">x</text:span><text:span text:style-name="T66">2</text:span>.</text:p>
1423 </text:list-item>
1421 </text:list-item>
1424</text:list>
1422</text:list>
1425−<text:p text:style-name="First_20_paragraph">These shouldn&#8217;t be
1423+<text:p text:style-name="First_20_paragraph">These shouldn’t be math:</text:p>
1426−math:</text:p>
1427<text:list text:style-name="L27">
1424<text:list text:style-name="L27">
1428 <text:list-item>
1425 <text:list-item>
1429 <text:p text:style-name="P52">To get the famous equation, write
1426 <text:p text:style-name="P52">To get the famous equation, write
@@ -1432,7 +1429,7 @@ math:</text:p>
1432 <text:list-item>
1429 <text:list-item>
1433 <text:p text:style-name="P52">$22,000 is a
1430 <text:p text:style-name="P52">$22,000 is a
1434 <text:span text:style-name="T67">lot</text:span> of money. So is $34,000.
1431 <text:span text:style-name="T67">lot</text:span> of money. So is $34,000.
1435− (It worked if &#8220;lot&#8221; is emphasized.)</text:p>
1432+ (It worked if “lot” is emphasized.)</text:p>
1436 </text:list-item>
1433 </text:list-item>
1437 <text:list-item>
1434 <text:list-item>
1438 <text:p text:style-name="P52">Shoes ($20) and socks ($5).</text:p>
1435 <text:p text:style-name="P52">Shoes ($20) and socks ($5).</text:p>
@@ -1447,8 +1444,7 @@ math:</text:p>
1447 23$.</text:p>
1444 23$.</text:p>
1448 </text:list-item>
1445 </text:list-item>
1449</text:list>
1446</text:list>
1450−<text:p text:style-name="First_20_paragraph">Here&#8217;s a LaTeX
1447+<text:p text:style-name="First_20_paragraph">Here’s a LaTeX table:</text:p>
1451−table:</text:p>
1452<text:p text:style-name="Horizontal_20_Line" />
1448<text:p text:style-name="Horizontal_20_Line" />
1453<text:h text:style-name="Heading_20_1" text:outline-level="1">Special
1449<text:h text:style-name="Heading_20_1" text:outline-level="1">Special
1454Characters</text:h>
1450Characters</text:h>
@@ -1538,16 +1534,16 @@ by itself should be a link.</text:p>
1538<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quote&quot; inside"><text:span text:style-name="Definition">biz</text:span></text:a>.</text:p>
1534<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quote&quot; inside"><text:span text:style-name="Definition">biz</text:span></text:a>.</text:p>
1539<text:h text:style-name="Heading_20_2" text:outline-level="2">With
1535<text:h text:style-name="Heading_20_2" text:outline-level="2">With
1540ampersands</text:h>
1536ampersands</text:h>
1541−<text:p text:style-name="First_20_paragraph">Here&#8217;s a
1537+<text:p text:style-name="First_20_paragraph">Here’s a
1542<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">link
1538<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">link
1543with an ampersand in the URL</text:span></text:a>.</text:p>
1539with an ampersand in the URL</text:span></text:a>.</text:p>
1544−<text:p text:style-name="Text_20_body">Here&#8217;s a link with an amersand in
1540+<text:p text:style-name="Text_20_body">Here’s a link with an amersand in the
1545−the link text:
1541+link text:
1546<text:a xlink:type="simple" xlink:href="http://att.com/" office:name="AT&amp;T"><text:span text:style-name="Definition">AT&amp;T</text:span></text:a>.</text:p>
1542<text:a xlink:type="simple" xlink:href="http://att.com/" office:name="AT&amp;T"><text:span text:style-name="Definition">AT&amp;T</text:span></text:a>.</text:p>
1547−<text:p text:style-name="Text_20_body">Here&#8217;s an
1543+<text:p text:style-name="Text_20_body">Here’s an
1548<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline
1544<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline
1549link</text:span></text:a>.</text:p>
1545link</text:span></text:a>.</text:p>
1550−<text:p text:style-name="Text_20_body">Here&#8217;s an
1546+<text:p text:style-name="Text_20_body">Here’s an
1551<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline
1547<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline
1552link in pointy braces</text:span></text:a>.</text:p>
1548link in pointy braces</text:span></text:a>.</text:p>
1553<text:h text:style-name="Heading_20_2" text:outline-level="2">Autolinks</text:h>
1549<text:h text:style-name="Heading_20_2" text:outline-level="2">Autolinks</text:h>
@@ -1573,8 +1569,8 @@ link in pointy braces</text:span></text:a>.</text:p>
1573<text:p text:style-name="P57">or here: &lt;http://example.com/&gt;</text:p>
1569<text:p text:style-name="P57">or here: &lt;http://example.com/&gt;</text:p>
1574<text:p text:style-name="Horizontal_20_Line" />
1570<text:p text:style-name="Horizontal_20_Line" />
1575<text:h text:style-name="Heading_20_1" text:outline-level="1">Images</text:h>
1571<text:h text:style-name="Heading_20_1" text:outline-level="1">Images</text:h>
1576−<text:p text:style-name="First_20_paragraph">From &#8220;Voyage dans la
1572+<text:p text:style-name="First_20_paragraph">From “Voyage dans la Lune” by
1577−Lune&#8221; by Georges Melies (1902):</text:p>
1573+Georges Melies (1902):</text:p>
1578<text:p text:style-name="Text_20_body"><draw:frame><draw:image xlink:href="lalune.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame></text:p>
1574<text:p text:style-name="Text_20_body"><draw:frame><draw:image xlink:href="lalune.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame></text:p>
1579<text:p text:style-name="Text_20_body">Here is a movie
1575<text:p text:style-name="Text_20_body">Here is a movie
1580<draw:frame><draw:image xlink:href="movie.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame>
1576<draw:frame><draw:image xlink:href="movie.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame>
@@ -1586,7 +1582,7 @@ reference,<text:note text:id="ftn0" text:note-class="footnote"><text:note-citati
1586is the footnote. It can go anywhere after the footnote reference. It need not
1582is the footnote. It can go anywhere after the footnote reference. It need not
1587be placed at the end of the document.</text:p></text:note-body></text:note>
1583be placed at the end of the document.</text:p></text:note-body></text:note>
1588and
1584and
1589−another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here&#8217;s
1585+another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here’s
1590the long note. This one contains multiple
1586the long note. This one contains multiple
1591blocks.</text:p><text:p text:style-name="Footnote">Subsequent blocks are
1587blocks.</text:p><text:p text:style-name="Footnote">Subsequent blocks are
1592indented to show that they belong to the footnote (as with list
1588indented to show that they belong to the footnote (as with list