From that file:
"In order for a class to define its own copy implementation, it can define
special methods __copy__() and __deepcopy__(). The former is called to
implement the shallow copy operation; no additional arguments are passed. The
latter is called to implement the deep copy operation; it is passed one
argument, the memo dictionary. If the __deepcopy__() implementation needs to
make a deep copy of a component, it should call the deepcopy() function with
the component as first argument and the memo dictionary as second argument."
I am certain that for extension classes one needs to implement both.
--
name: Martin Albrecht
_pgp:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www:
http://www.informatik.uni-bremen.de/~malb
_jab:
martinr...@jabber.ccc.de