fixed buggy comment as per SF bug #827856

(same as commit of Sun Nov 2 to the release23-maint branch)
This commit is contained in:
Alex Martelli 2003-11-09 16:38:39 +00:00
parent c516b0e47c
commit 721b776175
1 changed files with 7 additions and 7 deletions

View File

@ -698,22 +698,22 @@ It takes a while to get used to the proper usage of reference counts.
Functions that create an object set the reference count to 1; such new Functions that create an object set the reference count to 1; such new
objects must be stored somewhere or destroyed again with Py_DECREF(). objects must be stored somewhere or destroyed again with Py_DECREF().
Functions that 'store' objects such as PyTuple_SetItem() and Some functions that 'store' objects, such as PyTuple_SetItem() and
PyDict_SetItemString() PyList_SetItem(),
don't increment the reference count of the object, since the most don't increment the reference count of the object, since the most
frequent use is to store a fresh object. Functions that 'retrieve' frequent use is to store a fresh object. Functions that 'retrieve'
objects such as PyTuple_GetItem() and PyDict_GetItemString() also objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also
don't increment don't increment
the reference count, since most frequently the object is only looked at the reference count, since most frequently the object is only looked at
quickly. Thus, to retrieve an object and store it again, the caller quickly. Thus, to retrieve an object and store it again, the caller
must call Py_INCREF() explicitly. must call Py_INCREF() explicitly.
NOTE: functions that 'consume' a reference count like NOTE: functions that 'consume' a reference count, like
PyList_SetItemString() even consume the reference if the object wasn't PyList_SetItem(), consume the reference even if the object wasn't
stored, to simplify error handling. successfully stored, to simplify error handling.
It seems attractive to make other functions that take an object as It seems attractive to make other functions that take an object as
argument consume a reference count; however this may quickly get argument consume a reference count; however, this may quickly get
confusing (even the current practice is already confusing). Consider confusing (even the current practice is already confusing). Consider
it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at
times. times.