This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients Dennis Sweeney, eric.snow, josh.r, kaniini, methane, python-dev, rhettinger, serhiy.storchaka, xiang.zhang, zach.ware
Date 2021-08-01.15:40:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1627832420.08.0.835487264324.issue27275@roundup.psfhosted.org>
In-reply-to
Content
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.
History
Date User Action Args
2021-08-01 15:40:20serhiy.storchakasetrecipients: + serhiy.storchaka, rhettinger, methane, python-dev, eric.snow, zach.ware, josh.r, xiang.zhang, kaniini, Dennis Sweeney
2021-08-01 15:40:20serhiy.storchakasetmessageid: <1627832420.08.0.835487264324.issue27275@roundup.psfhosted.org>
2021-08-01 15:40:20serhiy.storchakalinkissue27275 messages
2021-08-01 15:40:20serhiy.storchakacreate