[Python-checkins] cpython (merge 3.6 -> default): Issue #27025: Generated names for Tkinter widgets now start by the "!" prefix

serhiy.storchaka python-checkins at python.org
Tue Oct 25 02:47:02 EDT 2016


https://hg.python.org/cpython/rev/505949cb2692
changeset:   104689:505949cb2692
parent:      104687:8d571fab4d66
parent:      104688:603ac788ed27
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Tue Oct 25 09:46:46 2016 +0300
summary:
  Issue #27025: Generated names for Tkinter widgets now start by the "!" prefix
for readability (was "`").

files:
  Lib/tkinter/__init__.py |    4 +-
  Misc/NEWS               |  156 ++++++++++++++-------------
  2 files changed, 83 insertions(+), 77 deletions(-)


diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
--- a/Lib/tkinter/__init__.py
+++ b/Lib/tkinter/__init__.py
@@ -2261,9 +2261,9 @@
             count = master._last_child_ids.get(name, 0) + 1
             master._last_child_ids[name] = count
             if count == 1:
-                name = '`%s' % (name,)
+                name = '!%s' % (name,)
             else:
-                name = '`%s%d' % (name, count)
+                name = '!%s%d' % (name, count)
         self._name = name
         if master._w=='.':
             self._w = '.' + name
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,6 +19,84 @@
 - Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception
   loss in PyTraceBack_Here().
 
+- Issue #28183: Optimize and cleanup dict iteration.
+
+- Issue #26081: Added C implementation of asyncio.Future.
+  Original patch by Yury Selivanov.
+
+- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
+  Patch by Xiang Zhang.
+
+- Issue #28376: The type of long range iterator is now registered as Iterator.
+  Patch by Oren Milman.
+
+- Issue #28376: Creating instances of range_iterator by calling range_iterator
+  type now is disallowed.  Calling iter() on range instance is the only way.
+  Patch by Oren Milman.
+
+- Issue #26906: Resolving special methods of uninitialized type now causes
+  implicit initialization of the type instead of a fail.
+
+- Issue #18287: PyType_Ready() now checks that tp_name is not NULL.
+  Original patch by Niklas Koep.
+
+- Issue #24098: Fixed possible crash when AST is changed in process of
+  compiling it.
+
+- Issue #28201: Dict reduces possibility of 2nd conflict in hash table when
+  hashes have same lower bits.
+
+- Issue #28350: String constants with null character no longer interned.
+
+- Issue #26617: Fix crash when GC runs during weakref callbacks.
+
+- Issue #27942: String constants now interned recursively in tuples and frozensets.
+
+- Issue #28289: ImportError.__init__ now resets not specified attributes.
+
+- Issue #21578: Fixed misleading error message when ImportError called with
+  invalid keyword args.
+
+- Issue #28203: Fix incorrect type in complex(1.0, {2:3}) error message.
+  Patch by Soumya Sharma.
+
+- Issue #28086: Single var-positional argument of tuple subtype was passed
+  unscathed to the C-defined function.  Now it is converted to exact tuple.
+
+- Issue #28214: Now __set_name__ is looked up on the class instead of the
+  instance.
+
+- Issue #27955: Fallback on reading /dev/urandom device when the getrandom()
+  syscall fails with EPERM, for example when blocked by SECCOMP.
+
+- Issue #28192: Don't import readline in isolated mode.
+
+- Issue #27441: Remove some redundant assignments to ob_size in longobject.c.
+  Thanks Oren Milman.
+
+- Issue #27222: Clean up redundant code in long_rshift function. Thanks
+  Oren Milman.
+
+- Upgrade internal unicode databases to Unicode version 9.0.0.
+
+- Issue #28131: Fix a regression in zipimport's compile_source().  zipimport
+  should use the same optimization level as the interpreter.
+
+- Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
+  optimize memcpy().
+
+- Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a
+  "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.
+
+- Issue #26182: Raise DeprecationWarning when async and await keywords are
+  used as variable/attribute/class/function name.
+
+Library
+-------
+
+- Issue #27025: Generated names for Tkinter widgets now start by the "!" prefix
+  for readability (was "`").
+
 - Issue #25464: Fixed HList.header_exists() in tkinter.tix module by addin
   a workaround to Tix library bug.
 
@@ -30,81 +108,6 @@
   group index and the position of the reference.
   Based on patch by SilentGhost.
 
-- Issue #28183: Optimize and cleanup dict iteration.
-
-- Issue #26081: Added C implementation of asyncio.Future.
-  Original patch by Yury Selivanov.
-
-- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
-  Patch by Xiang Zhang.
-
-- Issue #28376: The type of long range iterator is now registered as Iterator.
-  Patch by Oren Milman.
-
-- Issue #28376: Creating instances of range_iterator by calling range_iterator
-  type now is disallowed.  Calling iter() on range instance is the only way.
-  Patch by Oren Milman.
-
-- Issue #26906: Resolving special methods of uninitialized type now causes
-  implicit initialization of the type instead of a fail.
-
-- Issue #18287: PyType_Ready() now checks that tp_name is not NULL.
-  Original patch by Niklas Koep.
-
-- Issue #24098: Fixed possible crash when AST is changed in process of
-  compiling it.
-
-- Issue #28201: Dict reduces possibility of 2nd conflict in hash table when
-  hashes have same lower bits.
-
-- Issue #28350: String constants with null character no longer interned.
-
-- Issue #26617: Fix crash when GC runs during weakref callbacks.
-
-- Issue #27942: String constants now interned recursively in tuples and frozensets.
-
-- Issue #28289: ImportError.__init__ now resets not specified attributes.
-
-- Issue #21578: Fixed misleading error message when ImportError called with
-  invalid keyword args.
-
-- Issue #28203: Fix incorrect type in complex(1.0, {2:3}) error message.
-  Patch by Soumya Sharma.
-
-- Issue #28086: Single var-positional argument of tuple subtype was passed
-  unscathed to the C-defined function.  Now it is converted to exact tuple.
-
-- Issue #28214: Now __set_name__ is looked up on the class instead of the
-  instance.
-
-- Issue #27955: Fallback on reading /dev/urandom device when the getrandom()
-  syscall fails with EPERM, for example when blocked by SECCOMP.
-
-- Issue #28192: Don't import readline in isolated mode.
-
-- Issue #27441: Remove some redundant assignments to ob_size in longobject.c.
-  Thanks Oren Milman.
-
-- Issue #27222: Clean up redundant code in long_rshift function. Thanks
-  Oren Milman.
-
-- Upgrade internal unicode databases to Unicode version 9.0.0.
-
-- Issue #28131: Fix a regression in zipimport's compile_source().  zipimport
-  should use the same optimization level as the interpreter.
-
-- Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
-  optimize memcpy().
-
-- Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a
-  "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.
-
-- Issue #26182: Raise DeprecationWarning when async and await keywords are
-  used as variable/attribute/class/function name.
-
-Library
--------
-
 - Issue #28469: timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead
   of 1, 10, 100,... for autoranging.
 
@@ -1364,6 +1367,9 @@
   exposed on the API which are not implemented on GNU/Hurd. They would not
   work at runtime anyway.
 
+- Issue #27025: Generated names for Tkinter widgets are now more meanful
+  and recognizirable.
+
 - Issue #25455: Fixed crashes in repr of recursive ElementTree.Element and
   functools.partial objects.
 

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


More information about the Python-checkins mailing list