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 <rep...@bugs.python.org>
<http://bugs.python.org/issue21986>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to