Message228906
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 rpc.py 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:36 | terry.reedy | set | recipients:
+ terry.reedy, loewis, kbk, pitrou, roger.serwy, Claudiu.Popa, serhiy.storchaka, ppperry |
2014-10-09 20:23:36 | terry.reedy | set | messageid: <1412886216.48.0.348857285611.issue21986@psf.upfronthosting.co.za> |
2014-10-09 20:23:36 | terry.reedy | link | issue21986 messages |
2014-10-09 20:23:36 | terry.reedy | create | |
|