summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/bugs.rst10
-rw-r--r--Doc/distutils/examples.rst6
-rw-r--r--Doc/distutils/uploading.rst8
-rw-r--r--Doc/glossary.rst2
-rw-r--r--Doc/library/http.client.rst2
-rw-r--r--Doc/library/inspect.rst6
-rw-r--r--Doc/library/site.rst4
-rw-r--r--Doc/library/ssl.rst8
-rw-r--r--Doc/library/sys.rst2
-rw-r--r--Doc/library/xmlrpc.server.rst9
-rwxr-xr-xDoc/tools/rstlint.py4
-rw-r--r--Doc/whatsnew/2.2.rst2
-rw-r--r--Doc/whatsnew/2.6.rst14
-rw-r--r--Lib/test/test_fnmatch.py11
-rwxr-xr-xLib/test/test_strftime.py11
15 files changed, 48 insertions, 51 deletions
diff --git a/Doc/bugs.rst b/Doc/bugs.rst
index 55b3107..a9a48c7 100644
--- a/Doc/bugs.rst
+++ b/Doc/bugs.rst
@@ -38,10 +38,9 @@ information is needed (in which case you are welcome to provide it if you can!).
To do this, search the bug database using the search box on the top of the page.
If the problem you're reporting is not already in the bug tracker, go back to
-the Python Bug Tracker. If you don't already have a tracker account, select the
-"Register" link in the sidebar and undergo the registration procedure.
-Otherwise, if you're not logged in, enter your credentials and select "Login".
-It is not possible to submit a bug report anonymously.
+the Python Bug Tracker and log in. If you don't already have a tracker account,
+select the "Register" link or, if you use OpenID, one of the OpenID provider
+logos in the sidebar. It is not possible to submit a bug report anonymously.
Being now logged in, you can submit a bug. Select the "Create New" link in the
sidebar to open the bug reporting form.
@@ -58,7 +57,8 @@ were using (including version information as appropriate).
Each bug report will be assigned to a developer who will determine what needs to
be done to correct the problem. You will receive an update each time action is
-taken on the bug.
+taken on the bug. See http://www.python.org/dev/workflow/ for a detailed
+description of the issue workflow.
.. seealso::
diff --git a/Doc/distutils/examples.rst b/Doc/distutils/examples.rst
index 648063b..6c27738 100644
--- a/Doc/distutils/examples.rst
+++ b/Doc/distutils/examples.rst
@@ -257,9 +257,9 @@ Running the ``check`` command will display some warnings::
(maintainer and maintainer_email) must be supplied
-If you use the reStructuredText syntax in the `long_description` field and
+If you use the reStructuredText syntax in the ``long_description`` field and
`docutils <http://docutils.sourceforge.net/>`_ is installed you can check if
-the syntax is fine with the ``check`` command, using the `restructuredtext`
+the syntax is fine with the ``check`` command, using the ``restructuredtext``
option.
For example, if the :file:`setup.py` script is changed like this::
@@ -278,7 +278,7 @@ For example, if the :file:`setup.py` script is changed like this::
url='http://example.com', long_description=desc)
Where the long description is broken, ``check`` will be able to detect it
-by using the `docutils` parser::
+by using the :mod:`docutils` parser::
$ pythontrunk setup.py check --restructuredtext
running check
diff --git a/Doc/distutils/uploading.rst b/Doc/distutils/uploading.rst
index e947245..7b790b1 100644
--- a/Doc/distutils/uploading.rst
+++ b/Doc/distutils/uploading.rst
@@ -60,13 +60,13 @@ in the package::
setup(name='Distutils',
long_description=open('README.txt'))
-In that case, `README.txt` is a regular reStructuredText text file located
-in the root of the package besides `setup.py`.
+In that case, :file:`README.txt` is a regular reStructuredText text file located
+in the root of the package besides :file:`setup.py`.
To prevent registering broken reStructuredText content, you can use the
-:program:`rst2html` program that is provided by the `docutils` package
+:program:`rst2html` program that is provided by the :mod:`docutils` package
and check the ``long_description`` from the command line::
$ python setup.py --long-description | rst2html.py > output.html
-`docutils` will display a warning if there's something wrong with your syntax.
+:mod:`docutils` will display a warning if there's something wrong with your syntax.
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index 5ecf848..f1474cf 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -331,7 +331,7 @@ Glossary
iterator
An object representing a stream of data. Repeated calls to the iterator's
- :meth:`__next__` (or passing it to the builtin function) :func:`next`
+ :meth:`__next__` (or passing it to the built-in function :func:`next`)
method return successive items in the stream. When no more data are
available a :exc:`StopIteration` exception is raised instead. At this
point, the iterator object is exhausted and any further calls to its
diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst
index 0f59b9a..f8aedcc 100644
--- a/Doc/library/http.client.rst
+++ b/Doc/library/http.client.rst
@@ -486,7 +486,7 @@ statement.
.. attribute:: HTTPResponse.debuglevel
- A debugging hook. If `debuglevel` is greater than zero, messages
+ A debugging hook. If :attr:`debuglevel` is greater than zero, messages
will be printed to stdout as the response is read and parsed.
diff --git a/Doc/library/inspect.rst b/Doc/library/inspect.rst
index 37a4f1a..cc88acf 100644
--- a/Doc/library/inspect.rst
+++ b/Doc/library/inspect.rst
@@ -387,7 +387,7 @@ Classes and functions
.. function:: getargspec(func)
- Get the names and default values of a function's arguments. A
+ Get the names and default values of a Python function's arguments. A
:term:`named tuple` ``ArgSpec(args, varargs, keywords,
defaults)`` is returned. *args* is a list of
the argument names. *varargs* and *varkw* are the names of the ``*`` and
@@ -402,8 +402,8 @@ Classes and functions
.. function:: getfullargspec(func)
- Get the names and default values of a function's arguments. A :term:`named
- tuple` is returned:
+ Get the names and default values of a Python function's arguments. A
+ :term:`named tuple` is returned:
``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults,
annotations)``
diff --git a/Doc/library/site.rst b/Doc/library/site.rst
index 0fe63a3..bf65d17 100644
--- a/Doc/library/site.rst
+++ b/Doc/library/site.rst
@@ -117,5 +117,5 @@ empty, and the path manipulations are skipped; however the import of
Adds a directory to sys.path and processes its pth files.
-XXX Update documentation
-XXX document python -m site --user-base --user-site
+.. XXX Update documentation
+.. XXX document python -m site --user-base --user-site
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 5c78345..d377072 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -278,14 +278,6 @@ SSLSocket Objects
else:
raise
-.. method:: SSLSocket.unwrap()
-
- Performs the SSL shutdown handshake, which removes the TLS layer from the
- underlying socket, and returns the underlying socket object. This can be
- used to go from encrypted operation over a connection to unencrypted. The
- returned socket should always be used for further communication with the
- other side of the connection, rather than the original socket
-
.. method:: SSLSocket.getpeercert(binary_form=False)
If there is no certificate for the peer on the other end of the connection,
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 619d4fb..f0e551e 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -359,7 +359,7 @@ always available.
specific.
If given, *default* will be returned if the object does not provide means to
- retrieve the size. Otherwise a `TypeError` will be raised.
+ retrieve the size. Otherwise a :exc:`TypeError` will be raised.
:func:`getsizeof` calls the object's ``__sizeof__`` method and adds an
additional garbage collector overhead if the object is managed by the garbage
diff --git a/Doc/library/xmlrpc.server.rst b/Doc/library/xmlrpc.server.rst
index 4a391b7..3cb2c3a 100644
--- a/Doc/library/xmlrpc.server.rst
+++ b/Doc/library/xmlrpc.server.rst
@@ -136,10 +136,10 @@ Server code::
server.register_function(adder_function, 'add')
# Register an instance; all the methods of the instance are
- # published as XML-RPC methods (in this case, just 'div').
+ # published as XML-RPC methods (in this case, just 'mul').
class MyFuncs:
- def div(self, x, y):
- return x // y
+ def mul(self, x, y):
+ return x * y
server.register_instance(MyFuncs())
@@ -209,7 +209,8 @@ requests sent to Python CGI scripts.
Example::
class MyFuncs:
- def div(self, x, y) : return x // y
+ def mul(self, x, y):
+ return x * y
handler = CGIXMLRPCRequestHandler()
diff --git a/Doc/tools/rstlint.py b/Doc/tools/rstlint.py
index eaaf257..e977f21 100755
--- a/Doc/tools/rstlint.py
+++ b/Doc/tools/rstlint.py
@@ -169,7 +169,6 @@ Options: -v verbose (print all checked file names)
return 2
count = defaultdict(int)
- out = sys.stdout
for root, dirs, files in os.walk(path):
# ignore subdirs controlled by svn
@@ -212,8 +211,7 @@ Options: -v verbose (print all checked file names)
csev = checker.severity
if csev >= severity:
for lno, msg in checker(fn, lines):
- print('[%d] %s:%d: %s' % (csev, fn, lno, msg),
- file=out)
+ print('[%d] %s:%d: %s' % (csev, fn, lno, msg))
count[csev] += 1
if verbose:
print()
diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst
index 31e8dd0..89e4d76 100644
--- a/Doc/whatsnew/2.2.rst
+++ b/Doc/whatsnew/2.2.rst
@@ -30,7 +30,7 @@ understand the complete implementation and design rationale for a change, refer
to the PEP for a particular new feature.
-.. seealso (now defunct)
+.. see also, now defunct
http://www.unixreview.com/documents/s=1356/urm0109h/0109h.htm
"What's So Special About Python 2.2?" is also about the new 2.2 features, and
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index c9fb5c8..00398fc 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -350,9 +350,10 @@ A high-level explanation of the context management protocol is:
* The code in *BLOCK* is executed.
-* If *BLOCK* raises an exception, the :meth:`__exit__(type, value, traceback)`
- is called with the exception details, the same values returned by
- :func:`sys.exc_info`. The method's return value controls whether the exception
+* If *BLOCK* raises an exception, the context manager's :meth:`__exit__` method
+ is called with three arguments, the exception details (``type, value, traceback``,
+ the same values returned by :func:`sys.exc_info`, which can also be ``None``
+ if no exception occurred). The method's return value controls whether an exception
is re-raised: any false value re-raises the exception, and ``True`` will result
in suppressing it. You'll only rarely want to suppress the exception, because
if you do the author of the code containing the ':keyword:`with`' statement will
@@ -463,7 +464,7 @@ could be written as::
with db_transaction(db) as cursor:
...
-The :mod:`contextlib` module also has a :func:`nested(mgr1, mgr2, ...)` function
+The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function
that combines a number of context managers so you don't need to write nested
':keyword:`with`' statements. In this example, the single ':keyword:`with`'
statement both starts a database transaction and acquires a thread lock::
@@ -472,8 +473,9 @@ statement both starts a database transaction and acquires a thread lock::
with nested (db_transaction(db), lock) as (cursor, locked):
...
-Finally, the :func:`closing(object)` function returns *object* so that it can be
-bound to a variable, and calls ``object.close`` at the end of the block. ::
+Finally, the :func:`closing` function returns its argument so that it can be
+bound to a variable, and calls the argument's ``.close()`` method at the end
+of the block. ::
import urllib, sys
from contextlib import closing
diff --git a/Lib/test/test_fnmatch.py b/Lib/test/test_fnmatch.py
index abf8811..bde4ee8 100644
--- a/Lib/test/test_fnmatch.py
+++ b/Lib/test/test_fnmatch.py
@@ -11,13 +11,13 @@ class FnmatchTestCase(unittest.TestCase):
def tearDown(self):
_purge()
- def check_match(self, filename, pattern, should_match=1):
+ def check_match(self, filename, pattern, should_match=1, fn=fnmatch):
if should_match:
- self.assertTrue(fnmatch(filename, pattern),
+ self.assertTrue(fn(filename, pattern),
"expected %r to match pattern %r"
% (filename, pattern))
else:
- self.assertTrue(not fnmatch(filename, pattern),
+ self.assertTrue(not fn(filename, pattern),
"expected %r not to match pattern %r"
% (filename, pattern))
@@ -54,6 +54,11 @@ class FnmatchTestCase(unittest.TestCase):
self.assertRaises(TypeError, fnmatchcase, 'test', b'*')
self.assertRaises(TypeError, fnmatchcase, b'test', '*')
+ def test_fnmatchcase(self):
+ check = self.check_match
+ check('AbC', 'abc', 0, fnmatchcase)
+ check('abc', 'AbC', 0, fnmatchcase)
+
def test_bytes(self):
self.check_match(b'test', b'te*')
self.check_match(b'test\xff', b'te*\xff')
diff --git a/Lib/test/test_strftime.py b/Lib/test/test_strftime.py
index 7128fd7..5b94bbe 100755
--- a/Lib/test/test_strftime.py
+++ b/Lib/test/test_strftime.py
@@ -117,16 +117,15 @@ class StrftimeTest(unittest.TestCase):
try:
result = time.strftime(e[0], now)
except ValueError as error:
- print("Standard '%s' format gaver error:" % (e[0], error))
- continue
+ self.fail("strftime '%s' format gave error: %s" % (e[0], error))
if re.match(escapestr(e[1], self.ampm), result):
continue
if not result or result[0] == '%':
- print("Does not support standard '%s' format (%s)" % \
- (e[0], e[2]))
+ self.fail("strftime does not support standard '%s' format (%s)"
+ % (e[0], e[2]))
else:
- print("Conflict for %s (%s):" % (e[0], e[2]))
- print(" Expected %s, but got %s" % (e[1], result))
+ self.fail("Conflict for %s (%s): expected %s, but got %s"
+ % (e[0], e[2], e[1], result))
def strftest2(self, now):
nowsecs = str(int(now))[:-1]