Merged revisions 59703-59773 via svnmerge from · pythoncapi/cpython@faf2f63 · GitHub
Skip to content

Commit faf2f63

Browse files
committed
Merged revisions 59703-59773 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r59704 | christian.heimes | 2008-01-04 04:15:05 +0100 (Fri, 04 Jan 2008) | 1 line Moved include "Python.h" in front of other imports to silence a warning. ........ r59706 | raymond.hettinger | 2008-01-04 04:22:53 +0100 (Fri, 04 Jan 2008) | 10 lines Minor fix-ups to named tuples: * Make the _replace() method respect subclassing. * Using property() to make _fields read-only wasn't a good idea. It caused len(Point._fields) to fail. * Add note to _cast() about length checking and alternative with the star-operator. ........ r59707 | jeffrey.yasskin | 2008-01-04 09:01:23 +0100 (Fri, 04 Jan 2008) | 3 lines Make math.{floor,ceil}({int,long}) return float again for backwards compatibility after r59671 made them return integral types. ........ r59709 | christian.heimes | 2008-01-04 14:21:07 +0100 (Fri, 04 Jan 2008) | 1 line Bug python#1713: posixpath.ismount() claims symlink to a mountpoint is a mountpoint. ........ r59712 | lars.gustaebel | 2008-01-04 15:00:33 +0100 (Fri, 04 Jan 2008) | 5 lines Issue python#1735: TarFile.extractall() now correctly sets directory permissions and times. (will backport to 2.5) ........ r59714 | andrew.kuchling | 2008-01-04 15:47:17 +0100 (Fri, 04 Jan 2008) | 1 line Update links to bug/patch tracker ........ r59716 | christian.heimes | 2008-01-04 16:23:30 +0100 (Fri, 04 Jan 2008) | 1 line Added interface to Windows' WSAIoctl and a simple example for a network sniffer. ........ r59717 | christian.heimes | 2008-01-04 16:29:00 +0100 (Fri, 04 Jan 2008) | 1 line And here is the rest of Hirokazu Yamamoto's patch for VS6.0 support. Thanks Hiro! ........ r59719 | christian.heimes | 2008-01-04 16:34:06 +0100 (Fri, 04 Jan 2008) | 1 line Reverted last transaction. It's the wrong branch. ........ r59721 | christian.heimes | 2008-01-04 16:48:06 +0100 (Fri, 04 Jan 2008) | 1 line socket.ioctl is only available on Windows ........ r59722 | andrew.kuchling | 2008-01-04 19:24:41 +0100 (Fri, 04 Jan 2008) | 1 line Fix markup ........ r59723 | andrew.kuchling | 2008-01-04 19:25:05 +0100 (Fri, 04 Jan 2008) | 1 line Fix markup ........ r59725 | guido.van.rossum | 2008-01-05 01:59:59 +0100 (Sat, 05 Jan 2008) | 3 lines Patch python#1725 by Mark Dickinson, fixes incorrect conversion of -1e1000 and adds errors for -0x. ........ r59726 | guido.van.rossum | 2008-01-05 02:21:57 +0100 (Sat, 05 Jan 2008) | 2 lines Patch python#1698 by Senthil: allow '@' in username when parsed by urlparse.py. ........ r59727 | raymond.hettinger | 2008-01-05 02:35:43 +0100 (Sat, 05 Jan 2008) | 1 line Improve namedtuple's _cast() method with a docstring, new name, and error-checking. ........ r59728 | raymond.hettinger | 2008-01-05 03:17:24 +0100 (Sat, 05 Jan 2008) | 1 line Add error-checking to namedtuple's _replace() method. ........ r59730 | fred.drake | 2008-01-05 05:38:38 +0100 (Sat, 05 Jan 2008) | 2 lines clean up a comment ........ r59731 | jeffrey.yasskin | 2008-01-05 09:47:13 +0100 (Sat, 05 Jan 2008) | 11 lines Continue rolling back pep-3141 changes that changed behavior from 2.5. This round included: * Revert round to its 2.6 behavior (half away from 0). * Because round, floor, and ceil always return float again, it's no longer necessary to have them delegate to __xxx___, so I've ripped that out of their implementations and the Real ABC. This also helps in implementing types that work in both 2.6 and 3.0: you return int from the __xxx__ methods, and let it get enabled by the version upgrade. * Make pow(-1, .5) raise a ValueError again. ........ r59736 | andrew.kuchling | 2008-01-05 16:13:49 +0100 (Sat, 05 Jan 2008) | 1 line Fix comment typo ........ r59738 | thomas.heller | 2008-01-05 18:15:44 +0100 (Sat, 05 Jan 2008) | 1 line Add myself. ........ r59739 | georg.brandl | 2008-01-05 18:49:17 +0100 (Sat, 05 Jan 2008) | 2 lines Fix C++-style comment. ........ r59742 | georg.brandl | 2008-01-05 20:28:16 +0100 (Sat, 05 Jan 2008) | 2 lines Remove with_statement future imports from 2.6 docs. ........ r59743 | georg.brandl | 2008-01-05 20:29:45 +0100 (Sat, 05 Jan 2008) | 2 lines Simplify index entries; fix python#1712. ........ r59744 | georg.brandl | 2008-01-05 20:44:22 +0100 (Sat, 05 Jan 2008) | 2 lines Doc patch python#1730 from Robin Stocker; minor corrections mostly to os.rst. ........ r59749 | georg.brandl | 2008-01-05 21:29:13 +0100 (Sat, 05 Jan 2008) | 2 lines Revert socket.rst to unix-eol. ........ r59750 | georg.brandl | 2008-01-05 21:33:46 +0100 (Sat, 05 Jan 2008) | 2 lines Set native svn:eol-style property for text files. ........ r59752 | georg.brandl | 2008-01-05 21:46:29 +0100 (Sat, 05 Jan 2008) | 2 lines python#1719: capitalization error in "UuidCreate". ........ r59753 | georg.brandl | 2008-01-05 22:02:25 +0100 (Sat, 05 Jan 2008) | 2 lines Repair markup. ........ r59754 | georg.brandl | 2008-01-05 22:10:50 +0100 (Sat, 05 Jan 2008) | 2 lines Use markup. ........ r59757 | christian.heimes | 2008-01-05 22:35:52 +0100 (Sat, 05 Jan 2008) | 1 line Final adjustments for python#1601 ........ r59758 | guido.van.rossum | 2008-01-05 23:19:06 +0100 (Sat, 05 Jan 2008) | 3 lines Patch python#1637: fix urlparse for URLs like 'http://x.com?arg=/foo'. Fix by John Nagle. ........ r59759 | guido.van.rossum | 2008-01-05 23:20:01 +0100 (Sat, 05 Jan 2008) | 2 lines Add John Nagle (of issue python#1637). ........ r59765 | raymond.hettinger | 2008-01-06 10:02:24 +0100 (Sun, 06 Jan 2008) | 1 line Small code simplification. Forgot that classmethods can be called from intances. ........ r59766 | martin.v.loewis | 2008-01-06 11:09:48 +0100 (Sun, 06 Jan 2008) | 2 lines Use vcbuild for VS 2009. ........ r59767 | martin.v.loewis | 2008-01-06 12:03:43 +0100 (Sun, 06 Jan 2008) | 2 lines Package using VS 2008. ........ r59768 | martin.v.loewis | 2008-01-06 12:13:16 +0100 (Sun, 06 Jan 2008) | 2 lines Don't try to package msvcr90 for the moment. ........ r59769 | georg.brandl | 2008-01-06 15:17:36 +0100 (Sun, 06 Jan 2008) | 4 lines #1696393: don't check for '.' and '..' in ntpath.walk since they aren't returned from os.listdir anymore. Reported by Michael Haggerty. ........ r59770 | georg.brandl | 2008-01-06 15:27:15 +0100 (Sun, 06 Jan 2008) | 3 lines python#1742: don't raise exception on os.path.relpath("a", "a"), but return os.curdir. Reported by Jesse Towner. ........ r59771 | georg.brandl | 2008-01-06 15:33:52 +0100 (Sun, 06 Jan 2008) | 2 lines python#1591: Clarify docstring of Popen3. ........ r59772 | georg.brandl | 2008-01-06 16:30:34 +0100 (Sun, 06 Jan 2008) | 2 lines python#1680: fix context manager example function name. ........ r59773 | georg.brandl | 2008-01-06 16:34:57 +0100 (Sun, 06 Jan 2008) | 2 lines #1755097: document default values for [].sort() and sorted(). ........
1 parent e239b00 commit faf2f63

43 files changed

Lines changed: 509 additions & 264 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Doc/ACKS.txt

Lines changed: 1 addition & 0 deletions

Doc/c-api/newtypes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,7 @@ type objects) *must* have the :attr:`ob_size` field.
729729
indicated by the :const:`Py_TPFLAGS_HAVE_RICHCOMPARE` flag bit) and have *NULL*
730730
values.
731731

732-
The following bit masks are currently defined; these can be or-ed together using
732+
The following bit masks are currently defined; these can be ORed together using
733733
the ``|`` operator to form the value of the :attr:`tp_flags` field. The macro
734734
:cfunc:`PyType_HasFeature` takes a type and a flags value, *tp* and *f*, and
735735
checks whether ``tp->tp_flags & f`` is non-zero.

Doc/c-api/utilities.rst

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -197,19 +197,14 @@ Importing Modules
197197
to find out. Starting with Python 2.4, a failing import of a module no longer
198198
leaves the module in ``sys.modules``.
199199

200-
.. index:: single: modules (in module sys)
201-
202200

203201
.. cfunction:: PyObject* PyImport_ImportModuleNoBlock(const char *name)
204202

205-
.. index::
206-
single: `cfunc:PyImport_ImportModule`
207-
208-
This version of `cfunc:PyImport_ImportModule` does not block. It's intended
203+
This version of :cfunc:`PyImport_ImportModule` does not block. It's intended
209204
to be used in C function which import other modules to execute a function.
210205
The import may block if another thread holds the import lock. The function
211-
`cfunc:PyImport_ImportModuleNoBlock` doesn't block. It first tries to fetch
212-
the module from sys.modules and falls back to `cfunc:PyImport_ImportModule`
206+
:cfunc:`PyImport_ImportModuleNoBlock` doesn't block. It first tries to fetch
207+
the module from sys.modules and falls back to :cfunc:`PyImport_ImportModule`
213208
unless the the lock is hold. In the latter case the function raises an
214209
ImportError.
215210

@@ -231,9 +226,6 @@ Importing Modules
231226
Failing imports remove incomplete module objects, like with
232227
:cfunc:`PyImport_ImportModule`.
233228

234-
The function is an alias for `cfunc:PyImport_ImportModuleLevel` with -1 as
235-
*level*, meaning relative import.
236-
237229

238230
.. cfunction:: PyObject* PyImport_ImportModuleLevel(char *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level)
239231

@@ -286,9 +278,9 @@ Importing Modules
286278
:func:`compile`, load the module. Return a new reference to the module object,
287279
or *NULL* with an exception set if an error occurred. Before Python 2.4, the
288280
module could still be created in error cases. Starting with Python 2.4, *name*
289-
is removed from ``sys.modules`` in error cases, and even if *name* was already
290-
in ``sys.modules`` on entry to :cfunc:`PyImport_ExecCodeModule`. Leaving
291-
incompletely initialized modules in ``sys.modules`` is dangerous, as imports of
281+
is removed from :attr:`sys.modules` in error cases, and even if *name* was already
282+
in :attr:`sys.modules` on entry to :cfunc:`PyImport_ExecCodeModule`. Leaving
283+
incompletely initialized modules in :attr:`sys.modules` is dangerous, as imports of
292284
such modules have no way to know that the module object is an unknown (and
293285
probably damaged with respect to the module author's intents) state.
294286

Doc/library/collections.rst

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -419,10 +419,18 @@ Example::
419419

420420
__slots__ = ()
421421

422+
_fields = ('x', 'y')
423+
422424
def __new__(cls, x, y):
423425
return tuple.__new__(cls, (x, y))
424426

425-
_cast = classmethod(tuple.__new__)
427+
@classmethod
428+
def _make(cls, iterable):
429+
'Make a new Point object from a sequence or iterable'
430+
result = tuple.__new__(cls, iterable)
431+
if len(result) != 2:
432+
raise TypeError('Expected 2 arguments, got %d' % len(result))
433+
return result
426434

427435
def __repr__(self):
428436
return 'Point(x=%r, y=%r)' % self
@@ -433,11 +441,10 @@ Example::
433441

434442
def _replace(self, **kwds):
435443
'Return a new Point object replacing specified fields with new values'
436-
return Point._cast(map(kwds.get, ('x', 'y'), self))
437-
438-
@property
439-
def _fields(self):
440-
return ('x', 'y')
444+
result = self._make(map(kwds.pop, ('x', 'y'), self))
445+
if kwds:
446+
raise ValueError('Got unexpected field names: %r' % kwds.keys())
447+
return result
441448

442449
x = property(itemgetter(0))
443450
y = property(itemgetter(1))
@@ -459,29 +466,28 @@ by the :mod:`csv` or :mod:`sqlite3` modules::
459466
EmployeeRecord = namedtuple('EmployeeRecord', 'name, age, title, department, paygrade')
460467

461468
import csv
462-
for emp in map(EmployeeRecord._cast, csv.reader(open("employees.csv", "rb"))):
469+
for emp in map(EmployeeRecord._make, csv.reader(open("employees.csv", "rb"))):
463470
print(emp.name, emp.title)
464471

465472
import sqlite3
466473
conn = sqlite3.connect('/companydata')
467474
cursor = conn.cursor()
468475
cursor.execute('SELECT name, age, title, department, paygrade FROM employees')
469-
for emp in map(EmployeeRecord._cast, cursor.fetchall()):
476+
for emp in map(EmployeeRecord._make, cursor.fetchall()):
470477
print emp.name, emp.title
471478

472479
In addition to the methods inherited from tuples, named tuples support
473-
three additonal methods and a read-only attribute.
480+
three additional methods and one attribute.
474481

475-
.. method:: namedtuple._cast(iterable)
482+
.. method:: namedtuple._make(iterable)
476483

477-
Class method returning a new instance taking the positional arguments from the *iterable*.
478-
Useful for casting existing sequences and iterables to named tuples:
484+
Class method that makes a new instance from an existing sequence or iterable.
479485

480486
::
481487

482-
>>> t = [11, 22]
483-
>>> Point._cast(t)
484-
Point(x=11, y=22)
488+
>>> t = [11, 22]
489+
>>> Point._make(t)
490+
Point(x=11, y=22)
485491

486492
.. method:: somenamedtuple._asdict()
487493

@@ -507,7 +513,7 @@ three additonal methods and a read-only attribute.
507513

508514
.. attribute:: somenamedtuple._fields
509515

510-
Return a tuple of strings listing the field names. This is useful for introspection
516+
Tuple of strings listing the field names. This is useful for introspection
511517
and for creating new named tuple types from existing named tuples.
512518

513519
::

Doc/library/contextlib.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Functions provided:
2121

2222
A simple example (this is not recommended as a real way of generating HTML!)::
2323

24-
from __future__ import with_statement
2524
from contextlib import contextmanager
2625

2726
@contextmanager
@@ -98,7 +97,6 @@ Functions provided:
9897

9998
And lets you write code like this::
10099

101-
from __future__ import with_statement
102100
from contextlib import closing
103101
import urllib
104102

Doc/library/decimal.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,6 @@ the :func:`localcontext` function to temporarily change the active context.
794794
For example, the following code sets the current decimal precision to 42 places,
795795
performs a calculation, and then automatically restores the previous context::
796796

797-
from __future__ import with_statement
798797
from decimal import localcontext
799798

800799
with localcontext() as ctx:

Doc/library/fcntl.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ The module defines the following functions:
109109
* :const:`LOCK_EX` -- acquire an exclusive lock
110110

111111
When *operation* is :const:`LOCK_SH` or :const:`LOCK_EX`, it can also be
112-
bit-wise OR'd with :const:`LOCK_NB` to avoid blocking on lock acquisition.
112+
bitwise ORed with :const:`LOCK_NB` to avoid blocking on lock acquisition.
113113
If :const:`LOCK_NB` is used and the lock cannot be acquired, an
114114
:exc:`IOError` will be raised and the exception will have an *errno*
115115
attribute set to :const:`EACCES` or :const:`EAGAIN` (depending on the

Doc/library/functions.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ available. They are listed here in alphabetical order.
227227
the *flags* argument is it -- the future statements in effect around the call to
228228
compile are ignored.
229229

230-
Future statements are specified by bits which can be bitwise or-ed together to
230+
Future statements are specified by bits which can be bitwise ORed together to
231231
specify multiple statements. The bitfield required to specify a given feature
232232
can be found as the :attr:`compiler_flag` attribute on the :class:`_Feature`
233233
instance in the :mod:`__future__` module.
@@ -966,10 +966,11 @@ available. They are listed here in alphabetical order.
966966
*cmp* specifies a custom comparison function of two arguments (iterable
967967
elements) which should return a negative, zero or positive number depending on
968968
whether the first argument is considered smaller than, equal to, or larger than
969-
the second argument: ``cmp=lambda x,y: cmp(x.lower(), y.lower())``
969+
the second argument: ``cmp=lambda x,y: cmp(x.lower(), y.lower())``. The default
970+
value is ``None``.
970971

971972
*key* specifies a function of one argument that is used to extract a comparison
972-
key from each list element: ``key=str.lower``
973+
key from each list element: ``key=str.lower``. The default value is ``None``.
973974

974975
*reverse* is a boolean value. If set to ``True``, then the list elements are
975976
sorted as if each comparison were reversed.

Doc/library/msilib.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ structures.
4040
exposed.
4141

4242

43-
.. function:: UUIDCreate()
43+
.. function:: UuidCreate()
4444

4545
Return the string representation of a new unique identifier. This wraps the
4646
Windows API functions :cfunc:`UuidCreate` and :cfunc:`UuidToString`.

Doc/library/msvcrt.rst

Lines changed: 1 addition & 1 deletion

0 commit comments

Comments
 (0)