Kaydet (Commit) ba8f5ff7 authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Copy builtin functions as atomic. Fixes #746304. Will backport to 2.2.

üst c1aa8dce
......@@ -120,6 +120,7 @@ except AttributeError:
d[types.TypeType] = _copy_atomic
d[types.XRangeType] = _copy_atomic
d[types.ClassType] = _copy_atomic
d[types.BuiltinFunctionType] = _copy_atomic
def _copy_list(x):
return x[:]
......@@ -233,6 +234,7 @@ except AttributeError:
d[types.TypeType] = _deepcopy_atomic
d[types.XRangeType] = _deepcopy_atomic
d[types.ClassType] = _deepcopy_atomic
d[types.BuiltinFunctionType] = _deepcopy_atomic
def _deepcopy_list(x, memo):
y = []
......
......@@ -84,7 +84,7 @@ class TestCopy(unittest.TestCase):
pass
tests = [None, 42, 2L**100, 3.14, True, False, 1j,
"hello", u"hello\u1234", f.func_code,
NewStyle, xrange(10), Classic]
NewStyle, xrange(10), Classic, max]
for x in tests:
self.assert_(copy.copy(x) is x, `x`)
......@@ -257,7 +257,7 @@ class TestCopy(unittest.TestCase):
pass
tests = [None, 42, 2L**100, 3.14, True, False, 1j,
"hello", u"hello\u1234", f.func_code,
NewStyle, xrange(10), Classic]
NewStyle, xrange(10), Classic, max]
for x in tests:
self.assert_(copy.deepcopy(x) is x, `x`)
......
......@@ -83,6 +83,7 @@ Library
- copy.py: applied SF patch 707900, fixing bug 702858, by Steven
Taschuk. Copying a new-style class that had a reference to itself
didn't work. (The same thing worked fine for old-style classes.)
Builtin functions are now treated as atomic, fixing bug #746304.
- difflib.py has two new functions: context_diff() and unified_diff().
......
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