[Python-checkins] r72937 - in python/branches/release26-maint: Doc/about.rst Doc/bugs.rst Doc/howto/doanddont.rst Doc/howto/urllib2.rst Doc/includes/sqlite3/text_factory.py Doc/library/anydbm.rst Doc/library/ctypes.rst Doc/library/email-examples.rst Doc/library/functions.rst Doc/library/optparse.rst Doc/library/os.rst Doc/library/shelve.rst Doc/library/smtplib.rst Doc/library/sqlite3.rst Doc/library/stdtypes.rst Doc/library/webbrowser.rst Doc/library/xml.dom.minidom.rst Doc/reference/datamodel.rst Doc/reference/simple_stmts.rst Doc/tutorial/errors.rst Doc/tutorial/introduction.rst Lib/linecache.py Lib/test/test_linecache.py Misc/NEWS

georg.brandl python-checkins at python.org
Tue May 26 11:04:24 CEST 2009


Author: georg.brandl
Date: Tue May 26 11:04:23 2009
New Revision: 72937

Log:
Merged revisions 72319-72320,72467,72661,72675-72679,72703,72708,72710,72712,72801-72802,72820,72822,72824,72826-72828,72830 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72319 | georg.brandl | 2009-05-05 10:28:49 +0200 (Di, 05 Mai 2009) | 1 line
  
  #1309567: fix linecache behavior of stripping subdirectories from paths when looking for relative filename matches. Also add a linecache test suite.
........
  r72320 | georg.brandl | 2009-05-05 10:30:28 +0200 (Di, 05 Mai 2009) | 1 line
  
  Add a news entry for r72319.
........
  r72467 | georg.brandl | 2009-05-08 14:17:34 +0200 (Fr, 08 Mai 2009) | 1 line
  
  Fix name.
........
  r72661 | georg.brandl | 2009-05-15 10:03:03 +0200 (Fr, 15 Mai 2009) | 1 line
  
  Fix example output for doctest-like demos.
........
  r72675 | georg.brandl | 2009-05-16 13:13:21 +0200 (Sa, 16 Mai 2009) | 1 line
  
  #6034: clarify __reversed__ doc.
........
  r72676 | georg.brandl | 2009-05-16 13:14:46 +0200 (Sa, 16 Mai 2009) | 1 line
  
  #6025: fix signature of parse().
........
  r72677 | georg.brandl | 2009-05-16 13:18:55 +0200 (Sa, 16 Mai 2009) | 1 line
  
  #6009: undocument default argument of Option as deprecated. 
........
  r72678 | georg.brandl | 2009-05-16 13:21:29 +0200 (Sa, 16 Mai 2009) | 1 line
  
  #2856: document 2.x os.listdir() behavior for undecodable filenames.
........
  r72679 | georg.brandl | 2009-05-16 13:24:41 +0200 (Sa, 16 Mai 2009) | 1 line
  
  Fix about and bugs pages to match real workflow.
........
  r72703 | georg.brandl | 2009-05-17 10:10:27 +0200 (So, 17 Mai 2009) | 1 line
  
  part of #4144: fix exception message in console session.
........
  r72708 | georg.brandl | 2009-05-17 10:24:29 +0200 (So, 17 Mai 2009) | 1 line
  
  #6017: better document behavior of dictiterators when the dict is changed.
........
  r72710 | georg.brandl | 2009-05-17 10:36:04 +0200 (So, 17 Mai 2009) | 1 line
  
  #5942: Copy over flag table from dbm.rst which is clearer.
........
  r72712 | georg.brandl | 2009-05-17 10:55:00 +0200 (So, 17 Mai 2009) | 1 line
  
  #5935: mention that BROWSER is looked for in PATH.
........
  r72801 | georg.brandl | 2009-05-20 20:31:14 +0200 (Mi, 20 Mai 2009) | 1 line
  
  #6055: refer to "sqlite3" consistently.
........
  r72802 | georg.brandl | 2009-05-20 20:35:27 +0200 (Mi, 20 Mai 2009) | 1 line
  
  #6051: refer to email examples for better way to construct email messages.
........
  r72820 | georg.brandl | 2009-05-22 09:23:32 +0200 (Fr, 22 Mai 2009) | 1 line
  
  Use raise X(y).
