mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
[Bug #780231] One of the changes described in the 2.3 "What's New" document
actually occurred in 2.2. Move the description to whatsnew22.tex. [Bugfix candidate -- I'll backport to 2.3 (another 2.2 bugfix seems unlikely)
This commit is contained in:
parent
9e78d1e1e5
commit
77ad829261
2 changed files with 27 additions and 27 deletions
|
|
@ -1226,6 +1226,33 @@ affect you very much.
|
|||
\cfunction{PyThreadState_Next()} allow looping over all the thread
|
||||
states for a given interpreter. (Contributed by David Beazley.)
|
||||
|
||||
\item The C-level interface to the garbage collector has been changed
|
||||
to make it easier to write extension types that support garbage
|
||||
collection and to debug misuses of the functions.
|
||||
Various functions have slightly different semantics, so a bunch of
|
||||
functions had to be renamed. Extensions that use the old API will
|
||||
still compile but will \emph{not} participate in garbage collection,
|
||||
so updating them for 2.2 should be considered fairly high priority.
|
||||
|
||||
To upgrade an extension module to the new API, perform the following
|
||||
steps:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item Rename \cfunction{Py_TPFLAGS_GC} to \cfunction{PyTPFLAGS_HAVE_GC}.
|
||||
|
||||
\item Use \cfunction{PyObject_GC_New} or \cfunction{PyObject_GC_NewVar} to
|
||||
allocate objects, and \cfunction{PyObject_GC_Del} to deallocate them.
|
||||
|
||||
\item Rename \cfunction{PyObject_GC_Init} to \cfunction{PyObject_GC_Track} and
|
||||
\cfunction{PyObject_GC_Fini} to \cfunction{PyObject_GC_UnTrack}.
|
||||
|
||||
\item Remove \cfunction{PyGC_HEAD_SIZE} from object size calculations.
|
||||
|
||||
\item Remove calls to \cfunction{PyObject_AS_GC} and \cfunction{PyObject_FROM_GC}.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\item A new \samp{et} format sequence was added to
|
||||
\cfunction{PyArg_ParseTuple}; \samp{et} takes both a parameter and
|
||||
an encoding name, and converts the parameter to the given encoding
|
||||
|
|
|
|||
|
|
@ -2136,33 +2136,6 @@ Changes to Python's build process and to the C API include:
|
|||
|
||||
\begin{itemize}
|
||||
|
||||
\item The C-level interface to the garbage collector has been changed
|
||||
to make it easier to write extension types that support garbage
|
||||
collection and to debug misuses of the functions.
|
||||
Various functions have slightly different semantics, so a bunch of
|
||||
functions had to be renamed. Extensions that use the old API will
|
||||
still compile but will \emph{not} participate in garbage collection,
|
||||
so updating them for 2.3 should be considered fairly high priority.
|
||||
|
||||
To upgrade an extension module to the new API, perform the following
|
||||
steps:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item Rename \cfunction{Py_TPFLAGS_GC} to \cfunction{PyTPFLAGS_HAVE_GC}.
|
||||
|
||||
\item Use \cfunction{PyObject_GC_New} or \cfunction{PyObject_GC_NewVar} to
|
||||
allocate objects, and \cfunction{PyObject_GC_Del} to deallocate them.
|
||||
|
||||
\item Rename \cfunction{PyObject_GC_Init} to \cfunction{PyObject_GC_Track} and
|
||||
\cfunction{PyObject_GC_Fini} to \cfunction{PyObject_GC_UnTrack}.
|
||||
|
||||
\item Remove \cfunction{PyGC_HEAD_SIZE} from object size calculations.
|
||||
|
||||
\item Remove calls to \cfunction{PyObject_AS_GC} and \cfunction{PyObject_FROM_GC}.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\item The cycle detection implementation used by the garbage collection
|
||||
has proven to be stable, so it's now been made mandatory. You can no
|
||||
longer compile Python without it, and the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue