summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2001-03-23 04:36:02 (GMT)
committerFred Drake <fdrake@acm.org>2001-03-23 04:36:02 (GMT)
commit5e0dfaccd10317e5baa0295e77add07712de2dd7 (patch)
tree966cdf7c04bed0d1b0df72db39fcbc65fd6311bb
parentb0fefc5121fb5637c3002e2aea993480d344deb7 (diff)
downloadcpython-5e0dfaccd10317e5baa0295e77add07712de2dd7.zip
cpython-5e0dfaccd10317e5baa0295e77add07712de2dd7.tar.gz
cpython-5e0dfaccd10317e5baa0295e77add07712de2dd7.tar.bz2
Update to the most recent weakref changes.
-rw-r--r--Doc/lib/libweakref.tex15
1 files changed, 4 insertions, 11 deletions
diff --git a/Doc/lib/libweakref.tex b/Doc/lib/libweakref.tex
index 97f624d..07e6a3b 100644
--- a/Doc/lib/libweakref.tex
+++ b/Doc/lib/libweakref.tex
@@ -16,17 +16,11 @@ The \module{weakref} module allows the Python programmer to create
XXX --- need to say more here!
Not all objects can be weakly referenced; those objects which do
-include class instances and dictionaries. Extension types can easily
+include class instances, functions written in Python (but not in C),
+and methods (both bound and unbound). Extension types can easily
be made to support weak references; see section \ref{weakref-extension},
``Weak References in Extension Types,'' for more information.
-\strong{Warning:}
-The desired semantics of weak-reference proxy objects are not
-completely clear; it is very difficult to create proxies which behave
-exactly like the type of the referent. The details of these objects
-are likely to change to some degree before the final release as
-experience reports become available.
-
\begin{funcdesc}{ref}{object\optional{, callback}}
Return a weak reference to \var{object}. If \var{callback} is
@@ -56,7 +50,6 @@ experience reports become available.
\var{object} is still alive, to references are equal if the objects
are equal (regardless of the \var{callback}). If the \var{object}
has been deleted, they are equal iff they are identical.
-
\end{funcdesc}
\begin{funcdesc}{mapping}{\optional{dict\optional{, weakkeys=0}}}
@@ -198,8 +191,8 @@ overhead on those objects which do not benefit by weak referencing
For an object to be weakly referencable, the extension must include a
\ctype{PyObject *} field in the instance structure for the use of the
-weak reference mechanism; it will be initialized by Python's functions
-for object creation. It must also set the \code{tp_weaklistoffset}
+weak reference mechanism; it must be initialized to \NULL{} by the
+object's constructor. It must also set the \member{tp_weaklistoffset}
field of the corresponding type object to the offset of the field.
For example, the instance type is defined with the following structure: