diff options
author | Guido van Rossum <guido@python.org> | 2002-08-19 21:43:18 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2002-08-19 21:43:18 (GMT) |
commit | 45ec02aed14685c353e55841b5acbc0dadee76f8 (patch) | |
tree | 0c146fdf0d488f279f0baf64b0f1fa0484274a73 /Doc/lib | |
parent | d8dbf847b6a819ef73d7bf0c05eafbdb9aee9956 (diff) | |
download | cpython-45ec02aed14685c353e55841b5acbc0dadee76f8.zip cpython-45ec02aed14685c353e55841b5acbc0dadee76f8.tar.gz cpython-45ec02aed14685c353e55841b5acbc0dadee76f8.tar.bz2 |
SF patch 576101, by Oren Tirosh: alternative implementation of
interning. I modified Oren's patch significantly, but the basic idea
and most of the implementation is unchanged. Interned strings created
with PyString_InternInPlace() are now mortal, and you must keep a
reference to the resulting string around; use the new function
PyString_InternImmortal() to create immortal interned strings.
Diffstat (limited to 'Doc/lib')
-rw-r--r-- | Doc/lib/libfuncs.tex | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex index 1aa59dc..a6428da 100644 --- a/Doc/lib/libfuncs.tex +++ b/Doc/lib/libfuncs.tex @@ -518,8 +518,10 @@ def my_import(name): be done by a pointer compare instead of a string compare. Normally, the names used in Python programs are automatically interned, and the dictionaries used to hold module, class or instance attributes - have interned keys. Interned strings are immortal (never get - garbage collected). + have interned keys. \versionchanged[Interned strings are not + immortal (like they used to be in Python 2.2 and before); + you must keep a reference to the return value of \function{intern()} + around to benefit from it]{2.3} \end{funcdesc} \begin{funcdesc}{isinstance}{object, classinfo} |