summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2008-03-16 00:07:10 (GMT)
committerChristian Heimes <christian@cheimes.de>2008-03-16 00:07:10 (GMT)
commitdd15f6c315f20c1a9a540dd757cd63e27dbe9f3c (patch)
tree29466152518fc877722f97df2be69df9559aec29 /Doc/whatsnew
parent462187540764e3bcc2324fb0d51315f5c28ed088 (diff)
downloadcpython-dd15f6c315f20c1a9a540dd757cd63e27dbe9f3c.zip
cpython-dd15f6c315f20c1a9a540dd757cd63e27dbe9f3c.tar.gz
cpython-dd15f6c315f20c1a9a540dd757cd63e27dbe9f3c.tar.bz2
Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r61239 | andrew.kuchling | 2008-03-05 01:44:41 +0100 (Wed, 05 Mar 2008) | 1 line Add more items; add fragmentary notes ........ r61240 | amaury.forgeotdarc | 2008-03-05 02:50:33 +0100 (Wed, 05 Mar 2008) | 13 lines Issue#2238: some syntax errors from *args or **kwargs expressions would give bogus error messages, because of untested exceptions:: >>> f(**g(1=2)) XXX undetected error Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable instead of the expected SyntaxError: keyword can't be an expression Will backport. ........ r61241 | neal.norwitz | 2008-03-05 06:10:48 +0100 (Wed, 05 Mar 2008) | 3 lines Remove the files/dirs after closing the DB so the tests work on Windows. Patch from Trent Nelson. Also simplified removing a file by using test_support. ........ r61242 | neal.norwitz | 2008-03-05 06:14:18 +0100 (Wed, 05 Mar 2008) | 3 lines Get this test to pass even when there is no sound card in the system. Patch from Trent Nelson. (I can't test this.) ........ r61243 | neal.norwitz | 2008-03-05 06:20:44 +0100 (Wed, 05 Mar 2008) | 3 lines Catch OSError when trying to remove a file in case removal fails. This should prevent a failure in tearDown masking any real test failure. ........ r61244 | neal.norwitz | 2008-03-05 06:38:06 +0100 (Wed, 05 Mar 2008) | 5 lines Make the timeout longer to give slow machines a chance to pass the test before timing out. This doesn't change the duration of the test under normal circumstances. This is targetted at fixing the spurious failures on the FreeBSD buildbot primarily. ........ r61245 | neal.norwitz | 2008-03-05 06:49:03 +0100 (Wed, 05 Mar 2008) | 1 line Tabs -> spaces ........ r61246 | neal.norwitz | 2008-03-05 06:50:20 +0100 (Wed, 05 Mar 2008) | 1 line Use -u urlfetch to run more tests ........ r61247 | neal.norwitz | 2008-03-05 06:51:20 +0100 (Wed, 05 Mar 2008) | 1 line test_smtplib sometimes reports leaks too, suppress it ........ r61248 | jeffrey.yasskin | 2008-03-05 07:19:56 +0100 (Wed, 05 Mar 2008) | 5 lines Fix test_socketserver on Windows after r61099 added several signal.alarm() calls (which don't exist on non-Unix platforms). Thanks to Trent Nelson for the report and patch. ........ r61249 | georg.brandl | 2008-03-05 08:10:35 +0100 (Wed, 05 Mar 2008) | 2 lines Fix some rst. ........ r61252 | thomas.heller | 2008-03-05 15:53:39 +0100 (Wed, 05 Mar 2008) | 2 lines News entry for yesterdays commit. ........ r61253 | thomas.heller | 2008-03-05 16:34:29 +0100 (Wed, 05 Mar 2008) | 3 lines Issue 1872: Changed the struct module typecode from 't' to '?', for compatibility with PEP3118. ........ r61254 | skip.montanaro | 2008-03-05 17:41:09 +0100 (Wed, 05 Mar 2008) | 4 lines Elaborate on the role of the altinstall target when installing multiple versions. ........ r61255 | georg.brandl | 2008-03-05 20:31:44 +0100 (Wed, 05 Mar 2008) | 2 lines #2239: PYTHONPATH delimiter is os.pathsep. ........ r61256 | raymond.hettinger | 2008-03-05 21:59:58 +0100 (Wed, 05 Mar 2008) | 1 line C implementation of itertools.permutations(). ........ r61257 | raymond.hettinger | 2008-03-05 22:04:32 +0100 (Wed, 05 Mar 2008) | 1 line Small code cleanup. ........ r61260 | martin.v.loewis | 2008-03-05 23:24:31 +0100 (Wed, 05 Mar 2008) | 2 lines cd PCbuild only after deleting all pyc files. ........ r61261 | raymond.hettinger | 2008-03-06 02:15:52 +0100 (Thu, 06 Mar 2008) | 1 line Add examples. ........ r61262 | andrew.kuchling | 2008-03-06 02:36:27 +0100 (Thu, 06 Mar 2008) | 1 line Add two items ........ r61263 | georg.brandl | 2008-03-06 07:47:18 +0100 (Thu, 06 Mar 2008) | 2 lines #1725737: ignore other VC directories other than CVS and SVN's too. ........ r61264 | martin.v.loewis | 2008-03-06 07:55:22 +0100 (Thu, 06 Mar 2008) | 4 lines Patch #2232: os.tmpfile might fail on Windows if the user has no permission to create files in the root directory. Will backport to 2.5. ........ r61269 | georg.brandl | 2008-03-06 08:19:15 +0100 (Thu, 06 Mar 2008) | 2 lines Expand on re.split behavior with captured expressions. ........ r61270 | georg.brandl | 2008-03-06 08:22:09 +0100 (Thu, 06 Mar 2008) | 2 lines Little clarification of assignments. ........ r61271 | georg.brandl | 2008-03-06 08:31:34 +0100 (Thu, 06 Mar 2008) | 2 lines Add isinstance/issubclass to tutorial. ........ r61272 | georg.brandl | 2008-03-06 08:34:52 +0100 (Thu, 06 Mar 2008) | 2 lines Add missing NEWS entry for r61263. ........ r61273 | georg.brandl | 2008-03-06 08:41:16 +0100 (Thu, 06 Mar 2008) | 2 lines #2225: return nonzero status code from py_compile if not all files could be compiled. ........ r61274 | georg.brandl | 2008-03-06 08:43:02 +0100 (Thu, 06 Mar 2008) | 2 lines #2220: handle matching failure more gracefully. ........ r61275 | georg.brandl | 2008-03-06 08:45:52 +0100 (Thu, 06 Mar 2008) | 2 lines Bug #2220: handle rlcompleter attribute match failure more gracefully. ........ r61278 | martin.v.loewis | 2008-03-06 14:49:47 +0100 (Thu, 06 Mar 2008) | 1 line Rely on x64 platform configuration when building _bsddb on AMD64. ........ r61279 | martin.v.loewis | 2008-03-06 14:50:28 +0100 (Thu, 06 Mar 2008) | 1 line Update db-4.4.20 build procedure. ........ r61285 | raymond.hettinger | 2008-03-06 21:52:01 +0100 (Thu, 06 Mar 2008) | 1 line More tests. ........ r61286 | raymond.hettinger | 2008-03-06 23:51:36 +0100 (Thu, 06 Mar 2008) | 1 line Issue 2246: itertools grouper object did not participate in GC (should be backported). ........ r61288 | raymond.hettinger | 2008-03-07 02:33:20 +0100 (Fri, 07 Mar 2008) | 1 line Tweak recipes and tests ........ r61289 | jeffrey.yasskin | 2008-03-07 07:22:15 +0100 (Fri, 07 Mar 2008) | 5 lines Progress on issue #1193577 by adding a polling .shutdown() method to SocketServers. The core of the patch was written by Pedro Werneck, but any bugs are mine. I've also rearranged the code for timeouts in order to avoid interfering with the shutdown poll. ........ r61290 | nick.coghlan | 2008-03-07 15:13:28 +0100 (Fri, 07 Mar 2008) | 1 line Speed up with statements by storing the __exit__ method on the stack instead of in a temp variable (bumps the magic number for pyc files) ........ r61298 | andrew.kuchling | 2008-03-07 22:09:23 +0100 (Fri, 07 Mar 2008) | 1 line Grammar fix ........ r61303 | georg.brandl | 2008-03-08 10:54:06 +0100 (Sat, 08 Mar 2008) | 2 lines #2253: fix continue vs. finally docs. ........ r61304 | marc-andre.lemburg | 2008-03-08 11:01:43 +0100 (Sat, 08 Mar 2008) | 3 lines Add new name for Mandrake: Mandriva. ........ r61305 | georg.brandl | 2008-03-08 11:05:24 +0100 (Sat, 08 Mar 2008) | 2 lines #1533486: fix types in refcount intro. ........ r61312 | facundo.batista | 2008-03-08 17:50:27 +0100 (Sat, 08 Mar 2008) | 5 lines Issue 1106316. post_mortem()'s parameter, traceback, is now optional: it defaults to the traceback of the exception that is currently being handled. ........ r61313 | jeffrey.yasskin | 2008-03-08 19:26:54 +0100 (Sat, 08 Mar 2008) | 2 lines Add tests for with and finally performance to pybench. ........ r61314 | jeffrey.yasskin | 2008-03-08 21:08:21 +0100 (Sat, 08 Mar 2008) | 2 lines Fix pybench for pythons < 2.6, tested back to 2.3. ........ r61317 | jeffrey.yasskin | 2008-03-08 22:35:15 +0100 (Sat, 08 Mar 2008) | 3 lines Well that was dumb. platform.python_implementation returns a function, not a string. ........ r61329 | georg.brandl | 2008-03-09 16:11:39 +0100 (Sun, 09 Mar 2008) | 2 lines #2249: document assertTrue and assertFalse. ........ r61332 | neal.norwitz | 2008-03-09 20:03:42 +0100 (Sun, 09 Mar 2008) | 4 lines Introduce a lock to fix a race condition which caused an exception in the test. Some buildbots were consistently failing (e.g., amd64). Also remove a couple of semi-colons. ........ r61344 | raymond.hettinger | 2008-03-11 01:19:07 +0100 (Tue, 11 Mar 2008) | 1 line Add recipe to docs. ........ r61350 | guido.van.rossum | 2008-03-11 22:18:06 +0100 (Tue, 11 Mar 2008) | 3 lines Fix the overflows in expandtabs(). "This time for sure!" (Exploit at request.) ........ r61351 | raymond.hettinger | 2008-03-11 22:37:46 +0100 (Tue, 11 Mar 2008) | 1 line Improve docs for itemgetter(). Show that it works with slices. ........ r61363 | georg.brandl | 2008-03-13 08:15:56 +0100 (Thu, 13 Mar 2008) | 2 lines #2265: fix example. ........ r61364 | georg.brandl | 2008-03-13 08:17:14 +0100 (Thu, 13 Mar 2008) | 2 lines #2270: fix typo. ........ r61365 | georg.brandl | 2008-03-13 08:21:41 +0100 (Thu, 13 Mar 2008) | 2 lines #1720705: add docs about import/threading interaction, wording by Nick. ........ r61366 | andrew.kuchling | 2008-03-13 12:07:35 +0100 (Thu, 13 Mar 2008) | 1 line Add class decorators ........ r61367 | raymond.hettinger | 2008-03-13 17:43:17 +0100 (Thu, 13 Mar 2008) | 1 line Add 2-to-3 support for the itertools moved to builtins or renamed. ........ r61368 | raymond.hettinger | 2008-03-13 17:43:59 +0100 (Thu, 13 Mar 2008) | 1 line Consistent tense. ........ r61369 | raymond.hettinger | 2008-03-13 20:03:51 +0100 (Thu, 13 Mar 2008) | 1 line Issue 2274: Add heapq.heappushpop(). ........ r61370 | raymond.hettinger | 2008-03-13 20:33:34 +0100 (Thu, 13 Mar 2008) | 1 line Simplify the nlargest() code using heappushpop(). ........ r61371 | brett.cannon | 2008-03-13 21:27:00 +0100 (Thu, 13 Mar 2008) | 4 lines Move test_thread over to unittest. Commits GHOP 237. Thanks Benjamin Peterson for the patch. ........ r61372 | brett.cannon | 2008-03-13 21:33:10 +0100 (Thu, 13 Mar 2008) | 4 lines Move test_tokenize to doctest. Done as GHOP 238 by Josip Dzolonga. ........ r61373 | brett.cannon | 2008-03-13 21:47:41 +0100 (Thu, 13 Mar 2008) | 4 lines Convert test_contains, test_crypt, and test_select to unittest. Patch from GHOP 294 by David Marek. ........ r61374 | brett.cannon | 2008-03-13 22:02:16 +0100 (Thu, 13 Mar 2008) | 4 lines Move test_gdbm to use unittest. Closes issue #1960. Thanks Giampaolo Rodola. ........ r61375 | brett.cannon | 2008-03-13 22:09:28 +0100 (Thu, 13 Mar 2008) | 4 lines Convert test_fcntl to unittest. Closes issue #2055. Thanks Giampaolo Rodola. ........ r61376 | raymond.hettinger | 2008-03-14 06:03:44 +0100 (Fri, 14 Mar 2008) | 1 line Leave heapreplace() unchanged. ........ r61378 | martin.v.loewis | 2008-03-14 14:56:09 +0100 (Fri, 14 Mar 2008) | 2 lines Patch #2284: add -x64 option to rt.bat. ........ r61379 | martin.v.loewis | 2008-03-14 14:57:59 +0100 (Fri, 14 Mar 2008) | 2 lines Use -x64 flag. ........ r61382 | brett.cannon | 2008-03-14 15:03:10 +0100 (Fri, 14 Mar 2008) | 2 lines Remove a bad test. ........ r61383 | mark.dickinson | 2008-03-14 15:23:37 +0100 (Fri, 14 Mar 2008) | 9 lines Issue 705836: Fix struct.pack(">f", 1e40) to behave consistently across platforms: it should now raise OverflowError on all platforms. (Previously it raised OverflowError only on non IEEE 754 platforms.) Also fix the (already existing) test for this behaviour so that it actually raises TestFailed instead of just referencing it. ........ r61387 | thomas.heller | 2008-03-14 22:06:21 +0100 (Fri, 14 Mar 2008) | 1 line Remove unneeded initializer. ........ r61388 | martin.v.loewis | 2008-03-14 22:19:28 +0100 (Fri, 14 Mar 2008) | 2 lines Run debug version, cd to PCbuild. ........ r61392 | georg.brandl | 2008-03-15 00:10:34 +0100 (Sat, 15 Mar 2008) | 2 lines Remove obsolete paragraph. #2288. ........ r61395 | georg.brandl | 2008-03-15 01:20:19 +0100 (Sat, 15 Mar 2008) | 2 lines Fix lots of broken links in the docs, found by Sphinx' external link checker. ........ r61396 | skip.montanaro | 2008-03-15 03:32:49 +0100 (Sat, 15 Mar 2008) | 1 line note that fork and forkpty raise OSError on failure ........ r61402 | skip.montanaro | 2008-03-15 17:04:45 +0100 (Sat, 15 Mar 2008) | 1 line add %f format to datetime - issue 1158 ........ r61403 | skip.montanaro | 2008-03-15 17:07:11 +0100 (Sat, 15 Mar 2008) | 2 lines . ........
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r--Doc/whatsnew/2.6.rst200
1 files changed, 180 insertions, 20 deletions
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index bba46c9..20f17c7 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -117,8 +117,12 @@ LaTeX to reStructured Text.
New Issue Tracker: Roundup
--------------------------------------------------
-XXX write this.
+XXX write this -- this section is currently just brief notes.
+The developers were growing increasingly annoyed by SourceForge's
+bug tracker. (Discuss problems in a sentence or two.)
+
+Hosting provided by XXX.
New Documentation Format: ReStructured Text
--------------------------------------------------
@@ -455,7 +459,46 @@ can now be used in scripts running from inside a package.
PEP 3101: Advanced String Formatting
=====================================================
-XXX write this
+XXX write this -- this section is currently just brief notes.
+
+8-bit and Unicode strings have a .format() method that takes the arguments
+to be formatted.
+
+.format() uses curly brackets ({, }) as special characters:
+
+ format("User ID: {0}", "root") -> "User ID: root"
+ format("Empty dict: {{}}") -> "Empty dict: {}"
+ 0.name
+ 0[name]
+
+Format specifiers:
+
+ 0:8 -> left-align, pad
+ 0:>8 -> right-align, pad
+
+Format data types::
+
+ ... take table from PEP 3101
+
+Classes and types can define a __format__ method to control how it's
+formatted. It receives a single argument, the format specifier::
+
+ def __format__(self, format_spec):
+ if isinstance(format_spec, unicode):
+ return unicode(str(self))
+ else:
+ return str(self)
+
+There's also a format() built-in that will format a single value. It calls
+the type's :meth:`__format__` method with the provided specifier::
+
+ >>> format(75.6564, '.2f')
+ '75.66'
+
+.. seealso::
+
+ :pep:`3101` - Advanced String Formatting
+ PEP written by Talin.
.. ======================================================================
@@ -509,12 +552,30 @@ work.
.. ======================================================================
+.. _pep-3112:
+
+PEP 3112: Byte Literals
+=====================================================
+
+Python 3.0 adopts Unicode as the language's fundamental string type, and
+denotes 8-bit literals differently, either as ``b'string'``
+or using a :class:`bytes` constructor. For future compatibility,
+Python 2.6 adds :class:`bytes` as a synonym for the :class:`str` type,
+and it also supports the ``b''`` notation.
+
+.. seealso::
+
+ :pep:`3112` - Bytes literals in Python 3000
+ PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes.
+
+.. ======================================================================
+
.. _pep-3119:
PEP 3119: Abstract Base Classes
=====================================================
-XXX
+XXX write this -- this section is currently just brief notes.
How to identify a file object?
@@ -558,16 +619,23 @@ an abstract method.
PEP 3127: Integer Literal Support and Syntax
=====================================================
-XXX write this
+XXX write this -- this section is currently just brief notes.
Python 3.0 changes the syntax for octal integer literals, and
adds supports for binary integers: 0o instad of 0,
and 0b for binary. Python 2.6 doesn't support this, but a bin()
-builtin was added, and
+builtin was added.
+
+XXX changes to the hex/oct builtins
New bin() built-in returns the binary form of a number.
+.. seealso::
+
+ :pep:`3127` - Integer Literal Support and Syntax
+ PEP written by Patrick Maupin.
+
.. ======================================================================
.. _pep-3129:
@@ -575,7 +643,30 @@ New bin() built-in returns the binary form of a number.
PEP 3129: Class Decorators
=====================================================
-XXX write this.
+XXX write this -- this section is currently just brief notes.
+
+Class decorators are analogous to function decorators. After defining a class,
+it's passed through the specified series of decorator functions
+and the ultimate return value is recorded as the class.
+
+::
+
+ class A:
+ pass
+ A = foo(bar(A))
+
+
+ @foo
+ @bar
+ class A:
+ pass
+
+XXX need to find a good motivating example.
+
+.. seealso::
+
+ :pep:`3129` - Class Decorators
+ PEP written by Collin Winter.
.. ======================================================================
@@ -631,11 +722,14 @@ one, :func:`math.trunc`, that's been backported to Python 2.6.
.. seealso::
+ :pep:`3141` - A Type Hierarchy for Numbers
+ PEP written by Jeffrey Yasskin.
+
XXX link: Discusses Scheme's numeric tower.
-The Fraction Module
+The :mod:`fractions` Module
--------------------------------------------------
To fill out the hierarchy of numeric types, a rational-number class
@@ -657,11 +751,27 @@ that will be the numerator and denominator of the resulting fraction. ::
>>> a/b
Fraction(5, 3)
+To help in converting floating-point numbers to rationals,
+the float type now has a :meth:`as_integer_ratio()` method that returns
+the numerator and denominator for a fraction that evaluates to the same
+floating-point value::
+
+ >>> (2.5) .as_integer_ratio()
+ (5, 2)
+ >>> (3.1415) .as_integer_ratio()
+ (7074029114692207L, 2251799813685248L)
+ >>> (1./3) .as_integer_ratio()
+ (6004799503160661L, 18014398509481984L)
+
+Note that values that can only be approximated by floating-point
+numbers, such as 1./3, are not simplified to the number being
+approximated; the fraction attempts to match the floating-point value
+**exactly**.
+
The :mod:`fractions` module is based upon an implementation by Sjoerd
Mullender that was in Python's :file:`Demo/classes/` directory for a
long time. This implementation was significantly updated by Jeffrey
-Yaskin.
-
+Yasskin.
Other Language Changes
======================
@@ -740,7 +850,7 @@ Here are all of the changes that Python 2.6 makes to the core Python language.
positive or negative infinity. This works on any platform with
IEEE 754 semantics. (Contributed by Christian Heimes.)
- .. Patch 1635.
+ .. Patch 1635
Other functions in the :mod:`math` module, :func:`isinf` and
:func:`isnan`, return true if their floating-point argument is
@@ -767,6 +877,12 @@ Here are all of the changes that Python 2.6 makes to the core Python language.
.. Patch #1537
+* Generator objects now have a :attr:`gi_code` attribute that refers to
+ the original code object backing the generator.
+ (Contributed by Collin Winter.)
+
+ .. Patch #1473257
+
* The :func:`compile` built-in function now accepts keyword arguments
as well as positional parameters. (Contributed by Thomas Wouters.)
@@ -816,7 +932,7 @@ Optimizations
(Original optimization implemented by Armin Rigo, updated for
Python 2.6 by Kevin Jacobs.)
- .. % Patch 1700288
+ .. Patch 1700288
* All of the functions in the :mod:`struct` module have been rewritten in
C, thanks to work at the Need For Speed sprint.
@@ -1041,7 +1157,7 @@ complete list of changes, or look through the CVS logs for all the details.
(2, 3, 1, 3), (2, 3, 1, 4), (2, 3, 2, 3), (2, 3, 2, 4),
(2, 4, 1, 3), (2, 4, 1, 4), (2, 4, 2, 3), (2, 4, 2, 4)]
- ``combinations(iter, r)`` returns combinations of length *r* from
+ ``combinations(iter, r)`` returns sub-sequences of length *r* from
the elements of *iterable*. ::
itertools.combinations('123', 2) ->
@@ -1054,8 +1170,18 @@ complete list of changes, or look through the CVS logs for all the details.
[('1', '2', '3'), ('1', '2', '4'), ('1', '3', '4'),
('2', '3', '4')]
+ ``permutations(iter[, r])`` returns all the permutations of length *r* of
+ the iterable's elements. If *r* is not specified, it will default to the
+ number of elements produced by the iterable.
+
+ itertools.permutations([1,2,3,4], 2) ->
+ [(1, 2), (1, 3), (1, 4),
+ (2, 1), (2, 3), (2, 4),
+ (3, 1), (3, 2), (3, 4),
+ (4, 1), (4, 2), (4, 3)]
+
``itertools.chain(*iterables)` is an existing function in
- :mod:`itertools` that gained a new constructor.
+ :mod:`itertools` that gained a new constructor in Python 2.6.
``itertools.chain.from_iterable(iterable)`` takes a single
iterable that should return other iterables. :func:`chain` will
then return all the elements of the first iterable, then
@@ -1066,6 +1192,13 @@ complete list of changes, or look through the CVS logs for all the details.
(All contributed by Raymond Hettinger.)
+* The :mod:`logging` module's :class:`FileHandler` class
+ and its subclasses :class:`WatchedFileHandler`, :class:`RotatingFileHandler`,
+ and :class:`TimedRotatingFileHandler` now
+ have an optional *delay* parameter to its constructor. If *delay*
+ is true, opening of the log file is deferred until the first
+ :meth:`emit` call is made. (Contributed by Vinay Sajip.)
+
* The :mod:`macfs` module has been removed. This in turn required the
:func:`macostools.touched` function to be removed because it depended on the
:mod:`macfs` module.
@@ -1171,6 +1304,13 @@ complete list of changes, or look through the CVS logs for all the details.
changed and :const:`UF_APPEND` to indicate that data can only be appended to the
file. (Contributed by M. Levinson.)
+ ``os.closerange(*low*, *high*)`` efficiently closes all file descriptors
+ from *low* to *high*, ignoring any errors and not including *high* itself.
+ This function is now used by the :mod:`subprocess` module to make starting
+ processes faster. (Contributed by Georg Brandl.)
+
+ .. Patch #1663329
+
* The :mod:`pyexpat` module's :class:`Parser` objects now allow setting
their :attr:`buffer_size` attribute to change the size of the buffer
used to hold character data.
@@ -1199,10 +1339,18 @@ complete list of changes, or look through the CVS logs for all the details.
long searches can now be interrupted.
(Contributed by Josh Hoyt and Ralf Schmitt.)
- .. % Patch 846388
+ .. Patch 846388
* The :mod:`rgbimg` module has been removed.
+* The :mod:`sched` module's :class:`scheduler` instances now
+ have a read-only :attr:`queue` attribute that returns the
+ contents of the scheduler's queue, represented as a list of
+ named tuples with the fields ``(time, priority, action, argument)``.
+ (Contributed by Raymond Hettinger XXX check.)
+
+ .. Patch 1861
+
* The :mod:`sets` module has been deprecated; it's better to
use the built-in :class:`set` and :class:`frozenset` types.
@@ -1223,9 +1371,9 @@ complete list of changes, or look through the CVS logs for all the details.
On receiving a signal, a byte will be written and the main event loop
will be woken up, without the need to poll.
- Contributed by Adam Olsen.
+ (Contributed by Adam Olsen.)
- .. % Patch 1583
+ .. Patch 1583
The :func:`siginterrupt` function is now available from Python code,
and allows changing whether signals can interrupt system calls or not.
@@ -1250,7 +1398,7 @@ complete list of changes, or look through the CVS logs for all the details.
* In the :mod:`smtplib` module, SMTP.starttls() now complies with :rfc:`3207`
and forgets any knowledge obtained from the server not obtained from
- the TLS negotiation itself. Patch contributed by Bill Fenner.
+ the TLS negotiation itself. (Patch contributed by Bill Fenner.)
.. Issue 829951
@@ -1267,6 +1415,10 @@ complete list of changes, or look through the CVS logs for all the details.
by Michael Pomraning.)
.. Patch #742598
+
+* The :mod:`struct` module now supports the C99 :ctype:`_Bool` type,
+ using the format character ``'?'``.
+ (Contributed by David Remahl.)
* A new variable in the :mod:`sys` module,
:attr:`float_info`, is an object
@@ -1297,6 +1449,12 @@ complete list of changes, or look through the CVS logs for all the details.
These attributes are all read-only.
(Contributed by Christian Heimes.)
+ It's now possible to determine the current profiler and tracer functions
+ by calling :func:`sys.getprofile` and :func:`sys.gettrace`.
+ (Contributed by Georg Brandl.)
+
+ .. Patch #1648
+
* The :mod:`tarfile` module now supports POSIX.1-2001 (pax) and
POSIX.1-1988 (ustar) format tarfiles, in addition to the GNU tar
format that was already supported. The default format
@@ -1547,11 +1705,13 @@ Changes to Python's build process and to the C API include:
.. Issue 1635
-* Some macros were renamed to make it clearer that they are macros,
+* Some macros were renamed in both 3.0 and 2.6 to make it clearer that
+ they are macros,
not functions. :cmacro:`Py_Size()` became :cmacro:`Py_SIZE()`,
:cmacro:`Py_Type()` became :cmacro:`Py_TYPE()`, and
- :cmacro:`Py_Refcnt()` became :cmacro:`Py_REFCNT()`. Macros for backward
- compatibility are still available for Python 2.6.
+ :cmacro:`Py_Refcnt()` became :cmacro:`Py_REFCNT()`.
+ The mixed-case macros are still available
+ in Python 2.6 for backward compatibility.
.. Issue 1629