summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeorg.brandl <devnull@localhost>2008-10-16 20:41:05 +0000
committergeorg.brandl <devnull@localhost>2008-10-16 20:41:05 +0000
commit887e799ab10f5e479900adc8fede5238c68073df (patch)
tree9ea8200ea797bec1a688d115ceeef0cd88c47296
parent8b8e71eaeb4f4d4dcbed7af67f4ee1fc7d5a5431 (diff)
downloadsphinx-887e799ab10f5e479900adc8fede5238c68073df.tar.gz
Role names are case-insensitive. #24.
-rw-r--r--CHANGES2
-rw-r--r--sphinx/roles.py6
-rw-r--r--tests/root/markup.txt2
3 files changed, 9 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index e541d630..ef3160ec 100644
--- a/CHANGES
+++ b/CHANGES
@@ -118,6 +118,8 @@ Bugs fixed
* Fix LaTeX build for some description environments with ``:noindex:``.
+* Don't crash on weird casing of role names (like ``:Class:``).
+
Release 0.4.3 (Oct 8, 2008)
===========================
diff --git a/sphinx/roles.py b/sphinx/roles.py
index 22f8a1d5..e4a35c63 100644
--- a/sphinx/roles.py
+++ b/sphinx/roles.py
@@ -41,6 +41,8 @@ def indexmarkup_role(typ, rawtext, etext, lineno, inliner, options={}, content=[
env = inliner.document.settings.env
if not typ:
typ = env.config.default_role
+ else:
+ typ = typ.lower()
text = utils.unescape(etext)
targetid = 'index-%s' % env.index_num
env.index_num += 1
@@ -112,6 +114,8 @@ def xfileref_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
env = inliner.document.settings.env
if not typ:
typ = env.config.default_role
+ else:
+ typ = typ.lower()
text = utils.unescape(text)
# if the first character is a bang, don't cross-reference at all
if text[0:1] == '!':
@@ -190,7 +194,7 @@ _litvar_re = re.compile('{([^}]+)}')
def emph_literal_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
text = utils.unescape(text)
pos = 0
- retnode = nodes.literal(role=typ)
+ retnode = nodes.literal(role=typ.lower())
for m in _litvar_re.finditer(text):
if m.start() > pos:
txt = text[pos:m.start()]
diff --git a/tests/root/markup.txt b/tests/root/markup.txt
index 53812ca7..3e4bd099 100644
--- a/tests/root/markup.txt
+++ b/tests/root/markup.txt
@@ -62,6 +62,8 @@ Stuff [#]_
This is a side note.
+This tests :CLASS:`role names in uppercase`.
+
.. centered:: LICENSE AGREEMENT
.. acks::