Author terry.reedy
Recipients Claudiu.Popa, kbk, loewis, pitrou, ppperry, roger.serwy, serhiy.storchaka, terry.reedy
Date 2014-10-09.20:23:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Here are the issues for me.

1. Except for your interest, this is a lower priority for me that most all of the other 125 Idle issues.

2. I am not familiar with pickling and wonder about the following in the patch. It deletes a statememt
    copyreg.pickle(types.CodeType, pickle_code, unpickle_code)
that registers two functions.  But the new code only registers pickle_code.  Will
     message = pickle.loads(packet)
then work?  Maybe, since pickle_code has this.
     return unpickle_code, (ms,)
Is this normal?  Is registring unpickle_code not needed?  Would it make any sense to wrap code objects in a CodePickler class with __getstate__ and __setstate__ methods?

3. The interprocess communication implemented in is central to Idle's execution of user code.  So I would want to be confident that a patch does not break it.  What I would like is a test script (executed by hand is ok) that works now, fails with the deletion of the copyreg statement, and works again with the rest of the patch.

4. I have no idea if or from where a code object is sent.  One way to search would be to grep idlelib for rpc calls.  Another would be to add a print statement to pickle_code, start Idle from the console with 'python -m idlelib', and run through all the menu options that involve the user process while watching the console for messages.

So you could try one of the searches methods to find a test.  Or you can wait for someone who currently understands pickle well enough to review and apply the patches without a test.
Date User Action Args
2014-10-09 20:23:36terry.reedysetrecipients: + terry.reedy, loewis, kbk, pitrou, roger.serwy, Claudiu.Popa, serhiy.storchaka, ppperry
2014-10-09 20:23:36terry.reedysetmessageid: <>
2014-10-09 20:23:36terry.reedylinkissue21986 messages
2014-10-09 20:23:36terry.reedycreate