........
  r72822 | georg.brandl | 2009-05-22 11:33:25 +0200 (Fr, 22 Mai 2009) | 1 line
  
  #6084: fix example.
........
  r72824 | georg.brandl | 2009-05-22 11:43:17 +0200 (Fr, 22 Mai 2009) | 1 line
  
  Fix references to file-related functions and methods (os.* vs file.*).
........
  r72826 | georg.brandl | 2009-05-22 11:49:42 +0200 (Fr, 22 Mai 2009) | 1 line
  
  Fix confusing wording.
........
  r72827 | georg.brandl | 2009-05-22 11:50:30 +0200 (Fr, 22 Mai 2009) | 1 line
  
  s/use/call/
........
  r72828 | georg.brandl | 2009-05-22 11:58:48 +0200 (Fr, 22 Mai 2009) | 1 line
  
  Correction in softspace behavior description.
........
  r72830 | georg.brandl | 2009-05-22 12:40:00 +0200 (Fr, 22 Mai 2009) | 1 line
  
  #6086: fix spelling and use a better exception to catch.
........


Added:
   python/branches/release26-maint/Lib/test/test_linecache.py
      - copied unchanged from r72320, /python/trunk/Lib/test/test_linecache.py
Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Doc/about.rst
   python/branches/release26-maint/Doc/bugs.rst
   python/branches/release26-maint/Doc/howto/doanddont.rst
   python/branches/release26-maint/Doc/howto/urllib2.rst
   python/branches/release26-maint/Doc/includes/sqlite3/text_factory.py
   python/branches/release26-maint/Doc/library/anydbm.rst
   python/branches/release26-maint/Doc/library/ctypes.rst
   python/branches/release26-maint/Doc/library/email-examples.rst
   python/branches/release26-maint/Doc/library/functions.rst
   python/branches/release26-maint/Doc/library/optparse.rst
   python/branches/release26-maint/Doc/library/os.rst
   python/branches/release26-maint/Doc/library/shelve.rst
   python/branches/release26-maint/Doc/library/smtplib.rst
   python/branches/release26-maint/Doc/library/sqlite3.rst
   python/branches/release26-maint/Doc/library/stdtypes.rst
   python/branches/release26-maint/Doc/library/webbrowser.rst
   python/branches/release26-maint/Doc/library/xml.dom.minidom.rst
   python/branches/release26-maint/Doc/reference/datamodel.rst
   python/branches/release26-maint/Doc/reference/simple_stmts.rst
   python/branches/release26-maint/Doc/tutorial/errors.rst
   python/branches/release26-maint/Doc/tutorial/introduction.rst
   python/branches/release26-maint/Lib/linecache.py
   python/branches/release26-maint/Misc/NEWS

Modified: python/branches/release26-maint/Doc/about.rst
==============================================================================
--- python/branches/release26-maint/Doc/about.rst	(original)
+++ python/branches/release26-maint/Doc/about.rst	Tue May 26 11:04:23 2009
@@ -7,8 +7,8 @@
 <http://docutils.sf.net/rst.html>`_ sources by *Sphinx*, a document processor
 specifically written for the Python documentation.
 
-In the online version of these documents, you can submit comments and suggest
-changes directly on the documentation pages.
+.. In the online version of these documents, you can submit comments and suggest
+   changes directly on the documentation pages.
 
 Development of the documentation and its toolchain takes place on the
 docs at python.org mailing list.  We're always looking for volunteers wanting
@@ -24,7 +24,8 @@
   <http://effbot.org/zone/pyref.htm>`_ project from which Sphinx got many good
   ideas.
 
-See :ref:`reporting-bugs` for information how to report bugs in Python itself.
+See :ref:`reporting-bugs` for information how to report bugs in this
+documentation, or Python itself.
 
 .. including the ACKS file here so that it can be maintained separately
 .. include:: ACKS.txt

Modified: python/branches/release26-maint/Doc/bugs.rst
==============================================================================
--- python/branches/release26-maint/Doc/bugs.rst	(original)
+++ python/branches/release26-maint/Doc/bugs.rst	Tue May 26 11:04:23 2009
@@ -19,6 +19,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.
 
+In the case of documentation bugs, look at the most recent development docs at
+http://docs.python.org/dev to see if the bug has been fixed.
+
 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.

Modified: python/branches/release26-maint/Doc/howto/doanddont.rst
==============================================================================
--- python/branches/release26-maint/Doc/howto/doanddont.rst	(original)
+++ python/branches/release26-maint/Doc/howto/doanddont.rst	Tue May 26 11:04:23 2009
@@ -30,7 +30,7 @@
 
 ``from module import *`` is *invalid* inside function definitions. While many
 versions of Python do not check for the invalidity, it does not make it more
-valid, no more then having a smart lawyer makes a man innocent. Do not use it
+valid, no more than having a smart lawyer makes a man innocent. Do not use it
 like that ever. Even in versions where it was accepted, it made the function
 execution slower, because the compiler could not be certain which names are
 local and which are global. In Python 2.1 this construct causes warnings, and
@@ -111,7 +111,7 @@
 from module import name1, name2
 -------------------------------
 
-This is a "don't" which is much weaker then the previous "don't"s but is still
+This is a "don't" which is much weaker than the previous "don't"s but is still
 something you should not do if you don't have good reasons to do that. The
 reason it is usually bad idea is because you suddenly have an object which lives
 in two separate namespaces. When the binding in one namespace changes, the
@@ -245,11 +245,11 @@
 Every so often, people seem to be writing stuff in the Python library again,
 usually poorly. While the occasional module has a poor interface, it is usually
 much better to use the rich standard library and data types that come with
-Python then inventing your own.
+Python than inventing your own.
 
 A useful module very few people know about is :mod:`os.path`. It  always has the
 correct path arithmetic for your operating system, and will usually be much
-better then whatever you come up with yourself.
+better than whatever you come up with yourself.
 
 Compare::
 
@@ -284,7 +284,7 @@
 ======================================
 
 Since Python treats a newline as a statement terminator, and since statements
-are often more then is comfortable to put in one line, many people do::
+are often more than is comfortable to put in one line, many people do::
 
    if foo.bar()['first'][0] == baz.quux(1, 2)[5:9] and \
       calculate_number(10, 20) != forbulate(500, 360):

Modified: python/branches/release26-maint/Doc/howto/urllib2.rst
==============================================================================
--- python/branches/release26-maint/Doc/howto/urllib2.rst	(original)
+++ python/branches/release26-maint/Doc/howto/urllib2.rst	Tue May 26 11:04:23 2009
@@ -311,7 +311,7 @@
     >>> req = urllib2.Request('http://www.python.org/fish.html')
     >>> try:
     >>>     urllib2.urlopen(req)
-    >>> except URLError, e:
+    >>> except HTTPError, e:
     >>>     print e.code
     >>>     print e.read()
     >>>

Modified: python/branches/release26-maint/Doc/includes/sqlite3/text_factory.py
==============================================================================
--- python/branches/release26-maint/Doc/includes/sqlite3/text_factory.py	(original)
+++ python/branches/release26-maint/Doc/includes/sqlite3/text_factory.py	Tue May 26 11:04:23 2009
@@ -13,7 +13,7 @@
 row = cur.fetchone()
 assert row[0] == AUSTRIA
 
-# but we can make pysqlite always return bytestrings ...
+# but we can make sqlite3 always return bytestrings ...
 con.text_factory = str
 cur.execute("select ?", (AUSTRIA,))
 row = cur.fetchone()
@@ -26,11 +26,12 @@
 # here we implement one that will ignore Unicode characters that cannot be
 # decoded from UTF-8
 con.text_factory = lambda x: unicode(x, "utf-8", "ignore")
-cur.execute("select ?", ("this is latin1 and would normally create errors" + u"\xe4\xf6\xfc".encode("latin1"),))
+cur.execute("select ?", ("this is latin1 and would normally create errors" +
+                         u"\xe4\xf6\xfc".encode("latin1"),))
 row = cur.fetchone()
 assert type(row[0]) == unicode
 
-# pysqlite offers a builtin optimized text_factory that will return bytestring
+# sqlite3 offers a builtin optimized text_factory that will return bytestring
 # objects, if the data is in ASCII only, and otherwise return unicode objects
 con.text_factory = sqlite3.OptimizedUnicode
 cur.execute("select ?", (AUSTRIA,))

