summaryrefslogtreecommitdiff
path: root/sphinx/domains/std.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/domains/std.py')
-rw-r--r--sphinx/domains/std.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 97433b12e..3168d1929 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -559,7 +559,6 @@ class StandardDomain(Domain):
def merge_domaindata(self, docnames, otherdata):
# type: (List[unicode], Dict) -> None
- # XXX duplicates?
for key, data in otherdata['progoptions'].items():
if data[0] in docnames:
self.data['progoptions'][key] = data
@@ -568,6 +567,11 @@ class StandardDomain(Domain):
self.data['objects'][key] = data
for key, data in otherdata['citations'].items():
if data[0] in docnames:
+ if key in self.data['citations']:
+ otherdoc, _, _ = self.data['catations']
+ logger.warning('duplicate citation %s, other instance in %s' %
+ (key, self.env.doc2path(otherdoc)),
+ type='ref', subtype='citation')
self.data['citations'][key] = data
for key, data in otherdata['citation_refs'].items():
citation_refs = self.data['citation_refs'].setdefault(key, [])
@@ -576,6 +580,10 @@ class StandardDomain(Domain):
citation_refs.append(docname)
for key, data in otherdata['labels'].items():
if data[0] in docnames:
+ if key in self.data['labels']:
+ otherdoc, _, _ = self.data['labels']
+ logger.warning('duplicate label %s, other instance in %s' %
+ (key, self.env.doc2path(otherdoc)))
self.data['labels'][key] = data
for key, data in otherdata['anonlabels'].items():
if data[0] in docnames: