aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--markdown/extensions/smarty.py4
-rw-r--r--tests/extensions/smarty.html10
-rw-r--r--tests/extensions/smarty.txt2
3 files changed, 10 insertions, 6 deletions
diff --git a/markdown/extensions/smarty.py b/markdown/extensions/smarty.py
index 3d79061..46e54c1 100644
--- a/markdown/extensions/smarty.py
+++ b/markdown/extensions/smarty.py
@@ -126,6 +126,9 @@ doubleQuoteStartRe = r'^"(?=%s\B)' % punctClass
doubleQuoteSetsRe = r""""'(?=\w)"""
singleQuoteSetsRe = r"""'"(?=\w)"""
+# Special case for decade abbreviations (the '80s):
+decadeAbbrRe = r"(?<!\w)'(?=\d{2}s)"
+
# Get most opening double quotes:
openingDoubleQuotesRegex = r'%s"(?=\w)' % openingQuotesBase
@@ -227,6 +230,7 @@ class SmartyExtension(Extension):
(doubleQuoteStartRe, (rdquo,)),
(doubleQuoteSetsRe, (ldquo + lsquo,)),
(singleQuoteSetsRe, (lsquo + ldquo,)),
+ (decadeAbbrRe, (rsquo,)),
(openingSingleQuotesRegex, (2, lsquo)),
(closingSingleQuotesRegex, (rsquo,)),
(closingSingleQuotesRegex2, (rsquo, 2)),
diff --git a/tests/extensions/smarty.html b/tests/extensions/smarty.html
index 6305060..d41e467 100644
--- a/tests/extensions/smarty.html
+++ b/tests/extensions/smarty.html
@@ -1,11 +1,11 @@
-<p>&rsquo;.
+<p>&rsquo;.<br />
1440&ndash;80&rsquo;s<br />
-1440&ndash;&lsquo;80s<br />
-1440&mdash;&lsquo;80s<br />
+1440&ndash;&rsquo;80s<br />
+1440&mdash;&rsquo;80s<br />
1960s<br />
1960&rsquo;s<br />
-one two &lsquo;60s<br />
-&lsquo;60s</p>
+one two &rsquo;60s<br />
+&rsquo;60s</p>
<p>It&rsquo;s fun. What&rsquo;s fun?<br />
&ldquo;Isn&rsquo;t this fun&rdquo;? &mdash; she said&hellip;<br />
&ldquo;&lsquo;Quoted&rsquo; words in a larger quote.&rdquo;<br />
diff --git a/tests/extensions/smarty.txt b/tests/extensions/smarty.txt
index 35fb219..48430bb 100644
--- a/tests/extensions/smarty.txt
+++ b/tests/extensions/smarty.txt
@@ -1,4 +1,4 @@
-'.
+'.
1440--80's
1440--'80s
1440---'80s