]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 77236,77383,77399,77857,78238,78861-78862,78958 via svnmerge from
authorGeorg Brandl <georg@python.org>
Wed, 6 Oct 2010 07:55:35 +0000 (07:55 +0000)
committerGeorg Brandl <georg@python.org>
Wed, 6 Oct 2010 07:55:35 +0000 (07:55 +0000)
svn+ssh://svn.python.org/python/branches/py3k

................
  r77236 | georg.brandl | 2010-01-02 15:51:12 +0100 (Sa, 02 Jan 2010) | 1 line

  #7592: remove duplicate description.
................
  r77383 | georg.brandl | 2010-01-09 10:48:46 +0100 (Sa, 09 Jan 2010) | 9 lines

  Merged revisions 77382 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r77382 | georg.brandl | 2010-01-09 10:47:11 +0100 (Sa, 09 Jan 2010) | 1 line

    #7422: make it clear that getargspec() only works on Python functions.
  ........
................
  r77399 | georg.brandl | 2010-01-09 23:39:42 +0100 (Sa, 09 Jan 2010) | 1 line

  Remove redundant brackets in signatures.
................
  r77857 | georg.brandl | 2010-01-30 18:54:04 +0100 (Sa, 30 Jan 2010) | 1 line

  #7814: fix wrong example function usage.
................
  r78238 | georg.brandl | 2010-02-19 10:10:15 +0100 (Fr, 19 Feb 2010) | 1 line

  #5341: fix parenthesis placement.
................
  r78861 | georg.brandl | 2010-03-12 11:04:37 +0100 (Fr, 12 Mär 2010) | 1 line

  Make tool compatible with 2.x and 3.x.
................
  r78862 | georg.brandl | 2010-03-12 11:06:40 +0100 (Fr, 12 Mär 2010) | 13 lines

  Merged revisions 78859-78860 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78859 | georg.brandl | 2010-03-12 10:57:43 +0100 (Fr, 12 Mär 2010) | 1 line

    Get rid of backticks.
  ........
    r78860 | georg.brandl | 2010-03-12 11:02:03 +0100 (Fr, 12 Mär 2010) | 1 line

    Fix warnings from "make check".
  ........
................
  r78958 | georg.brandl | 2010-03-14 11:51:01 +0100 (So, 14 Mär 2010) | 37 lines

  Merged revisions 78101,78115,78117,78182,78188,78245,78386,78496 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78101 | georg.brandl | 2010-02-08 01:04:54 +0100 (Mo, 08 Feb 2010) | 1 line

    Fix test_fnmatch.
  ........
    r78115 | georg.brandl | 2010-02-08 23:40:51 +0100 (Mo, 08 Feb 2010) | 1 line

    Fix missing string formatting placeholder.
  ........
    r78117 | georg.brandl | 2010-02-08 23:48:37 +0100 (Mo, 08 Feb 2010) | 1 line

    Convert test failure from output-producing to self.fail().
  ........
    r78182 | georg.brandl | 2010-02-14 09:18:23 +0100 (So, 14 Feb 2010) | 1 line

    #7926: fix stray parens.
  ........
    r78188 | georg.brandl | 2010-02-14 14:38:12 +0100 (So, 14 Feb 2010) | 1 line

    #7926: fix-up wording.
  ........
    r78245 | georg.brandl | 2010-02-19 20:36:08 +0100 (Fr, 19 Feb 2010) | 1 line

    #7967: PyXML is no more.
  ........
    r78386 | georg.brandl | 2010-02-23 22:48:57 +0100 (Di, 23 Feb 2010) | 1 line

    #6544: fix refleak in kqueue, occurring in certain error conditions.
  ........
    r78496 | georg.brandl | 2010-02-27 15:58:08 +0100 (Sa, 27 Feb 2010) | 1 line

    Link to http://www.python.org/dev/workflow/ from bugs page.
  ........
................

15 files changed:
Doc/bugs.rst
Doc/distutils/examples.rst
Doc/distutils/uploading.rst
Doc/glossary.rst
Doc/library/http.client.rst
Doc/library/inspect.rst
Doc/library/site.rst
Doc/library/ssl.rst
Doc/library/sys.rst
Doc/library/xmlrpc.server.rst
Doc/tools/rstlint.py
Doc/whatsnew/2.2.rst
Doc/whatsnew/2.6.rst
Lib/test/test_fnmatch.py
Lib/test/test_strftime.py

index 55b310735ca70864f3d8a5a4305d7624e7c8ec28..a9a48c7858f69b3c7ae904d9327ed9defffabbf9 100644 (file)
@@ -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::
index 648063b2176726e94eabf887dc5ffac4c934903e..6c2773874cd21a7906a62266f23cff667aa1fca3 100644 (file)
@@ -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
index e9472453d3039a17e752bc468ed3508f865177a2..7b790b1e026b24818a4acbcc534169db0cf7d533 100644 (file)
@@ -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.
index 5ecf848b5fc37586a94e423ea759931d6fb8e073..f1474cf36ce100e4e647f1391a19319a42b373ac 100644 (file)
@@ -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
index 0f59b9a4df871578347430680c28c9e6e2fe6cb4..f8aedcc93b1df9ca1dd5f3bb2b2436823e5b5114 100644 (file)
@@ -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.
 
 
index 37a4f1ae683cc08635222bc48a514a06a4280da8..cc88acfa2151fab2e671f21aac426efefe7e70cd 100644 (file)
@@ -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)``
index 0fe63a3a4d066b93d6c5b463af5d38f266d286d5..bf65d177ed571693cfcf99ed73395afd63fba185 100644 (file)
@@ -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
index 5c783453d3bd29e9d95c908944ad388e92b5d458..d3770722d666233815caa74b0739de727f4f9966 100644 (file)
@@ -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,
index 619d4fbf2b3e161a86c81e53a45e45f65a96d8a5..f0e551ea155a6f6ab1077ee6d1fc992ed9e9c574 100644 (file)
@@ -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
index 4a391b765cf5d854cd8672182f936d7ff28768d3..3cb2c3aaa15f91d827a3dcd751a51f987c12fb18 100644 (file)
@@ -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()
index eaaf257e850d46d561b877b7edd1b4e13de8773f..e977f217afb1e393b7148620da12a49e028e158b 100755 (executable)
@@ -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()
index 31e8dd0940491dcfa4e0b2a2aa0b51634d5670b8..89e4d76befac64e1e88cc574d2d362fd8c848cb9 100644 (file)
@@ -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
index c9fb5c89bca72251fad4333b3f66017588e702e1..00398fc42879036f5f228eb0b3460996f8b7c255 100644 (file)
@@ -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
index abf881146199b134c2d1c0985efc408bcd94aebd..bde4ee809795a575526b44b8cc59a00afaf4b2c9 100644 (file)
@@ -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')
index 7128fd740832545b1d41b2643a4c1d1a6237df9a..5b94bbe210b6e1f0f704789409a0e92b7fc59ea5 100755 (executable)
@@ -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]