Commit 79665ffd authored by Ned Deily's avatar Ned Deily

Issue #15678: Fix menu customization for IDLE started from OS X

command lines.  It was broken as a side effect of the changes to
pythonw.c in b79d276041a8 for #15307.  Since sys.executable no
longer includes 'Python.app' in the path name, test for a
framework build instead.  This should give the previous behavior
in nearly all cases.  Whether the previous behavior is sensible
is left as an issue for later releases.  IDLE.app behavior was
not affected as it does its own manipulation of sys.executable.
parent 3ff4d705
......@@ -12,12 +12,22 @@ _appbundle = None
def runningAsOSXApp():
"""
Returns True if Python is running from within an app on OSX.
If so, assume that Python was built with Aqua Tcl/Tk rather than
X11 Tcl/Tk.
If so, the various OS X customizations will be triggered later (menu
fixup, et al). (Originally, this test was supposed to condition
behavior on whether IDLE was running under Aqua Tk rather than
under X11 Tk but that does not work since a framework build
could be linked with X11. For several releases, this test actually
differentiates between whether IDLE is running from a framework or
not. As a future enhancement, it should be considered whether there
should be a difference based on framework and any needed X11 adaptions
should be made dependent on a new function that actually tests for X11.)
"""
global _appbundle
if _appbundle is None:
_appbundle = (sys.platform == 'darwin' and '.app' in sys.executable)
_appbundle = sys.platform == 'darwin'
if _appbundle:
import sysconfig
_appbundle = bool(sysconfig.get_config_var('PYTHONFRAMEWORK'))
return _appbundle
_carbonaquatk = None
......
......@@ -29,6 +29,9 @@ Library
multiprocessing on Windows without the "if __name__ == '__main__'"
idiom.
- Issue #15678: Fix IDLE menus when started from OS X command line
(3.3.0b2 regression).
C API
-----
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment