summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2008-06-20 23:43:12 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2008-06-20 23:43:12 (GMT)
commit6ba873c13494e73c483ab11acc20ec4787989865 (patch)
treefc0d1812aeea9e077b09b7992c3f879f5310acbe /Doc/whatsnew
parentf839b66cf51c96d3a260c4f49a57859cdf1b5c12 (diff)
downloadcpython-6ba873c13494e73c483ab11acc20ec4787989865.zip
cpython-6ba873c13494e73c483ab11acc20ec4787989865.tar.gz
cpython-6ba873c13494e73c483ab11acc20ec4787989865.tar.bz2
Various items
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r--Doc/whatsnew/2.6.rst53
1 files changed, 48 insertions, 5 deletions
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 120de3b..725da97 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -762,7 +762,7 @@ work.
PEP 3112: Byte Literals
=====================================================
-Python 3.0 adopts Unicode as the language's fundamental string type, and
+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,
@@ -780,7 +780,38 @@ can be used to include Unicode characters::
print len(s) # 12 Unicode characters
-
+At the C level, Python 3.0 will rename the existing 8-bit
+string type, called :ctype:`PyStringObject` in Python 2.x,
+to :ctype:`PyBytesObject`. Python 2.6 uses ``#define``
+to support using the names :cfunc:`PyBytesObject`,
+:cfunc:`PyBytes_Check`, :cfunc:`PyBytes_FromStringAndSize`,
+and all the other functions and macros used with strings.
+
+Instances of the :class:`bytes` type are immutable just
+as strings are. A new :class:`bytearray` type stores a mutable
+sequence of bytes::
+
+ >>> bytearray([65, 66, 67])
+ bytearray(b'ABC')
+ >>> b = bytearray(u'\u21ef\u3244', 'utf-8')
+ >>> b
+ bytearray(b'\xe2\x87\xaf \xe3\x89\x84')
+ >>> b[0] = '\xe3'
+ >>> b
+ bytearray(b'\xe3\x87\xaf \xe3\x89\x84')
+ >>> unicode(str(b), 'utf-8')
+ u'\u31ef \u3244'
+
+Byte arrays support most of the methods of string types, such as
+:meth:`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`,
+and some of the methods of lists, such as :meth:`append`,
+:meth:`pop`, and :meth:`reverse`.
+
+ >>> b = bytearray('ABC')
+ >>> b.append('d')
+ >>> b.append(ord('e'))
+ >>> b
+ bytearray(b'ABCde')
.. seealso::
@@ -1252,6 +1283,14 @@ Other Language Changes
Here are all of the changes that Python 2.6 makes to the core Python language.
+* The :func:`hasattr` function was catching and ignoring all errors,
+ under the assumption that they meant a :meth:`__getattr__` method has
+ failing somewhere and the return value of :func:`hasattr` would therefore
+ be ``False``. This logic shouldn't be applied to
+ :exc:`KeyboardInterrupt` and :exc:`SystemExit`, however; Python 2.6 will
+ no longer discard such exceptions when :func:`hasattr` encounters them.
+ (Fixed by Benjamin Peterson; :issue:`2196`.)
+
* When calling a function using the ``**`` syntax to provide keyword
arguments, you are no longer required to use a Python dictionary;
any mapping will now work::
@@ -2058,11 +2097,15 @@ details.
* Long regular expression searches carried out by the :mod:`re`
module will now check for signals being delivered, so especially
- long searches can now be interrupted.
+ time-consuming searches can now be interrupted.
(Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)
* The :mod:`rgbimg` module has been removed.
+* The :mod:`rlcompleter` module's :meth:`Completer.complete()` method
+ will now ignore exceptions triggered while evaluating a name.
+ (Fixed by Lorenz Quack; :issue:`2250`.)
+
* 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
@@ -2297,7 +2340,7 @@ details.
* The :mod:`Tkinter` module now accepts lists and tuples for options,
separating the elements by spaces before passing the resulting value to
Tcl/Tk.
- (Contributed by XXX; :issue:`2906`.)
+ (Contributed by Guilherme Polo; :issue:`2906`.)
* The :mod:`turtle` module for turtle graphics was greatly enhanced by
Gregor Lingl. New features in the module include:
@@ -2720,7 +2763,7 @@ Port-Specific Changes: Windows
* The :mod:`msilib` module's :class:`Record` object
gained :meth:`GetInteger` and :meth:`GetString` methods that
return field values as an integer or a string.
- (Contributed by XXX; :issue:`2125`.)
+ (Contributed by Floris Bruynooghe; :issue:`2125`.)
* The new default compiler on Windows is Visual Studio 2008 (VS 9.0). The
build directories for Visual Studio 2003 (VS7.1) and 2005 (VS8.0)