summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2019-06-24 17:11:29 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2019-06-24 17:11:29 +0000
commitea4ea8d89fbe662405841874aab5182a11422cd5 (patch)
tree88998314917bbe939978c280e4141b9e3819ad3d
parent7ff2fac4c95176609aafa9b95fe59181bf759cb9 (diff)
downloaddocutils-ea4ea8d89fbe662405841874aab5182a11422cd5.tar.gz
Apply [ 152 ] reset `default role` at end of document.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8257 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
-rw-r--r--docutils/HISTORY.txt4
-rw-r--r--docutils/docutils/parsers/rst/__init__.py3
-rw-r--r--docutils/docutils/parsers/rst/directives/misc.py1
3 files changed, 7 insertions, 1 deletions
diff --git a/docutils/HISTORY.txt b/docutils/HISTORY.txt
index a85d40ee2..a860fc749 100644
--- a/docutils/HISTORY.txt
+++ b/docutils/HISTORY.txt
@@ -41,6 +41,10 @@ Changes Since 0.14
- Fix [ 251 ] system_message.copy() TypeError.
- Element.copy() also copies `document`, `line`, and `source` attributes.
+* docutils/parsers/rst/__init__.py:
+
+ - Apply [ 152 ] reset `default role` at end of document.
+
* docutils/parsers/rst/states.py:
- Allow embedded colons in field list field names.
diff --git a/docutils/docutils/parsers/rst/__init__.py b/docutils/docutils/parsers/rst/__init__.py
index a181277fb..91f139854 100644
--- a/docutils/docutils/parsers/rst/__init__.py
+++ b/docutils/docutils/parsers/rst/__init__.py
@@ -189,6 +189,9 @@ class Parser(docutils.parsers.Parser):
inputstring, tab_width=document.settings.tab_width,
convert_whitespace=True)
self.statemachine.run(inputlines, document, inliner=self.inliner)
+ # restore the "default" default role after parsing a document
+ if '' in roles._roles:
+ del roles._roles['']
self.finish_parse()
diff --git a/docutils/docutils/parsers/rst/directives/misc.py b/docutils/docutils/parsers/rst/directives/misc.py
index 66840ef31..c6842fafd 100644
--- a/docutils/docutils/parsers/rst/directives/misc.py
+++ b/docutils/docutils/parsers/rst/directives/misc.py
@@ -449,7 +449,6 @@ class DefaultRole(Directive):
line=self.lineno)
return messages + [error]
roles._roles[''] = role
- # @@@ should this be local to the document, not the parser?
return messages