This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients loewis, roger.serwy, terry.reedy
Date 2014-08-13.00:11:35
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1407888696.36.0.0998938624817.issue15335@psf.upfronthosting.co.za>
In-reply-to
Content
Since there is currently no '_RPCFile' in idlelib, I presume it was the predecessor of PyShell.PseudoFile.  Was it in run.py rather than PyShell.py?  Stepping through print (only 1 is needed) steps through the two 'if's and 'return' statements of PyShell.PseudoOutputFile.write.

I agree with Martin that this is not a bug. [step] is supposed to step into python-coded functions and skip over non-python functions and that is what it is doing. Whether *any* stdlib function is coded in python, or something else, or something else and wrapped in python, and therefore whether it will be stepped into or over, is a matter of implementation, version, and local setup. In particular, 'print' was changed from statement keyword to builtin name partly so it could be wrapped or replaced.

However, I agree that stepping through .write is not especially desirable and would not mind if the class were moved from PyShell.py to rpc.py.  I think it fits there better anyway.  

I wrote a 'rpc.py', not in idlelib, and tried to debug it. Debugger silently ran the whole module and quit, as if I had hit [run] with no breakpoints. This, I think, *is* a bug; in_rpc_code() should only skip over idlelib.rpc code.
History
Date User Action Args
2014-08-13 00:11:36terry.reedysetrecipients: + terry.reedy, loewis, roger.serwy
2014-08-13 00:11:36terry.reedysetmessageid: <1407888696.36.0.0998938624817.issue15335@psf.upfronthosting.co.za>
2014-08-13 00:11:36terry.reedylinkissue15335 messages
2014-08-13 00:11:35terry.reedycreate