summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2011-09-22 18:59:54 +0200
committerGeorg Brandl <georg@python.org>2011-09-22 18:59:54 +0200
commitd5e4e23379911ff712c880fcf0bfba670bfcbc4d (patch)
tree9d9ee8648bf6011047bee2b7efc6ea04fff87bc3
parentcaba9b62ffa7f8f11500d85e2930453977aafe81 (diff)
downloadsphinx-d5e4e23379911ff712c880fcf0bfba670bfcbc4d.tar.gz
Fix #616: Allow keywords to be linked via intersphinx.
-rw-r--r--CHANGES2
-rw-r--r--sphinx/domains/std.py3
-rw-r--r--sphinx/ext/intersphinx.py6
3 files changed, 8 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index c89b5fe9..278be689 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
Release 1.0.8 (Sep 22, 2011)
============================
+* #616: Allow keywords to be linked via intersphinx.
+
* #613: Allow Unicode characters in production list token names.
* #720: Add dummy visitors for graphviz nodes for text and man.
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index e2249cf3..b9da29b8 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -328,7 +328,8 @@ class StandardDomain(Domain):
object_types = {
'term': ObjType(l_('glossary term'), 'term', searchprio=-1),
'token': ObjType(l_('grammar token'), 'token', searchprio=-1),
- 'label': ObjType(l_('reference label'), 'ref', searchprio=-1),
+ 'label': ObjType(l_('reference label'), 'ref', 'keyword',
+ searchprio=-1),
'envvar': ObjType(l_('environment variable'), 'envvar'),
'cmdoption': ObjType(l_('program option'), 'option'),
}
diff --git a/sphinx/ext/intersphinx.py b/sphinx/ext/intersphinx.py
index 578dddee..64a747c9 100644
--- a/sphinx/ext/intersphinx.py
+++ b/sphinx/ext/intersphinx.py
@@ -32,6 +32,7 @@ from os import path
from docutils import nodes
+from sphinx.locale import _
from sphinx.builders.html import INVENTORY_FILENAME
handlers = [urllib2.ProxyHandler(), urllib2.HTTPRedirectHandler(),
@@ -206,11 +207,12 @@ def missing_reference(app, env, node, contnode):
continue
proj, version, uri, dispname = inventory[objtype][target]
newnode = nodes.reference('', '', internal=False, refuri=uri,
- reftitle='(in %s v%s)' % (proj, version))
+ reftitle=_('(in %s v%s)') % (proj, version))
if node.get('refexplicit'):
# use whatever title was given
newnode.append(contnode)
- elif dispname == '-':
+ elif dispname == '-' or \
+ (domain == 'std' and node['reftype'] == 'keyword'):
# use whatever title was given, but strip prefix
title = contnode.astext()
if in_set and title.startswith(in_set+':'):