From dbbbd3778dbd5d6f9a5daa2117d128a8b62bac8a Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Fri, 8 Mar 2013 11:00:30 +0000 Subject: [PATCH] Don't create an automatic cross-reference if the source already exists (in particular, don't send "mapped" to "mapping" since we already have an entry for "mapped"). Copied from Perforce Change: 181086 ServerID: perforce.ravenbrook.com --- mps/manual/source/extensions/mps.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mps/manual/source/extensions/mps.py b/mps/manual/source/extensions/mps.py index 0009537ac55..99a8300472c 100644 --- a/mps/manual/source/extensions/mps.py +++ b/mps/manual/source/extensions/mps.py @@ -157,14 +157,14 @@ all_admonitions = [ AkaDirective, BibrefDirective, DeprecatedDirective, - HistoricalDirective, + HistoricalDirective, LinkDirective, NoteDirective, OppositeDirective, RelevanceDirective, SeeDirective, SimilarDirective, - SpecificDirective, + SpecificDirective, TopicsDirective] class GlossaryTransform(transforms.Transform): @@ -248,7 +248,7 @@ class GlossaryTransform(transforms.Transform): if m: old_fullname = m.group(1) sense = ' ' + m.group(2) - else: + else: old_fullname = fullname sense = '' if any(old_fullname.endswith(e) for _, e in endings): @@ -257,7 +257,9 @@ class GlossaryTransform(transforms.Transform): if not old_fullname.endswith(old_ending): continue new_fullname = '{}{}{}'.format(old_fullname[:len(old_fullname) - len(old_ending)], new_ending, sense) - objects[(name, new_fullname)] = value + new_key = name, new_fullname + if new_key not in objects: + objects[new_key] = value def warn_indirect_terms(app, exception): if not exception: