From d5e4e23379911ff712c880fcf0bfba670bfcbc4d Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 22 Sep 2011 18:59:54 +0200 Subject: Fix #616: Allow keywords to be linked via intersphinx. --- CHANGES | 2 ++ sphinx/domains/std.py | 3 ++- sphinx/ext/intersphinx.py | 6 ++++-- 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+':'): -- cgit v1.2.1