Bugs item #1101399, was opened at 2005-01-12 23:37 Message generated for change (Comment added) made by tim_one You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1101399&group_id=5470
Category: Python Library Group: None Status: Open Resolution: None Priority: 5 Submitted By: Neil Schemenauer (nascheme) >Assigned to: Jim Fulton (dcjim) Summary: dict subclass breaks cPickle noload() Initial Comment: The attached script displays the bug. ---------------------------------------------------------------------- >Comment By: Tim Peters (tim_one) Date: 2005-01-13 13:28 Message: Logged In: YES user_id=31435 Oh. fudge. I'd like to say that since noload() is wholly undocumented, tough luck <wink>. The GLOBAL and NEWOBJ opcodes just stick None on the stack in noload()-mode. That's why the test script yields TypeError: object does not support item assignment (SETITEM is griping about the None noload()'s NEWOBJ left behind). I agree your patch fixes that, and offhand can't think of a more principled approach. Assigning to Jim in case he can. In any case, please put the marker() call on a different line and check its return value. I know some other code in cPickle takes the shortcut you're using, but it's not a good idea to grow more code like that (it changes what would have been a clear ""could not find MARK" error into a more mysterious "unpickling stack underflow" error). It would be good to get this fixed in 2.3.5 too. ---------------------------------------------------------------------- Comment By: Neil Schemenauer (nascheme) Date: 2005-01-12 23:54 Message: Logged In: YES user_id=35752 Attached is a patch that seems to fix the problem. Someone please review it. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1101399&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com