diff options
| author | goodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2003-03-27 03:56:37 +0000 |
|---|---|---|
| committer | goodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2003-03-27 03:56:37 +0000 |
| commit | 1c87d959eb6be73667ca61bbb48d69b075a846df (patch) | |
| tree | 3b4ddf9c34bbe3f7eb5098f4b5518dc1930361bc /docutils/transforms/references.py | |
| parent | adf281a00341eae13815afb97acf04ded5fa6f2d (diff) | |
| download | docutils-1c87d959eb6be73667ca61bbb48d69b075a846df.tar.gz | |
substitutions made case-sensitive but forgiving (case-insensitive fallback)
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@1236 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/transforms/references.py')
| -rw-r--r-- | docutils/transforms/references.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/docutils/transforms/references.py b/docutils/transforms/references.py index 5b1243ed5..fd52f00fc 100644 --- a/docutils/transforms/references.py +++ b/docutils/transforms/references.py @@ -668,11 +668,17 @@ class Substitutions(Transform): def apply(self): defs = self.document.substitution_defs + normed = self.document.substitution_names for refname, refs in self.document.substitution_refs.items(): for ref in refs: + key = None if defs.has_key(refname): - ref.parent.replace(ref, defs[refname].get_children()) + key = refname else: + normed_name = refname.lower() + if normed.has_key(normed_name): + key = normed[normed_name] + if key is None: msg = self.document.reporter.error( 'Undefined substitution referenced: "%s".' % refname, base_node=ref) @@ -682,6 +688,8 @@ class Substitutions(Transform): prbid = self.document.set_id(prb) msg.add_backref(prbid) ref.parent.replace(ref, prb) + else: + ref.parent.replace(ref, defs[key].get_children()) self.document.substitution_refs = None # release replaced references |
