From 071756377a4c9bdb67d8c334ed0d45e79117ea25 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 17 Feb 2009 18:57:51 +0100 Subject: [PATCH] Don't output system messages while resolving, because they would stay in the doctrees even if keep_warnings is false. --- CHANGES | 3 +++ sphinx/environment.py | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index d869b9961..d7be88baa 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ Release 0.5.2 (in development) ============================== +* Don't output system messages while resolving, because they + would stay in the doctrees even if keep_warnings is false. + * #82: Determine the correct path for dependencies noted by docutils. This fixes behavior where a source with dependent files was always reported as changed. diff --git a/sphinx/environment.py b/sphinx/environment.py index aa001f901..4cff67169 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -1019,17 +1019,18 @@ class BuildEnvironment: docname, labelid = self.anonlabels.get(target, ('','')) sectname = node.astext() if not docname: - newnode = doctree.reporter.system_message( - 2, 'undefined label: %s' % target) + self.warn(fromdocname, 'undefined label: %s' % target, + node.line) else: # reference to the named label; the final node will contain the # section name after the label docname, labelid, sectname = self.labels.get(target, ('','','')) if not docname: - newnode = doctree.reporter.system_message( - 2, 'undefined label: %s -- if you don\'t ' % target + + self.warn( + fromdocname, + 'undefined label: %s -- if you don\'t ' % target + 'give a link caption the label must precede a section ' - 'header.') + 'header.', node.line) if docname: newnode = nodes.reference('', '') innernode = nodes.emphasis(sectname, sectname) @@ -1046,6 +1047,8 @@ class BuildEnvironment: if labelid: newnode['refuri'] += '#' + labelid newnode.append(innernode) + else: + newnode = contnode elif typ == 'keyword': # keywords are referenced by named labels docname, labelid, _ = self.labels.get(target, ('','',''))