Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:

It was reverted because it did not keep the C version in harmony with the pure 
Python version. In the pure Python version pop() calls __getitem__ and 
__delitem__ which can be overridden in subclasses of OrederedDict. My patch 
always called dict.__getitem__ and dict.__delitem__.

But I see now clearer what is the problem with the current C code. It removes 
the key from the linked list before calling __delitem__ which itself removes 
the key from the linked list. Perhaps I can fix it correctly this time.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue27275>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to