[Python-checkins] r56589 - peps/trunk/pep-3100.txt

guido.van.rossum python-checkins at python.org
Fri Jul 27 21:21:32 CEST 2007


Author: guido.van.rossum
Date: Fri Jul 27 21:21:32 2007
New Revision: 56589

Modified:
   peps/trunk/pep-3100.txt
Log:
Various status updates.


Modified: peps/trunk/pep-3100.txt
==============================================================================
--- peps/trunk/pep-3100.txt	(original)
+++ peps/trunk/pep-3100.txt	Fri Jul 27 21:21:32 2007
@@ -69,16 +69,15 @@
 * Support only new-style classes; classic classes will be gone [1]_ [done]
 * Replace ``print`` by a function [14]_  [#pep3105]_ [done]
 * The ``softspace`` attribute of files goes away. [done]
-* Use ``except E1, E2, E3 as err:`` if you want the error variable. [3]_
-* ``None`` becomes a keyword [4]_ [done; also ``True`` and ``False``]
+* Use ``except E1, E2, E3 as err:`` if you want the error variable. [3]_ [done]
+* ``None`` becomes a keyword [4]_; also ``True`` and ``False`` [done]
 * ``...`` to become a general expression element [16]_ [done]
 * ``as`` becomes a keyword [5]_ (starting in 2.6 already) [done]
 * Have list comprehensions be syntactic sugar for passing an
   equivalent generator expression to ``list()``; as a consequence the
-  loop variable will no longer be exposed [#pep289]_
+  loop variable will no longer be exposed [#pep289]_ [done]
 * Comparisons other than ``==`` and ``!=`` between disparate types
   will raise an exception unless explicitly supported by the type [6]_ [done]
-* Exceptions might grow an attribute to store the traceback [11]_
 * floats will not be acceptable as arguments in place of ints for operations
   where floats are inadvertantly accepted (PyArg_ParseTuple() i & l formats)
 * Remove from ... import * at function scope.  This means that functions
@@ -86,8 +85,8 @@
 * Imports [#pep328]_
     + Imports will be absolute by default. [done]
     + Relative imports must be explicitly specified. [done]
-    + Indirection entires in sys.modules will not be supported.
-* __init__.py might become optional in sub-packages.  __init__.py will still
+    + Indirection entires in sys.modules will not be supported. (what's this???)
+* __init__.py might become optional in sub-packages?  __init__.py will still
   be required for top-level packages.
 * Cleanup the Py_InitModule() variants {,3,4} (also import and parser APIs)
 * Cleanup the APIs exported in pythonrun, etc.
@@ -95,8 +94,8 @@
 
   - List comprehensions will require parentheses around the iterables.
     This will make list comprehensions more similar to generator comprehensions.
-    [x for x in 1, 2] will need to be:  [x for x in (1, 2)]
-  - Lambdas may have to be parenthesized [#pep308]_
+    [x for x in 1, 2] will need to be:  [x for x in (1, 2)] [done]
+  - Lambdas may have to be parenthesized [#pep308]_ [NO]
 
 * __builtins__ should get a different name *or* completely unified
   with __builtin__.  Keeping both with confusingly similar spellings
@@ -122,7 +121,7 @@
 * ```x```: use ``repr(x)`` [2]_ [done]
 * The ``<>`` operator: use ``!=`` instead [3]_ [done]
 * The __mod__ and __divmod__ special methods on float. [21]_
-* Might drop unbound methods? [7]_
+* Might drop unbound methods? [7]_ [UNLIKELY]
 * METH_OLDARGS
 * WITH_CYCLE_GC [done]
 * __getslice__, __setslice__, __delslice__ [#sequence-types]_;
@@ -147,23 +146,22 @@
   literals with 'L' or 'l' suffix disappear [1]_ [done]
 * Make all strings be Unicode, and have a separate bytes() type [1]_
   The new string type will be called 'str'.
-  [halfway done, in py3k-struni branch]
+  [largely done, in py3k-struni branch]
 * Return iterable views instead of lists where appropriate for atomic
   type methods (e.g. ``dict.keys()``, ``dict.values()``,
   ``dict.items()``, etc.); iter* methods will be removed. [done]
 * Make ``string.join()`` stringify its arguments? [18]_
 * Fix open() so it returns a ValueError if the mode is bad rather than IOError.
-  (This probably affects lots of places, we should review the exceptions
-  and fix them if inappropriate.)
+  [done]
 
 To be removed:
 
 * ``basestring.find()`` and ``basestring.rfind()``; use ``basestring.index()``
   or ``basestring.[r]partition()`` or
-  or ``basestring.rindex()`` in a try/except block??? [13]_
+  or ``basestring.rindex()`` in a try/except block??? [13]_ [UNLIKELY]
 * ``file.xreadlines()`` method [#file-object]_ [done]
-* ``dict.setdefault()``? [15]_
-* ``dict.has_key()`` method [done]
+* ``dict.setdefault()``? [15]_ [UNLIKELY]
+* ``dict.has_key()`` method; use ``in`` operator [done]
 
 
 Built-in Namespace
@@ -171,8 +169,6 @@
 
 * Make built-ins return an iterator where appropriate (e.g. ``range()``,
   ``zip()``, ``map()``, ``filter()``, etc.) [done]
-* Relevant functions should consume iterators (e.g. ``min()``,
-  ``max()``) [They already do, since 2.2.]
 * Remove ``input()`` and rename ``raw_input()`` to ``input()``.
   If you need the old input(), use eval(input()). [done]
 * Introduce ``trunc()``, which would call the ``__trunc__()`` method on its
@@ -192,8 +188,8 @@
 * ``intern()``: put in ``sys`` [2]_, [22]_ [done]
 * ``reduce()``: write a loop instead [2]_, [9]_ [done]
 * ``xrange()``: use ``range()`` instead [1]_ [See range() above] [done]
-* ``StandardError``: this is a relic from the original exception hierachy; subclass
-  ``Exception`` instead. [done]
+* ``StandardError``: this is a relic from the original exception hierachy;
+   subclass ``Exception`` instead. [done]
 
 
 Standard library


More information about the Python-checkins mailing list