Terry J. Reedy added the comment:
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.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue21986>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com