Discussion:
[Python-3000-checkins] r65647 - in python/branches/py3k: Doc/library/mailbox.rst Doc/library/select.rst Doc/library/subprocess.rst Doc/reference/expressions.rst Doc/whatsnew/2.6.rst Lib/multiprocessing/connection.py Lib/test/test_multiprocessing.py Misc/developers.txt
georg.brandl
2008-08-12 08:18:18 UTC
Permalink
Author: georg.brandl
Date: Tue Aug 12 10:18:18 2008
New Revision: 65647

Log:
Merged revisions 65437,65469,65476,65480,65502,65528,65539,65543,65558,65561-65562,65565,65591,65601,65608,65610,65639 via svnmerge from
svn+ssh://pythondev at svn.python.org/python/trunk

........
r65437 | georg.brandl | 2008-08-03 22:28:55 +0000 (Sun, 03 Aug 2008) | 2 lines

Note the removal of several committers.
........
r65469 | gregory.p.smith | 2008-08-04 01:03:50 +0000 (Mon, 04 Aug 2008) | 3 lines

issue1606: Add warnings to the subprocess documentation about common pitfalls
of using pipes that cause deadlocks.
........
r65476 | georg.brandl | 2008-08-04 06:29:36 +0000 (Mon, 04 Aug 2008) | 2 lines

Fix markup.
........
r65480 | georg.brandl | 2008-08-04 07:31:50 +0000 (Mon, 04 Aug 2008) | 3 lines

Clarify the meaning of the select() parameters and sync
names with docstring.
........
r65502 | gregory.p.smith | 2008-08-04 18:34:07 +0000 (Mon, 04 Aug 2008) | 2 lines

more cleanup ups of the recently added warnings in the subprocess docs.
........
r65528 | brett.cannon | 2008-08-04 21:52:25 +0000 (Mon, 04 Aug 2008) | 4 lines

Add a note about all the modules/packages changed to silence -3 warnings. More
changes are needed once some decisions are made, but this is the work up to this
point.
........
r65539 | andrew.kuchling | 2008-08-05 01:38:08 +0000 (Tue, 05 Aug 2008) | 6 lines

#3367 from Kristjan Valur Jonsson:
If a PyTokenizer_FromString() is called with an empty string, the
tokenizer's line_start member never gets initialized. Later, it is
compared with the token pointer 'a' in parsetok.c:193 and that behavior
can result in undefined behavior.
........
r65543 | andrew.kuchling | 2008-08-05 02:05:23 +0000 (Tue, 05 Aug 2008) | 1 line

#3367: revert rev. 65539: this change causes test_parser to fail
........
r65558 | georg.brandl | 2008-08-06 17:20:41 +0000 (Wed, 06 Aug 2008) | 2 lines

Fix longstringitem definition. #3505.
........
r65561 | mark.dickinson | 2008-08-06 20:12:30 +0000 (Wed, 06 Aug 2008) | 2 lines

Docstring typo
........
r65562 | mark.dickinson | 2008-08-06 21:36:57 +0000 (Wed, 06 Aug 2008) | 2 lines

Remove duplicate import
........
r65565 | andrew.kuchling | 2008-08-07 01:47:34 +0000 (Thu, 07 Aug 2008) | 1 line

Add some items
........
r65591 | georg.brandl | 2008-08-08 06:42:20 +0000 (Fri, 08 Aug 2008) | 2 lines

#3519: callee is an expression too.
........
r65601 | georg.brandl | 2008-08-08 15:34:34 +0000 (Fri, 08 Aug 2008) | 2 lines

Remove mention of backquotes in the tutorial.
........
r65608 | guido.van.rossum | 2008-08-09 14:55:34 +0000 (Sat, 09 Aug 2008) | 2 lines

Add news item about _sre.compile() re-bytecode validator.
........
r65610 | antoine.pitrou | 2008-08-09 17:27:23 +0000 (Sat, 09 Aug 2008) | 3 lines

move NEWS entry to the appropriate section (oops!)
........
r65639 | georg.brandl | 2008-08-11 10:27:31 +0000 (Mon, 11 Aug 2008) | 2 lines

#3540: fix exception name.
........


Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Doc/library/mailbox.rst
python/branches/py3k/Doc/library/select.rst
python/branches/py3k/Doc/library/subprocess.rst
python/branches/py3k/Doc/reference/expressions.rst
python/branches/py3k/Doc/whatsnew/2.6.rst
python/branches/py3k/Lib/multiprocessing/connection.py
python/branches/py3k/Lib/test/test_multiprocessing.py
python/branches/py3k/Misc/developers.txt

Modified: python/branches/py3k/Doc/library/mailbox.rst
==============================================================================
--- python/branches/py3k/Doc/library/mailbox.rst (original)
+++ python/branches/py3k/Doc/library/mailbox.rst Tue Aug 12 10:18:18 2008
@@ -1478,7 +1478,7 @@
parameter set to ``False``), or when opening a folder that does not exist.


