Author grantjenks
Recipients cheryl.sabella, grantjenks, miss-islington, rhettinger, terry.reedy
Date 2019-01-03.00:11:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1546474311.26.0.0755739452816.issue34055@roundup.psfhosted.org>
In-reply-to
Content
This issue was closed but I still see the problem in 3.7.2. Here's a snippet with line numbers from IDLE:

01 Python 3.7.2 (default, Dec 30 2018, 08:59:00) 
02 [Clang 9.1.0 (clang-902.0.39.2)] on darwin
03 Type "help", "copyright", "credits" or "license()" for more information.
04 >>> 1 + 2
05 3
06 >>> print('Hello')
07 Hello
08 >>> d = {1: 'uno', 2: 'dos', 3: 'tres}
09 	 
10 SyntaxError: EOL while scanning string literal
11 >>> 1 + 2
12 	 
13 3
14 >>> 

Notice that IDLE is inserting an extra blank line at (12) above.

And here's a snippet with line numbers from the Python shell:

01 Python 3.7.2 (default, Dec 30 2018, 08:59:00) 
02 [Clang 9.1.0 (clang-902.0.39.2)] on darwin
03 Type "help", "copyright", "credits" or "license" for more information.
04 >>> 1 + 2
05 3
06 >>> print('Hello')
07 Hello
08 >>> d = {1: 'uno', 2: 'dos', 3: 'tres}
09   File "<stdin>", line 1
10     d = {1: 'uno', 2: 'dos', 3: 'tres}
11                                      ^
12 SyntaxError: EOL while scanning string literal
13 >>> 1 + 2
14 3
15 >>> 

Between lines (13) and (14) there is no extra blank line.

I'm sorry if my initial post was unclear. But the extra blank line is the bug I'm describing. I don't think there should be an extra blank line between (11) and (13) in the IDLE shell. This blank line persists for every input, even after restarts.

I'm on macOS.

I would be interested in debugging the issue locally but I ran into a couple issues trying to do so. When I check out the CPython sources and build the python.exe executable, I get this error when trying to execute IDLE:

$ ./python.exe -m pdb -m idlelib.idle
> /Users/grantj/repos/cpython/Lib/idlelib/idle.py(1)<module>()
-> import os.path
(Pdb) c
Traceback (most recent call last):
  File "/Users/grantj/repos/cpython/Lib/pdb.py", line 1695, in main
    pdb._runmodule(mainpyfile)
  File "/Users/grantj/repos/cpython/Lib/pdb.py", line 1540, in _runmodule
    self.run(code)
  File "/Users/grantj/repos/cpython/Lib/bdb.py", line 585, in run
    exec(cmd, globals, locals)
  File "/Users/grantj/repos/cpython/Lib/idlelib/idle.py", line 1, in <module>
    import os.path
  File "/Users/grantj/repos/cpython/Lib/idlelib/pyshell.py", line 1507, in main
    macosx.setupApp(root, flist)
  File "/Users/grantj/repos/cpython/Lib/idlelib/macosx.py", line 280, in setupApp
    overrideRootMenu(root, flist)
  File "/Users/grantj/repos/cpython/Lib/idlelib/macosx.py", line 181, in overrideRootMenu
    del mainmenu.menudefs[-2][1][0]
IndexError: list assignment index out of range

If I comment out line 181 in /Users/grantj/repos/cpython/Lib/idlelib/macosx.py then I can get IDLE to start. But it will later crash trying to display the first tooltip:

$ ./python.exe -m pdb -m idlelib.idle
> /Users/grantj/repos/cpython/Lib/idlelib/idle.py(1)<module>()
-> import os.path
(Pdb) c
2019-01-02 15:52:57.582 python.exe[23803:6374992] *** Assertion failure in -[_NSCGSWindow setFrame:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1561.60.100/CGS.subproj/NSCGSWindow.m:1002
2019-01-02 15:52:57.588 python.exe[23803:6374992] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: CGRectContainsRect(CGRectMake((CGFloat)INT_MIN, (CGFloat)INT_MIN, (CGFloat)INT_MAX - (CGFloat)INT_MIN, (CGFloat)INT_MAX - (CGFloat)INT_MIN), frame)'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff48fa923b __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fff7023ac76 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff48faefd2 +[NSException raise:format:arguments:] + 98
	3   Foundation                          0x00007fff4b0d9150 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 193
	4   AppKit                              0x00007fff465d6f50 -[_NSCGSWindow setFrame:] + 475
	5   AppKit                              0x00007fff4668eb07 _NSCreateWindowWithOpaqueShape2 + 248
	6   AppKit                              0x00007fff4668d763 -[NSWindow _commonAwake] + 1057
	7   AppKit                              0x00007fff46d9bbe7 -[NSWindow(NSWindow_Carbon) windowRefWithCompositedAttribute:andFrameworkScaledAttribute:] + 139
	8   Tk                                  0x00000001061f9ad5 XMapWindow + 239
	9   Tk                                  0x0000000106166dbf Tk_MapWindow + 89
	10  Tk                                  0x000000010616fcc5 MapFrame + 62
	11  Tcl                                 0x00000001060c05cd TclServiceIdle + 76
	12  Tcl                                 0x00000001060a4a96 Tcl_DoOneEvent + 329
	13  Tk                                  0x0000000106145f7d Tk_UpdateObjCmd + 172
	14  Tcl                                 0x000000010603ed6f TclEvalObjvInternal + 773
	15  Tcl                                 0x000000010603ff42 Tcl_EvalObjv + 66
	16  _tkinter.cpython-37dm-darwin.so     0x000000010601a865 Tkapp_Call + 901
	17  python.exe                          0x0000000104e27d14 _PyMethodDef_RawFastCallKeywords + 1476
	18  python.exe                          0x0000000104e34394 _PyMethodDescr_FastCallKeywords + 388
	19  python.exe                          0x0000000104ff89cf call_function + 1535
	20  python.exe                          0x0000000104ff0f15 _PyEval_EvalFrameDefault + 82021
	21  python.exe                          0x0000000104fdcea7 PyEval_EvalFrameEx + 87
	22  python.exe                          0x0000000104e26a29 function_code_fastcall + 377
	23  python.exe                          0x0000000104e25dbc _PyFunction_FastCallKeywords + 668
	24  python.exe                          0x0000000104ff8b5a call_function + 1930
	25  python.exe                          0x0000000104ff0f15 _PyEval_EvalFrameDefault + 82021
	26  python.exe                          0x0000000104fdcea7 PyEval_EvalFrameEx + 87

This was the case for both the master (e9a044ec16) and the 3.7 (d7cb2034bb) branch. Is there something extra I need to configure for a working build on macOSX?
History
Date User Action Args
2019-01-03 00:11:53grantjenkssetrecipients: + grantjenks, rhettinger, terry.reedy, cheryl.sabella, miss-islington
2019-01-03 00:11:51grantjenkssetmessageid: <1546474311.26.0.0755739452816.issue34055@roundup.psfhosted.org>
2019-01-03 00:11:51grantjenkslinkissue34055 messages
2019-01-03 00:11:50grantjenkscreate