[Python-checkins] cpython (3.2): Issue #14018: Update the OS X IDLE Tcl/Tk warning check to include

ned.deily python-checkins at python.org
Mon Jul 30 12:38:51 CEST 2012


http://hg.python.org/cpython/rev/17ddc0c34d9d
changeset:   78327:17ddc0c34d9d
branch:      3.2
parent:      78321:1d3155750808
user:        Ned Deily <nad at acm.org>
date:        Mon Jul 30 03:31:21 2012 -0700
summary:
  Issue #14018: Update the OS X IDLE Tcl/Tk warning check to include
the Apple-supplied Tck/Tk versions shipped with OS X 10.7 and 10.8.
They are not as buggy as the 10.6 version but can still easily crash.

files:
  Lib/idlelib/NEWS.txt         |   4 ++++
  Lib/idlelib/macosxSupport.py |  16 ++++++++++------
  2 files changed, 14 insertions(+), 6 deletions(-)


diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -18,6 +18,10 @@
 - Issue #14937: Perform auto-completion of filenames in strings even for
   non-ASCII filenames. Likewise for identifiers.
 
+- Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X
+  to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6.
+
+
 What's New in IDLE 3.2.3?
 =========================
 
diff --git a/Lib/idlelib/macosxSupport.py b/Lib/idlelib/macosxSupport.py
--- a/Lib/idlelib/macosxSupport.py
+++ b/Lib/idlelib/macosxSupport.py
@@ -37,17 +37,21 @@
 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.
+    be one known to cause problems with IDLE.
+    1. Apple Cocoa-based Tk 8.5.7 shipped with Mac OS X 10.6 is unusable.
+    2. Apple Cocoa-based Tk 8.5.9 in OS X 10.7 and 10.8 is better but
+        can still crash unexpectedly.
     """
 
     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"
+            ('AppKit' in root.tk.call('winfo', 'server', '.')) ):
+        patchlevel = root.tk.call('info', 'patchlevel')
+        if patchlevel not in ('8.5.7', '8.5.9'):
+            return False
+        return (r"WARNING: The version of Tcl/Tk ({0}) in use may"
                 r" be unstable.\n"
                 r"Visit http://www.python.org/download/mac/tcltk/"
-                r" for current information.")
+                r" for current information.".format(patchlevel))
     else:
         return False
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list