From: Antoine Pitrou Date: Sat, 8 Dec 2012 20:18:50 +0000 (+0100) Subject: Issue #16602: When a weakref's target was part of a long deallocation chain, the... X-Git-Tag: v3.4.0a1~1888 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=53f604c79458861553d0ea00db44074b7c4d4333;p=python Issue #16602: When a weakref's target was part of a long deallocation chain, the object could remain reachable through its weakref even though its refcount had dropped to zero. Thanks to Eugene Toder for diagnosing and reporting the issue. --- 53f604c79458861553d0ea00db44074b7c4d4333 diff --cc Misc/NEWS index 7dab2cd03a,b26d20b54d..cc4f9929ed --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -10,19 -12,15 +10,23 @@@ What's New in Python 3.4.0 Alpha 1 Core and Builtins ----------------- + - Issue #16602: When a weakref's target was part of a long deallocation + chain, the object could remain reachable through its weakref even though + its refcount had dropped to zero. + -- Issue #16416: On Mac OS X, operating system data are now always - encoded/decoded to/from UTF-8/surrogateescape, instead of the locale encoding - (which may be ASCII if no locale environment variable is set), to avoid - inconsistencies with os.fsencode() and os.fsdecode() functions which are - already using UTF-8/surrogateescape. +- Issue #16495: Remove extraneous NULL encoding check from bytes_decode(). + +- Issue #16619: Create NameConstant AST class to represent None, True, and False + literals. As a result, these constants are never loaded at runtime from + builtins. + +- Issue #16455: On FreeBSD and Solaris, if the locale is C, the + ASCII/surrogateescape codec is now used, instead of the locale encoding, to + decode the command line arguments. This change fixes inconsistencies with + os.fsencode() and os.fsdecode() because these operating systems announces an + ASCII locale encoding, whereas the ISO-8859-1 encoding is used in practice. + +- Issue #16562: Optimize dict equality testing. Patch by Serhiy Storchaka. - Issue #16588: Silence unused-but-set warnings in Python/thread_pthread