On 3/5/07, Ka-Ping Yee <[EMAIL PROTECTED]> wrote:
[snip]
> Transition Plan
> ===============
>
> Two additional transformations will be added to the 2to3 translation
> tool [2]_:
>
> *   Method definitions named ``next`` will be renamed to ``__next__``.
>
> *   Explicit calls to the ``next`` method will be replaced with calls
>     to the built-in ``next`` function.  For example, ``x.next()`` will
>     become ``next(x)``.
>
> If the module being processed already contains a top-level function
> definition named ``next``, the second transformation will not be done;
> instead, calls to ``x.next()`` will be replaced with ``x.__next__()``
> and a warning will be emitted.

The basic transformations for this are (relatively) easy to implement.
Basing the second transformation on the absence of a top-level
function definition (don't forget assignments and imports!) for
"next", though, is going to require some surgery to 2to3's internals.
I'll see what I can do.

Collin Winter
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to