-.. exception:: NotEmptyErrorError()
+.. exception:: NotEmptyError()

Raised when a mailbox is not empty but is expected to be, such as when deleting
a folder that contains messages.

Modified: python/branches/py3k/Doc/library/select.rst
==============================================================================
--- python/branches/py3k/Doc/library/select.rst (original)
+++ python/branches/py3k/Doc/library/select.rst Tue Aug 12 10:18:18 2008
@@ -52,19 +52,24 @@
:ref:`kevent-objects` below for the methods supported by kqueue objects.


-.. function:: select(iwtd, owtd, ewtd[, timeout])
+.. function:: select(rlist, wlist, xlist[, timeout])

This is a straightforward interface to the Unix :cfunc:`select` system call.
The first three arguments are sequences of 'waitable objects': either
integers representing file descriptors or objects with a parameterless method
- named :meth:`fileno` returning such an integer. The three sequences of
- waitable objects are for input, output and 'exceptional conditions',
- respectively. Empty sequences are allowed, but acceptance of three empty
- sequences is platform-dependent. (It is known to work on Unix but not on
- Windows.) The optional *timeout* argument specifies a time-out as a floating
- point number in seconds. When the *timeout* argument is omitted the function
- blocks until at least one file descriptor is ready. A time-out value of zero
- specifies a poll and never blocks.
+ named :meth:`fileno` returning such an integer:
+
+ * *rlist*: wait until ready for reading
+ * *wlist*: wait until ready for writing
+ * *xlist*: wait for an "exceptional condition" (see the manual page for what
+ your system considers such a condition)
+
+ Empty sequences are allowed, but acceptance of three empty sequences is
+ platform-dependent. (It is known to work on Unix but not on Windows.) The
+ optional *timeout* argument specifies a time-out as a floating point number
+ in seconds. When the *timeout* argument is omitted the function blocks until
+ at least one file descriptor is ready. A time-out value of zero specifies a
+ poll and never blocks.

The return value is a triple of lists of objects that are ready: subsets of the
first three arguments. When the time-out is reached without a file descriptor
@@ -84,9 +89,10 @@

.. index:: single: WinSock

- File objects on Windows are not acceptable, but sockets are. On Windows, the
- underlying :cfunc:`select` function is provided by the WinSock library, and does
- not handle file descriptors that don't originate from WinSock.
+ File objects on Windows are not acceptable, but sockets are. On Windows,
+ the underlying :cfunc:`select` function is provided by the WinSock
+ library, and does not handle file descriptors that don't originate from
+ WinSock.


.. _epoll-objects:

Modified: python/branches/py3k/Doc/library/subprocess.rst
==============================================================================
--- python/branches/py3k/Doc/library/subprocess.rst (original)
+++ python/branches/py3k/Doc/library/subprocess.rst Tue Aug 12 10:18:18 2008
@@ -215,6 +215,12 @@
Wait for child process to terminate. Set and return :attr:`returncode`
attribute.

+ .. warning::
+
+ This will deadlock if the child process generates enough output to a
+ stdout or stderr pipe such that it blocks waiting for the OS pipe buffer
+ to accept more data. Use :meth:`communicate` to avoid that.
+

.. method:: Popen.communicate(input=None)

@@ -261,6 +267,14 @@

The following attributes are also available:

+.. warning::
+
+ Use :meth:`communicate` rather than :meth:`.stdin.write`,
+ :meth:`.stdout.read` or :meth:`.stderr.read` to avoid deadlocks due
+ to any of the other OS pipe buffers filling up and blocking the child
+ process.
+
+
.. attribute:: Popen.stdin

If the *stdin* argument is ``PIPE``, this attribute is a file object that

Modified: python/branches/py3k/Doc/reference/expressions.rst
==============================================================================
--- python/branches/py3k/Doc/reference/expressions.rst (original)
+++ python/branches/py3k/Doc/reference/expressions.rst Tue Aug 12 10:18:18 2008
@@ -1212,7 +1212,7 @@
(expr1, expr2, expr3, expr4)
{expr1: expr2, expr3: expr4}
expr1 + expr2 * (expr3 - expr4)
- func(expr1, expr2, *expr3, **expr4)
+ expr1(expr2, expr3, *expr4, **expr5)
expr3, expr4 = expr1, expr2



Modified: python/branches/py3k/Doc/whatsnew/2.6.rst
==============================================================================
--- python/branches/py3k/Doc/whatsnew/2.6.rst (original)
+++ python/branches/py3k/Doc/whatsnew/2.6.rst Tue Aug 12 10:18:18 2008
@@ -785,7 +785,7 @@
'%' - Percentage. Multiplies the number by 100 and displays
in fixed ('f') format, followed by a percent sign.

-Classes and types can define a __format__ method to control how they're
+Classes and types can define a :meth:`__format__` method to control how they're
formatted. It receives a single argument, the format specifier::

