[Python-checkins] r88243 - in python/branches/release27-maint: Lib/idlelib/PyShell.py Lib/idlelib/macosxSupport.py Mac/BuildScript/resources/ReadMe.txt Mac/BuildScript/resources/Welcome.rtf Misc/NEWS

ned.deily python-checkins at python.org
Sun Jan 30 01:18:47 CET 2011


Author: ned.deily
Date: Sun Jan 30 01:18:47 2011
New Revision: 88243

Log:
Merged revisions 88003 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88003 | ned.deily | 2011-01-14 20:37:12 -0800 (Fri, 14 Jan 2011) | 5 lines
  
  #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.
........


Modified:
   python/branches/release27-maint/   (props changed)
   python/branches/release27-maint/Lib/idlelib/PyShell.py
   python/branches/release27-maint/Lib/idlelib/macosxSupport.py
   python/branches/release27-maint/Mac/BuildScript/resources/ReadMe.txt
   python/branches/release27-maint/Mac/BuildScript/resources/Welcome.rtf
   python/branches/release27-maint/Misc/NEWS

Modified: python/branches/release27-maint/Lib/idlelib/PyShell.py
==============================================================================
--- python/branches/release27-maint/Lib/idlelib/PyShell.py	(original)
+++ python/branches/release27-maint/Lib/idlelib/PyShell.py	Sun Jan 30 01:18:47 2011
@@ -1432,6 +1432,13 @@
             shell.interp.prepend_syspath(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.destroy()
 

Modified: python/branches/release27-maint/Lib/idlelib/macosxSupport.py
==============================================================================
--- python/branches/release27-maint/Lib/idlelib/macosxSupport.py	(original)
+++ python/branches/release27-maint/Lib/idlelib/macosxSupport.py	Sun Jan 30 01:18:47 2011
@@ -34,6 +34,23 @@
                          'AppKit' not in root.tk.call('winfo', 'server', '.'))
     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):
     """
     This ensures that the application will respont to open AppleEvents, which

Modified: python/branches/release27-maint/Mac/BuildScript/resources/ReadMe.txt
==============================================================================
--- python/branches/release27-maint/Mac/BuildScript/resources/ReadMe.txt	(original)
+++ python/branches/release27-maint/Mac/BuildScript/resources/ReadMe.txt	Sun Jan 30 01:18:47 2011
@@ -1,27 +1,36 @@
 This package will install Python $FULL_VERSION for Mac OS X
-$MACOSX_DEPLOYMENT_TARGET for the following 
-architecture(s): $ARCHITECTURES.
+$MACOSX_DEPLOYMENT_TARGET for the following architecture(s):
+$ARCHITECTURES.
 
-Separate installers are available for older versions
-of Mac OS X, see the homepage, below.
+Installation requires approximately $INSTALL_SIZE MB of disk space,
+ignore the message that it will take zero bytes.
 
-Installation requires approximately $INSTALL_SIZE MB of disk
-space, ignore the message that it will take zero bytes.
+You must install onto your current boot disk, even though the
+installer does not enforce this, otherwise things will not work.
 
-You must install onto your current boot disk, even
-though the installer does not enforce this, otherwise
-things will not work.
-
-Python 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, 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" 
-in your Applications folder, command-line tools in
-/usr/local/bin and the underlying machinery in
-$PYTHONFRAMEWORKINSTALLDIR.
+Python 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, IDLE, plus a set of pre-built
+extension modules that open up specific Macintosh technologies to
+Python programs.
+
+                    **** IMPORTANT ****
+                    
+Before using IDLE or other programs using the tkinter graphical user
+interface toolkit, visit http://www.python.org/download/mac/tcltk/
+for current information about supported and recommended versions
+of Tcl/Tk for this version of Python and Mac OS X.
+
+                    *******************
+
+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
 http://www.python.org.

Modified: python/branches/release27-maint/Mac/BuildScript/resources/Welcome.rtf
==============================================================================
--- python/branches/release27-maint/Mac/BuildScript/resources/Welcome.rtf	(original)
+++ python/branches/release27-maint/Mac/BuildScript/resources/Welcome.rtf	Sun Jan 30 01:18:47 2011
@@ -1,18 +1,29 @@
-{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
-{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;}
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
 {\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
 
 \f0\fs24 \cf0 This package will install 
-\f1\b Python $FULL_VERSION
-\f0\b0  for 
-\f1\b Mac OS X $MACOSX_DEPLOYMENT_TARGET
-\f0\b0 .\
+\b Python $FULL_VERSION
+\b0  for 
+\b Mac OS X $MACOSX_DEPLOYMENT_TARGET
+\b0 .\
 \
-Python 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.\
-\
-See the ReadMe file for more information.\
+
+\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 and the Python documentation for more information.\
 \
-This package will by default update your shell profile to ensure that this version of Python is on the search path of your shell. Please deselect the "Shell profile updater" package on the package customization screen if you want to avoid this modification.  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.}
\ No newline at end of file

Modified: python/branches/release27-maint/Misc/NEWS
==============================================================================
--- python/branches/release27-maint/Misc/NEWS	(original)
+++ python/branches/release27-maint/Misc/NEWS	Sun Jan 30 01:18:47 2011
@@ -37,6 +37,10 @@
 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 #11052: Correct IDLE menu accelerators on Mac OS X for Save
   commands.
 


More information about the Python-checkins mailing list