#10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5,

rather than the currently problematic Apple-supplied one,
        when running with the 64-/32-bit installer variant.
This commit is contained in:
Ned Deily 2011-01-15 04:37:12 +00:00
parent c5982967fc
commit 4ce92b23fe
5 changed files with 77 additions and 26 deletions

View File

@ -1417,6 +1417,13 @@ def main():
shell.interp.prepend_syspath(script) shell.interp.prepend_syspath(script)
shell.interp.execfile(script) shell.interp.execfile(script)
# Check for problematic OS X Tk versions and print a warning message
# in the IDLE shell window; this is less intrusive than always opening
# a separate window.
tkversionwarning = macosxSupport.tkVersionWarning(root)
if tkversionwarning:
shell.interp.runcommand(''.join(("print('", tkversionwarning, "')")))
root.mainloop() root.mainloop()
root.destroy() root.destroy()

View File

@ -34,6 +34,23 @@ def isCarbonAquaTk(root):
'AppKit' not in root.tk.call('winfo', 'server', '.')) 'AppKit' not in root.tk.call('winfo', 'server', '.'))
return _carbonaquatk return _carbonaquatk
def tkVersionWarning(root):
"""
Returns a string warning message if the Tk version in use appears to
be one known to cause problems with IDLE. The Apple Cocoa-based Tk 8.5
that was shipped with Mac OS X 10.6.
"""
if (runningAsOSXApp() and
('AppKit' in root.tk.call('winfo', 'server', '.')) and
(root.tk.call('info', 'patchlevel') == '8.5.7') ):
return (r"WARNING: The version of Tcl/Tk (8.5.7) in use may"
r" be unstable.\n"
r"Visit http://www.python.org/download/mac/tcltk/"
r" for current information.")
else:
return False
def addOpenEventSupport(root, flist): def addOpenEventSupport(root, flist):
""" """
This ensures that the application will respont to open AppleEvents, which This ensures that the application will respont to open AppleEvents, which

View File

@ -1,29 +1,36 @@
This package will install Python $FULL_VERSION for Mac OS X This package will install Python $FULL_VERSION for Mac OS X
$MACOSX_DEPLOYMENT_TARGET for the following $MACOSX_DEPLOYMENT_TARGET for the following architecture(s):
architecture(s): $ARCHITECTURES. $ARCHITECTURES.
Separate installers are available for older versions Installation requires approximately $INSTALL_SIZE MB of disk space,
of Mac OS X, see the homepage, below. ignore the message that it will take zero bytes.
Installation requires approximately $INSTALL_SIZE MB of disk You must install onto your current boot disk, even though the
space, ignore the message that it will take zero bytes. installer does not enforce this, otherwise things will not work.
You must install onto your current boot disk, even Python consists of the Python programming language interpreter, plus
though the installer does not enforce this, otherwise a set of programs to allow easy access to it for Mac users including
things will not work. an integrated development environment, IDLE, plus a set of pre-built
extension modules that open up specific Macintosh technologies to
Python programs.
Python consists of the Python programming language **** IMPORTANT ****
interpreter, plus a set of programs to allow easy
access to it for Mac users including an integrated development
environment, IDLE, plus a set of pre-built extension modules
that open up specific Macintosh technologies to Python programs.
The installer puts the applications in "Python $VERSION" Before using IDLE or other programs using the tkinter graphical user
in your Applications folder, and the underlying machinery in interface toolkit, visit http://www.python.org/download/mac/tcltk/
$PYTHONFRAMEWORKINSTALLDIR. It can optionally place for current information about supported and recommended versions
links to the command-line tools in /usr/local as well, of Tcl/Tk for this version of Python and Mac OS X.
by default you have to add the "bin" directory inside
the framework to you shell's search path. *******************
The installer puts applications, an "Update Shell Profile" command,
and an Extras folder containing demo programs and tools into the
"Python $VERSION" subfolder of the system Applications folder,
and puts the underlying machinery into the folder
$PYTHONFRAMEWORKINSTALLDIR. It can
optionally place links to the command-line tools in /usr/local/bin as
well. Double-click on the "Update Shell Profile" command to add the
"bin" directory inside the framework to your shell's search path.
More information on Python in general can be found at More information on Python in general can be found at
http://www.python.org. http://www.python.org.

View File

@ -1,19 +1,35 @@
{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430 {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;} {\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww9920\viewh10660\viewkind0 \paperw11904\paperh16836\margl1440\margr1440\vieww9640\viewh10620\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\fs24 \cf0 This package will install \f0\fs24 \cf0 This package will install
\b MacPython $FULL_VERSION \b Python $FULL_VERSION
\b0 for \b0 for
\b Mac OS X $MACOSX_DEPLOYMENT_TARGET \b Mac OS X $MACOSX_DEPLOYMENT_TARGET
\b0 .\ \b0 .\
\ \
MacPython consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for Mac users including an integrated development environment \b IDLE\b0 plus a set of pre-built extension modules that open up specific Macintosh technologies to Python programs.\
\b Python for Mac OS X
\b0 consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for Mac OS X users including an integrated development environment
\b IDLE
\b0 and a set of pre-built extension modules that open up specific Macintosh technologies to Python programs.\
\ \
See the ReadMe file for more information.\ See the ReadMe file and the Python documentation for more information.\
\ \
\b NOTE: \b NOTE:
\b0 This package will by default not update your shell profile and will also not install files in /usr/local. Double-click \b Update Shell Profile\b0 at any time to make $FULL_VERSION the default Python.} \b0 This package will by default not update your shell profile and will also not install files in /usr/local. Double-click
\b Update Shell Profile
\b0 at any time to make $FULL_VERSION the default Python.\
\
\b IMPORTANT:
\b0
\b IDLE
\b0 and other programs using the
\b tkinter
\b0 graphical user interface toolkit require specific versions of the
\b Tcl/Tk
\b0 platform independent windowing toolkit. Visit {\field{\*\fldinst{HYPERLINK "http://www.python.org/download/mac/tcltk/"}}{\fldrslt http://www.python.org/download/mac/tcltk/}} for current information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.}

View File

@ -43,6 +43,10 @@ Core and Builtins
Library Library
------- -------
- Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5,
rather than the currently problematic Apple-supplied one, when running
with the 64-/32-bit installer variant.
- Issue #4953: cgi.FieldStorage and cgi.parse() parse the request as bytes, not - Issue #4953: cgi.FieldStorage and cgi.parse() parse the request as bytes, not
as unicode, and accept binary files. Add encoding and errors attributes to as unicode, and accept binary files. Add encoding and errors attributes to
cgi.FieldStorage. Patch written by Pierre Quentel (with many inputs by Glenn cgi.FieldStorage. Patch written by Pierre Quentel (with many inputs by Glenn