Patch #403514: precompute _subst_format_str to avoid a call to
string.join() on each invocation of _bind.
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index da436c1..c7cd2bf 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -848,8 +848,7 @@
cmd = ('%sif {"[%s %s]" == "break"} break\n'
%
(add and '+' or '',
- funcid,
- " ".join(self._subst_format)))
+ funcid, self._subst_format_str))
self.tk.call(what + (sequence, cmd))
return funcid
elif sequence:
@@ -1012,6 +1011,7 @@
_subst_format = ('%#', '%b', '%f', '%h', '%k',
'%s', '%t', '%w', '%x', '%y',
'%A', '%E', '%K', '%N', '%W', '%T', '%X', '%Y', '%D')
+ _subst_format_str = " ".join(_subst_format)
def _substitute(self, *args):
"""Internal function."""
if len(args) != len(self._subst_format): return args