summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/conf.py2
-rw-r--r--Doc/tools/sphinxext/pyspecific.py24
-rw-r--r--Doc/whatsnew/2.6.rst2
-rw-r--r--Lib/urllib2.py2
-rw-r--r--Tools/msi/msi.py5
5 files changed, 28 insertions, 7 deletions
diff --git a/Doc/conf.py b/Doc/conf.py
index b7fdf45..ec889d7 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -14,7 +14,7 @@ sys.path.append('tools/sphinxext')
# ---------------------
extensions = ['sphinx.ext.refcounting', 'sphinx.ext.coverage',
- 'sphinx.ext.doctest']
+ 'sphinx.ext.doctest', 'pyspecific']
templates_path = ['tools/sphinxext']
# General substitutions.
diff --git a/Doc/tools/sphinxext/pyspecific.py b/Doc/tools/sphinxext/pyspecific.py
new file mode 100644
index 0000000..f7c0daa
--- /dev/null
+++ b/Doc/tools/sphinxext/pyspecific.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+"""
+ pyspecific.py
+ ~~~~~~~~~~~~~
+
+ Sphinx extension with Python doc-specific markup.
+
+ :copyright: 2008 by Georg Brandl.
+ :license: Python license.
+"""
+
+ISSUE_URI = 'http://bugs.python.org/issue%s'
+
+from docutils import nodes, utils
+
+def issue_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
+ issue = utils.unescape(text)
+ text = 'issue ' + issue
+ refnode = nodes.reference(text, text, refuri=ISSUE_URI % issue)
+ return [refnode], []
+
+
+def setup(app):
+ app.add_role('issue', issue_role)
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 29a2693..8cbe49f 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -1217,7 +1217,7 @@ Here are all of the changes that Python 2.6 makes to the core Python language.
>>> f(**ud)
['a', 'b']
- .. Patch 1686487
+ (Contributed by Alexander Belopolsky; :issue:`1686487`.)
* Tuples now have an :meth:`index` method matching the list type's
:meth:`index` method::
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index b95d672..1458826 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -157,7 +157,7 @@ class HTTPError(URLError, addinfourl):
# file object. If this happens, the simplest workaround is to
# not initialize the base classes.
if fp is not None:
- self.__super_init(fp, hdrs, url)
+ self.__super_init(fp, hdrs, url, code)
def __str__(self):
return 'HTTP Error %s: %s' % (self.code, self.msg)
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index 978e7f7..d2774c8 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -969,10 +969,7 @@ def add_files(db):
lib.glob("*.gif")
lib.add_file("idle.icns")
if dir=="command" and parent.physical=="distutils":
- lib.add_file("wininst-6.0.exe")
- lib.add_file("wininst-7.1.exe")
- lib.add_file("wininst-8.0.exe")
- lib.add_file("wininst-9.0.exe")
+ lib.glob("wininst*.exe")
if dir=="setuptools":
lib.add_file("cli.exe")
lib.add_file("gui.exe")