def __format__(self, format_spec):
@@ -1515,10 +1515,22 @@
:func:`isnan`, return true if their floating-point argument is
infinite or Not A Number. (:issue:`1640`)

- The float type has a new instance method :meth:`float.hex` and a
- corresponding new class method :meth:`float.fromhex` to convert
- floating-point numbers to and from hexadecimal strings,
- respectively. (:issue:`3008`)
+ Conversion functions were added to convert floating-point numbers
+ into hexadecimal strings. (:issue:`3008`) These functions lets you
+ convert floats to and from a string representation without
+ introducing rounding errors from the conversion between decimal and
+ binary. Floats have a :meth:`hex` method that returns a string
+ representation, and the ``float.fromhex()`` method converts a string
+ back into a number::
+
+ >>> a = 3.75
+ >>> a.hex()
+ '0x1.e000000000000p+1'
+ >>> float.fromhex('0x1.e000000000000p+1')
+ 3.75
+ >>> b=1./3
+ >>> b.hex()
+ '0x1.5555555555555p-2'

* The :mod:`math` module has a number of new functions, and the existing
functions have been improved to give more consistent behaviour
@@ -1633,6 +1645,12 @@
(Original optimization implemented by Armin Rigo, updated for
Python 2.6 by Kevin Jacobs; :issue:`1700288`.)

+* Function calls that use keyword arguments
+ are significantly faster thanks to a patch that does a quick pointer
+ comparison, usually saving the time of a full string comparison.
+ (Contributed by Raymond Hettinger, after an initial implementation by
+ Antoine Pitrou; :issue:`1819`.)
+
* All of the functions in the :mod:`struct` module have been rewritten in
C, thanks to work at the Need For Speed sprint.
(Contributed by Raymond Hettinger.)

Modified: python/branches/py3k/Lib/multiprocessing/connection.py
==============================================================================
--- python/branches/py3k/Lib/multiprocessing/connection.py (original)
+++ python/branches/py3k/Lib/multiprocessing/connection.py Tue Aug 12 10:18:18 2008
@@ -209,7 +209,7 @@

class SocketListener(object):
'''
- Represtation of a socket which is bound to an address and listening
+ Representation of a socket which is bound to an address and listening
'''
def __init__(self, address, family, backlog=1):
self._socket = socket.socket(getattr(socket, family))

Modified: python/branches/py3k/Lib/test/test_multiprocessing.py
==============================================================================
--- python/branches/py3k/Lib/test/test_multiprocessing.py (original)
+++ python/branches/py3k/Lib/test/test_multiprocessing.py Tue Aug 12 10:18:18 2008
@@ -22,7 +22,6 @@
import multiprocessing.connection
import multiprocessing.managers
import multiprocessing.heap
-import multiprocessing.managers
import multiprocessing.pool
import _multiprocessing


Modified: python/branches/py3k/Misc/developers.txt
==============================================================================
--- python/branches/py3k/Misc/developers.txt (original)
+++ python/branches/py3k/Misc/developers.txt Tue Aug 12 10:18:18 2008
@@ -20,7 +20,7 @@
- Antoine Pitrou was given SVN access on July 16 2008, by recommendation
from GvR, for general contributions to Python.

-- Jesse Noller was given SVN access on 16 June 2008 by Georg Brandl,
+- Jesse Noller was given SVN access on 16 June 2008 by GFB,
for work on the multiprocessing module.

- Gregor Lingl was given SVN access on 10 June 2008 by MvL,
@@ -45,13 +45,13 @@
for work on branches (ast/optimizer related).

- Jeroen Ruigrok van der Werven was given SVN access on 12 April 2008
- by Georg Brandl, for documentation work.
+ by GFB, for documentation work.

-- Josiah Carlson was given SVN access on 26 March 2008 by Georg Brandl,
+- Josiah Carlson was given SVN access on 26 March 2008 by GFB,
for work on asyncore/asynchat.

-- Benjamin Peterson was given SVN access on 25 March 2008 by Georg
- Brandl, for bug triage work.
+- Benjamin Peterson was given SVN access on 25 March 2008 by GFB,
+ for bug triage work.

- Jerry Seutter was given SVN access on 20 March 2008 by BAC, for
general contributions to Python.
@@ -196,6 +196,12 @@
Permissions Dropped on Request
------------------------------

+- Roy Smith, Matt Fleming and Richard Emslie sent drop requests.
+ 4 Aug 2008 GFB
+
+- Per note from Andrew Kuchling, the permissions for Gregory K Johnson
+ and the Summer Of Code project are no longer needed. 4 Aug 2008 GFB
+
- Per note from Andrew Kuchling, the permissions for Gregory K Johnson
and the Summer Of Code project are no longer needed. AMK will make
any future checkins directly. 16 Oct 2005 RDH
@@ -235,3 +241,4 @@
TGP: Tim Peters
DJG: David Goodger
MvL: Martin v. Loewis
+GFB: Georg Brandl

Loading...