Modified: python/branches/release26-maint/Doc/library/anydbm.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/anydbm.rst	(original)
+++ python/branches/release26-maint/Doc/library/anydbm.rst	Tue May 26 11:04:23 2009
@@ -27,19 +27,33 @@
 
    Open the database file *filename* and return a corresponding object.
 
-   If the database file already exists, the :mod:`whichdb` module is  used to
-   determine its type and the appropriate module is used; if it does not exist, the
-   first module listed above that can be imported is used.
-
-   The optional *flag* argument can be ``'r'`` to open an existing database for
-   reading only, ``'w'`` to open an existing database for reading and writing,
-   ``'c'`` to create the database if it doesn't exist, or ``'n'``, which will
-   always create a new empty database.  If not specified, the default value is
-   ``'r'``.
+   If the database file already exists, the :mod:`whichdb` module is used to
+   determine its type and the appropriate module is used; if it does not exist,
+   the first module listed above that can be imported is used.
+
+   The optional *flag* argument must be one of these values:
+
+   +---------+-------------------------------------------+
+   | Value   | Meaning                                   |
+   +=========+===========================================+
+   | ``'r'`` | Open existing database for reading only   |
+   |         | (default)                                 |
+   +---------+-------------------------------------------+
+   | ``'w'`` | Open existing database for reading and    |
+   |         | writing                                   |
+   +---------+-------------------------------------------+
+   | ``'c'`` | Open database for reading and writing,    |
+   |         | creating it if it doesn't exist           |
+   +---------+-------------------------------------------+
+   | ``'n'`` | Always create a new, empty database, open |
+   |         | for reading and writing                   |
+   +---------+-------------------------------------------+
+
+   If not specified, the default value is ``'r'``.
 
    The optional *mode* argument is the Unix mode of the file, used only when the
-   database has to be created.  It defaults to octal ``0666`` (and will be modified
-   by the prevailing umask).
+   database has to be created.  It defaults to octal ``0666`` (and will be
+   modified by the prevailing umask).
 
 
 .. exception:: error

Modified: python/branches/release26-maint/Doc/library/ctypes.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/ctypes.rst	(original)
+++ python/branches/release26-maint/Doc/library/ctypes.rst	Tue May 26 11:04:23 2009
@@ -341,9 +341,9 @@
    >>> printf("Hello, %s\n", "World!")
    Hello, World!
    14
-   >>> printf("Hello, %S", u"World!")
+   >>> printf("Hello, %S\n", u"World!")
    Hello, World!
-   13
+   14
    >>> printf("%d bottles of beer\n", 42)
    42 bottles of beer
    19
@@ -358,7 +358,7 @@
 that they can be converted to the required C data type::
 
    >>> printf("An int %d, a double %f\n", 1234, c_double(3.14))
-   Integer 1234, double 3.1400001049
+   An int 1234, a double 3.140000
    31
    >>>
 
@@ -414,9 +414,9 @@
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    ArgumentError: argument 2: exceptions.TypeError: wrong type
-   >>> printf("%s %d %f", "X", 2, 3)
-   X 2 3.00000012
-   12
+   >>> printf("%s %d %f\n", "X", 2, 3)
+   X 2 3.000000
+   13
    >>>
 
 If you have defined your own classes which you pass to function calls, you have

Modified: python/branches/release26-maint/Doc/library/email-examples.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/email-examples.rst	(original)
+++ python/branches/release26-maint/Doc/library/email-examples.rst	Tue May 26 11:04:23 2009
@@ -1,3 +1,5 @@
+.. _email-examples:
+
 :mod:`email`: Examples
 ----------------------
 

Modified: python/branches/release26-maint/Doc/library/functions.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/functions.rst	(original)
+++ python/branches/release26-maint/Doc/library/functions.rst	Tue May 26 11:04:23 2009
@@ -1398,7 +1398,7 @@
       >>> zipped
       [(1, 4), (2, 5), (3, 6)]
       >>> x2, y2 = zip(*zipped)
-      >>> x == x2, y == y2
+      >>> x == list(x2) and y == list(y2)
       True
 
    .. versionadded:: 2.0
@@ -1468,7 +1468,7 @@
    names.
 
    If you simply want to import a module (potentially within a package) by name,
-   you can get it from :data:`sys.modules`::
+   you can call :func:`__import__` and then look it up in :data:`sys.modules`::
 
       >>> import sys
       >>> name = 'foo.bar.baz'

Modified: python/branches/release26-maint/Doc/library/optparse.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/optparse.rst	(original)
+++ python/branches/release26-maint/Doc/library/optparse.rst	Tue May 26 11:04:23 2009
@@ -1077,10 +1077,10 @@
   tells :mod:`optparse` where to write it: :attr:`dest` names an attribute of the
   ``options`` object that :mod:`optparse` builds as it parses the command line.
 
-* ``default`` (deprecated)
+* ``default``
 
   The value to use for this option's destination if the option is not seen on the
-  command line.  Deprecated; use ``parser.set_defaults()`` instead.
+  command line.  See also ``parser.set_defaults()``.
 
 * ``nargs`` (default: 1)
 

Modified: python/branches/release26-maint/Doc/library/os.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/os.rst	(original)
+++ python/branches/release26-maint/Doc/library/os.rst	Tue May 26 11:04:23 2009
@@ -354,7 +354,7 @@
    is ``'r'`` (default) or ``'w'``. The *bufsize* argument has the same meaning as
    the corresponding argument to the built-in :func:`open` function.  The exit
    status of the command (encoded in the format specified for :func:`wait`) is
-   available as the return value of the :meth:`close` method of the file object,
+   available as the return value of the :meth:`~file.close` method of the file object,
    except that when the exit status is zero (termination without errors), ``None``
    is returned. Availability: Unix, Windows.
 
@@ -475,9 +475,9 @@
    .. note::
 
       This function is intended for low-level I/O and must be applied to a file
-      descriptor as returned by :func:`open` or :func:`pipe`.  To close a "file
+      descriptor as returned by :func:`os.open` or :func:`pipe`.  To close a "file
       object" returned by the built-in function :func:`open` or by :func:`popen` or
-      :func:`fdopen`, use its :meth:`close` method.
+      :func:`fdopen`, use its :meth:`~file.close` method.
 
 
 .. function:: closerange(fd_low, fd_high)
@@ -604,8 +604,8 @@
    .. note::
 
       This function is intended for low-level I/O.  For normal usage, use the built-in
-      function :func:`open`, which returns a "file object" with :meth:`read` and
-      :meth:`write` methods (and many more).  To wrap a file descriptor in a "file
+      function :func:`open`, which returns a "file object" with :meth:`~file.read` and
+      :meth:`~file.write` methods (and many more).  To wrap a file descriptor in a "file
       object", use :func:`fdopen`.
 
 
@@ -634,22 +634,22 @@
    .. note::
 
       This function is intended for low-level I/O and must be applied to a file
-      descriptor as returned by :func:`open` or :func:`pipe`.  To read a "file object"
+      descriptor as returned by :func:`os.open` or :func:`pipe`.  To read a "file object"
       returned by the built-in function :func:`open` or by :func:`popen` or
-      :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`read` or :meth:`readline`
-      methods.
+      :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~file.read` or
+      :meth:`~file.readline` methods.
 
 
 .. function:: tcgetpgrp(fd)
 
    Return the process group associated with the terminal given by *fd* (an open
-   file descriptor as returned by :func:`open`). Availability: Unix.
+   file descriptor as returned by :func:`os.open`). Availability: Unix.
 
 
 .. function:: tcsetpgrp(fd, pg)
 
    Set the process group associated with the terminal given by *fd* (an open file
-   descriptor as returned by :func:`open`) to *pg*. Availability: Unix.
+   descriptor as returned by :func:`os.open`) to *pg*. Availability: Unix.
 
 
 .. function:: ttyname(fd)
@@ -667,13 +667,13 @@
    .. note::
 
       This function is intended for low-level I/O and must be applied to a file
-      descriptor as returned by :func:`open` or :func:`pipe`.  To write a "file
+      descriptor as returned by :func:`os.open` or :func:`pipe`.  To write a "file
       object" returned by the built-in function :func:`open` or by :func:`popen` or
-      :func:`fdopen`, or :data:`sys.stdout` or :data:`sys.stderr`, use its :meth:`write`
-      method.
+      :func:`fdopen`, or :data:`sys.stdout` or :data:`sys.stderr`, use its
+      :meth:`~file.write` method.
 
 The following constants are options for the *flags* parameter to the
-:func:`open` function.  They can be combined using the bitwise OR operator
+:func:`~os.open` function.  They can be combined using the bitwise OR operator
 ``|``.  Some of them are not available on all platforms.  For descriptions of
 their availability and use, consult the :manpage:`open(2)` manual page on Unix
 or `the MSDN <http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>` on Windows.
@@ -752,7 +752,7 @@
    .. note::
 
       Using :func:`access` to check if a user is authorized to e.g. open a file before
-      actually doing so using :func:`open` creates a  security hole, because the user
+      actually doing so using :func:`open` creates a security hole, because the user
       might exploit the short time interval  between checking and opening the file to
       manipulate it.
 
@@ -929,7 +929,8 @@
 
    .. versionchanged:: 2.3
       On Windows NT/2k/XP and Unix, if *path* is a Unicode object, the result will be
-      a list of Unicode objects.
+      a list of Unicode objects. Undecodable filenames will still be returned as
+      string objects.
 
 
 .. function:: lstat(path)

Modified: python/branches/release26-maint/Doc/library/shelve.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/shelve.rst	(original)
+++ python/branches/release26-maint/Doc/library/shelve.rst	Tue May 26 11:04:23 2009
@@ -1,4 +1,3 @@
-
 :mod:`shelve` --- Python object persistence
 ===========================================
 
@@ -40,7 +39,7 @@
    entries are written back (there is no way to determine which accessed
    entries are mutable, nor which ones were actually mutated).
 
-Shelve objects support all methods supported by dictionaries.  This eases the
+Shelf objects support all methods supported by dictionaries.  This eases the
 transition from dictionary based scripts to those requiring persistent storage.
 
 One additional method is supported:

Modified: python/branches/release26-maint/Doc/library/smtplib.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/smtplib.rst	(original)
+++ python/branches/release26-maint/Doc/library/smtplib.rst	Tue May 26 11:04:23 2009
@@ -380,3 +380,8 @@
    server.sendmail(fromaddr, toaddrs, msg)
    server.quit()
 
+.. note::
+
+   In general, you will want to use the :mod:`email` package's features to
+   construct an email message, which you can then convert to a string and send
+   via :meth:`sendmail`; see :ref:`email-examples`.

Modified: python/branches/release26-maint/Doc/library/sqlite3.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/sqlite3.rst	(original)
+++ python/branches/release26-maint/Doc/library/sqlite3.rst	Tue May 26 11:04:23 2009
@@ -15,7 +15,7 @@
 application using SQLite and then port the code to a larger database such as
 PostgreSQL or Oracle.
 
-pysqlite was written by Gerhard Häring and provides a SQL interface compliant
+sqlite3 was written by Gerhard Häring and provides a SQL interface compliant
 with the DB-API 2.0 specification described by :pep:`249`.
 
 To use the module, you must first create a :class:`Connection` object that
@@ -52,8 +52,9 @@
 
 Instead, use the DB-API's parameter substitution.  Put ``?`` as a placeholder
 wherever you want to use a value, and then provide a tuple of values as the
-second argument to the cursor's :meth:`~Cursor.execute` method.  (Other database modules
-may use a different placeholder, such as ``%s`` or ``:1``.) For example::
+second argument to the cursor's :meth:`~Cursor.execute` method.  (Other database
+modules may use a different placeholder, such as ``%s`` or ``:1``.) For
+example::
 
    # Never do this -- insecure!
    symbol = 'IBM'
@@ -92,11 +93,12 @@
 .. seealso::
 
    http://www.pysqlite.org
-      The pysqlite web page.
+      The pysqlite web page -- sqlite3 is developed externally under the name
+      "pysqlite".
 
    http://www.sqlite.org
-      The SQLite web page; the documentation describes the syntax and the available
-      data types for the supported SQL dialect.
+      The SQLite web page; the documentation describes the syntax and the
+      available data types for the supported SQL dialect.
 
    :pep:`249` - Database API Specification 2.0
       PEP written by Marc-André Lemburg.
@@ -802,10 +804,10 @@
 ...``, ``VACUUM``, ``PRAGMA``, the :mod:`sqlite3` module will commit implicitly
 before executing that command. There are two reasons for doing that. The first
 is that some of these commands don't work within transactions. The other reason
-is that pysqlite needs to keep track of the transaction state (if a transaction
+is that sqlite3 needs to keep track of the transaction state (if a transaction
 is active or not).
 
-You can control which kind of ``BEGIN`` statements pysqlite implicitly executes
+You can control which kind of ``BEGIN`` statements sqlite3 implicitly executes
 (or none at all) via the *isolation_level* parameter to the :func:`connect`
 call, or via the :attr:`isolation_level` property of connections.
 
@@ -817,8 +819,8 @@
 
 
 
-Using pysqlite efficiently
---------------------------
+Using :mod:`sqlite3` efficiently
+--------------------------------
 
 
 Using shortcut methods

Modified: python/branches/release26-maint/Doc/library/stdtypes.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/stdtypes.rst	(original)
+++ python/branches/release26-maint/Doc/library/stdtypes.rst	Tue May 26 11:04:23 2009
@@ -1955,7 +1955,7 @@
       note for :meth:`dict.items`.
 
       Using :meth:`iteritems` while adding or deleting entries in the dictionary
-      will raise a :exc:`RuntimeError`.
+      may raise a :exc:`RuntimeError` or fail to iterate over all entries.
 
       .. versionadded:: 2.2
 
@@ -1965,7 +1965,7 @@
       :meth:`dict.items`.
 
       Using :meth:`iterkeys` while adding or deleting entries in the dictionary
-      will raise a :exc:`RuntimeError`.
+      may raise a :exc:`RuntimeError` or fail to iterate over all entries.
 
       .. versionadded:: 2.2
 
@@ -1975,7 +1975,8 @@
       :meth:`dict.items`.
 
       Using :meth:`itervalues` while adding or deleting entries in the
-      dictionary will raise a :exc:`RuntimeError`.
+      dictionary may raise a :exc:`RuntimeError` or fail to iterate over all
+      entries.
 
       .. versionadded:: 2.2
 

Modified: python/branches/release26-maint/Doc/library/webbrowser.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/webbrowser.rst	(original)
+++ python/branches/release26-maint/Doc/library/webbrowser.rst	Tue May 26 11:04:23 2009
@@ -22,7 +22,7 @@
 of browsers to try in order.  When the value of a list part contains the string
 ``%s``, then it is  interpreted as a literal browser command line to be used
 with the argument URL substituted for ``%s``; if the part does not contain
-``%s``, it is simply interpreted as the name of the browser to launch.
+``%s``, it is simply interpreted as the name of the browser to launch. [1]_
 
 For non-Unix platforms, or when a remote browser is available on Unix, the
 controlling process will not wait for the user to finish with the browser, but
@@ -201,3 +201,8 @@
 
    .. versionadded:: 2.5
 
+
+.. rubric:: Footnotes
+
+.. [1] Executables named here without a full path will be searched in the
+       directories given in the :envvar:`PATH` environment variable.

Modified: python/branches/release26-maint/Doc/library/xml.dom.minidom.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/xml.dom.minidom.rst	(original)
+++ python/branches/release26-maint/Doc/library/xml.dom.minidom.rst	Tue May 26 11:04:23 2009
@@ -30,7 +30,7 @@
 The :func:`parse` function can take either a filename or an open file object.
 
 
-.. function:: parse(filename_or_file, parser)
+.. function:: parse(filename_or_file[, parser[, bufsize]])
 
    Return a :class:`Document` from the given input. *filename_or_file* may be
    either a file name, or a file-like object. *parser*, if given, must be a SAX2

Modified: python/branches/release26-maint/Doc/reference/datamodel.rst
==============================================================================
--- python/branches/release26-maint/Doc/reference/datamodel.rst	(original)
+++ python/branches/release26-maint/Doc/reference/datamodel.rst	Tue May 26 11:04:23 2009
@@ -1858,11 +1858,11 @@
    reverse iteration.  It should return a new iterator object that iterates
    over all the objects in the container in reverse order.
 
-   If the :meth:`__reversed__` method is not provided, the
-   :func:`reversed` builtin will fall back to using the sequence protocol
-   (:meth:`__len__` and :meth:`__getitem__`).  Objects should normally
-   only provide :meth:`__reversed__` if they do not support the sequence
-   protocol and an efficient implementation of reverse iteration is possible.
+   If the :meth:`__reversed__` method is not provided, the :func:`reversed`
+   builtin will fall back to using the sequence protocol (:meth:`__len__` and
+   :meth:`__getitem__`).  Objects that support the sequence protocol should
+   only provide :meth:`__reversed__` if they can provide an implementation
+   that is more efficient than the one provided by :func:`reversed`.
 
    .. versionadded:: 2.6
 

Modified: python/branches/release26-maint/Doc/reference/simple_stmts.rst
==============================================================================
--- python/branches/release26-maint/Doc/reference/simple_stmts.rst	(original)
+++ python/branches/release26-maint/Doc/reference/simple_stmts.rst	Tue May 26 11:04:23 2009
@@ -386,9 +386,10 @@
 object is (converted and) written, unless the output system believes it is
 positioned at the beginning of a line.  This is the case (1) when no characters
 have yet been written to standard output, (2) when the last character written to
-standard output is ``'\n'``, or (3) when the last write operation on standard
-output was not a :keyword:`print` statement.  (In some cases it may be
-functional to write an empty string to standard output for this reason.)
+standard output is a whitespace character except ``' '``, or (3) when the last
+write operation on standard output was not a :keyword:`print` statement.
+(In some cases it may be functional to write an empty string to standard output
+for this reason.)
 
 .. note::
 

Modified: python/branches/release26-maint/Doc/tutorial/errors.rst
==============================================================================
--- python/branches/release26-maint/Doc/tutorial/errors.rst	(original)
+++ python/branches/release26-maint/Doc/tutorial/errors.rst	Tue May 26 11:04:23 2009
@@ -216,7 +216,7 @@
 The :keyword:`raise` statement allows the programmer to force a specified
 exception to occur. For example::
 
-   >>> raise NameError, 'HiThere'
+   >>> raise NameError('HiThere')
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    NameError: HiThere
@@ -231,7 +231,7 @@
 re-raise the exception::
 
    >>> try:
-   ...     raise NameError, 'HiThere'
+   ...     raise NameError('HiThere')
    ... except NameError:
    ...     print 'An exception flew by!'
    ...     raise
@@ -263,7 +263,7 @@
    ...     print 'My exception occurred, value:', e.value
    ...
    My exception occurred, value: 4
-   >>> raise MyError, 'oops!'
+   >>> raise MyError('oops!')
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    __main__.MyError: 'oops!'

Modified: python/branches/release26-maint/Doc/tutorial/introduction.rst
==============================================================================
--- python/branches/release26-maint/Doc/tutorial/introduction.rst	(original)
+++ python/branches/release26-maint/Doc/tutorial/introduction.rst	Tue May 26 11:04:23 2009
@@ -285,11 +285,11 @@
    >>> word[0] = 'x'
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
-   TypeError: object doesn't support item assignment
+   TypeError: object does not support item assignment
    >>> word[:1] = 'Splat'
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
-   TypeError: object doesn't support slice assignment
+   TypeError: object does not support slice assignment
 
 However, creating a new string with the combined content is easy and efficient::
 

Modified: python/branches/release26-maint/Lib/linecache.py
==============================================================================
--- python/branches/release26-maint/Lib/linecache.py	(original)
+++ python/branches/release26-maint/Lib/linecache.py	Tue May 26 11:04:23 2009
@@ -79,7 +79,7 @@
     try:
         stat = os.stat(fullname)
     except os.error, msg:
-        basename = os.path.split(filename)[1]
+        basename = filename
 
         # Try for a __loader__, if available
         if module_globals and '__loader__' in module_globals:
@@ -103,7 +103,10 @@
                     )
                     return cache[filename][2]
 
-        # Try looking through the module search path.
+        # Try looking through the module search path, which is only useful
+        # when handling a relative filename.
+        if os.path.isabs(filename):
+            return []
 
         for dirname in sys.path:
             # When using imputil, sys.path may contain things other than

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Tue May 26 11:04:23 2009
@@ -220,6 +220,9 @@
 - Issue #6062: In distutils, fixed the package option of build_ext. Feedback 
   and tests on pywin32 by Tim Golden.
 
+- Issue #1309567: Fix linecache behavior of stripping subdirectories when
+  looking for files given by a relative filename.
+
 - Issue #6046: Fixed the library extension when distutils build_ext is used
   inplace. Initial patch by Roumen Petrov.
 


More information about the Python-checkins mailing list