changeset: 105909:19376765d7c3 branch: 3.5 parent: 105906:1a25c639f81e user: Raymond Hettinger date: Sat Dec 31 12:01:59 2016 -0700 files: Lib/collections/__init__.py Misc/ACKS Misc/NEWS description: Issue #29119: Fix weakref in OrderedDict.move_to_end(). Work by Andra Bogildea. diff -r 1a25c639f81e -r 19376765d7c3 Lib/collections/__init__.py --- a/Lib/collections/__init__.py Sat Dec 31 20:08:16 2016 +0300 +++ b/Lib/collections/__init__.py Sat Dec 31 12:01:59 2016 -0700 @@ -189,6 +189,7 @@ link = self.__map[key] link_prev = link.prev link_next = link.next + soft_link = link_next.prev link_prev.next = link_next link_next.prev = link_prev root = self.__root @@ -196,12 +197,14 @@ last = root.prev link.prev = last link.next = root - last.next = root.prev = link + root.prev = soft_link + last.next = link else: first = root.next link.prev = root link.next = first - root.next = first.prev = link + first.prev = soft_link + root.next = link def __sizeof__(self): sizeof = _sys.getsizeof diff -r 1a25c639f81e -r 19376765d7c3 Misc/ACKS --- a/Misc/ACKS Sat Dec 31 20:08:16 2016 +0300 +++ b/Misc/ACKS Sat Dec 31 12:01:59 2016 -0700 @@ -156,6 +156,7 @@ Paul Boddie Matthew Boedicker Robin Boerdijk +Andra Bogildea David Bolen Wouter Bolsterlee Gawain Bolton diff -r 1a25c639f81e -r 19376765d7c3 Misc/NEWS --- a/Misc/NEWS Sat Dec 31 20:08:16 2016 +0300 +++ b/Misc/NEWS Sat Dec 31 12:01:59 2016 -0700 @@ -143,6 +143,10 @@ - Issue #13051: Fixed recursion errors in large or resized curses.textpad.Textbox. Based on patch by Tycho Andersen. +- Issue #29119: Fix weakrefs in the pure python version of + collections.OrderedDict move_to_end() method. + Contributed by Andra Bogildea. + - Issue #9770: curses.ascii predicates now work correctly with negative integers.