Kaydet (Commit) 3ce5af70 authored tarafından Fred Drake's avatar Fred Drake

copy(): Make sure the copy of a derived class cannot share the data of the

original by replacing self.data temporarily, then using the update() method
on the new mapping object to populate it.
This closes SF bug #476616.
üst 9c2b5140
......@@ -19,7 +19,14 @@ class UserDict:
if self.__class__ is UserDict:
return UserDict(self.data)
import copy
return copy.copy(self)
data = self.data
try:
self.data = {}
c = copy.copy(self)
finally:
self.data = data
c.update(self)
return c
def keys(self): return self.data.keys()
def items(self): return self.data.items()
def iteritems(self): return self.data.iteritems()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment