[Python-Dev] nonlocal keyword in 2.x?

"Martin v. Löwis" martin at v.loewis.de
Fri Oct 23 10:15:21 CEST 2009

> Others have explained the rationale for the backport, so I won't bother
> repeating those arguments.
> I understand your point about code supporting 2.6, but as you say, that
> applies to any new features being added in 2.7.  I'm therefore confused
> as to what the rationale for a 2.7 release is.  It's a bump in minor
> release number, so it's purpose is to add new features, correct?

That, but not only - it's purpose is also to allow for certain
incompatible changes, and to arrive at a version that will be maintained
until 2015 (wrt. security fixes).

> Could someone please explain what new features are currently envisioned
> for 2.7?

Read through Misc/NEWS for details of what has been added already.

> Why would those make the cut but a not backport of nonlocal?

Just to name a few changes:
- Issue #1655: Make imaplib IPv6-capable. Patch by Derek Morr.
- Issue #4915: Port sysmodule to Windows CE.
- Issue #6101: A new opcode, SETUP_WITH, has been added to speed up the
  with statement and correctly lookup the __enter__ and __exit__
  special methods.
- Issue #1616979: Added the cp720 (Arabic DOS) encoding.

In all of these cases, in order to use the new feature, no change to
Python code will be necessary: the feature just becomes available

This is the kind of new features I like to see in 2.7.
The other kind (i.e. features that do require application changes
in order to use them) I find questionable.


More information about the Python-Dev mailing list