Author terry.reedy
Recipients Kamushin.Shen, Zero, cben, kbk, rhettinger, roger.serwy, terry.reedy, westley.martinez
Date 2014-07-20.21:51:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1405893080.02.0.439239196747.issue7676@psf.upfronthosting.co.za>
In-reply-to
Content
To continue and expand some things I said in various messages above...

The reason Shell does not and indeed should not have a secondary line prompt is that in Shell, '>>> ' means 'Enter a statement:' rather than just a line. Being able to enter, edit, and recall complete statements rather than just lines is an important feature of Idle's Shell.

For proportional fonts, I suspect the tab stops are every 8 em quads. A em quad (named after M) is square, so it is as wide as the font is high.

In msg151418 I suggested that the solution is to not mix prompts with user input, as is done. I gave the narrow prompt window as fix 3. I suggested as fix 1 to put statement prompts and output indications on separate lines. Here is a mockup example.

>>>:
def f(x):
    if x:
        print('got it')
        return 'something'
>>>:
f(3)
---
got it
>>>:

(The 'blank line' signaling 'end of statement' is intentionally suppressed.) This should be easy to do and, to me, looks pretty decent. The hesitation I had before is the copy for paste problem, but if that is a custom function, it would not be hard to reformat. A minor problem is the output could include '>>>:\n' or '---\n', but today one can do

>>> print(">>> def fake():\n\treturn 'def'\n")
>>> def fake():
	return 'def'

>>>
History
Date User Action Args
2014-07-20 21:51:20terry.reedysetrecipients: + terry.reedy, rhettinger, kbk, cben, roger.serwy, Zero, westley.martinez, Kamushin.Shen
2014-07-20 21:51:20terry.reedysetmessageid: <1405893080.02.0.439239196747.issue7676@psf.upfronthosting.co.za>
2014-07-20 21:51:20terry.reedylinkissue7676 messages
2014-07-20 21:51:19terry.reedycreate