[Python-Dev] Rationale behind removing kwdict from keyword.py?

Fernando Perez fperez528 at yahoo.com
Wed Jul 28 03:27:35 CEST 2004

Hi all,

I recently got a report from a user of a project of mine breaking under 2.4a1. 
The reason is that keyword stopped having a kwdict variable in it.  Is there
any rationale behind this change?  I know I can always work around it, but
this honestly feels, to me, like gratuitous breakage.

It would be nice if things like public members (it wasn't called _kwdict, so I
had no reason to assume it was off-limits) of modules in the standard library
were kept stably across releases unless there is a good reason to break
compatibility.  While the html docs for keyword don't mention kwdict, I often
simply use help(module) to look for what I need, and I saw kwdict happily
listed there, without any leading _ to indicate any sense of it being private.

The changes were made, according to viewCVS, in revision 1.13.  I know I can
use iskeyword() for my purposes, and patch accordingly.  But I'd like to
remind the core developers that when things go into the stdlib, people start
using them.  Removing stuff will _always_ break code.

I'll gladly file a SF bug report against this, but I'd like not to waste
anyone's time if it won't be considered.

Thanks to all.


Fernando Perez.

More information about the Python-Dev mailing list