Browse Source

Issue #29119: Fix weakref in OrderedDict.move_to_end(). Work by Andra Bogildea.

pull/40/head
Raymond Hettinger 10 years ago
parent
commit
b46ea90343
  1. 7
      Lib/collections/__init__.py
  2. 1
      Misc/ACKS
  3. 4
      Misc/NEWS

7
Lib/collections/__init__.py

@ -189,6 +189,7 @@ class OrderedDict(dict):
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 @@ class OrderedDict(dict):
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

1
Misc/ACKS

@ -156,6 +156,7 @@ Finn Bock
Paul Boddie
Matthew Boedicker
Robin Boerdijk
Andra Bogildea
David Bolen
Wouter Bolsterlee
Gawain Bolton

4
Misc/NEWS

@ -143,6 +143,10 @@ Library
- 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.

Loading…
Cancel
Save