_PyLong_Copy(): was creating a copy of the absolute value, but should
copy the sign too. Added a test to test_descr to ensure that it does.
Bugfix candidate.
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index e667efb..de9bba1 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1751,6 +1751,7 @@
# Check that negative clones don't segfault
a = longclone(-1)
vereq(a.__dict__, {})
+ vereq(long(a), -1) # verify PyNumber_Long() copies the sign bit
class precfloat(float):
__slots__ = ['prec']