[Python-Dev] Alternative implementation of interning
Skip Montanaro
skip@pobox.com
Wed, 14 Aug 2002 16:04:49 -0500
A couple minor nits from scanning the patch:
* Probably makes no difference, but it seems oddly asymmetric to fiddle with
the interned string's refcount in string_dealloc, call PyObject_DelItem,
then not restore the refcount to zero.
* Should be Py_DECREF(keys) (not Py_XDECREF(keys)) in
_Py_ReleaseInternedStrings. If you've gotten that far keys can't be
NULL. If you're worried about keys being NULL, you should check it before
the for loop (PyMapping_Size() will barf on a NULL arg).
Also, regarding the name of PyString_InternInPlace, I see now that's the
original name. I suggest that name be deprecated in favor of
PyString_InternImmortal with a macro defined in stringobject.h for
compatibility.
Skip