Closes #13258: Use callable() built-in in the standard library.
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
index e54c53f..8af5065 100644
--- a/Lib/tkinter/__init__.py
+++ b/Lib/tkinter/__init__.py
@@ -1039,7 +1039,7 @@
for k, v in cnf.items():
if v is not None:
if k[-1] == '_': k = k[:-1]
- if hasattr(v, '__call__'):
+ if callable(v):
v = self._register(v)
elif isinstance(v, (tuple, list)):
nv = []
@@ -1608,7 +1608,7 @@
"""Bind function FUNC to command NAME for this widget.
Return the function bound to NAME if None is given. NAME could be
e.g. "WM_SAVE_YOURSELF" or "WM_DELETE_WINDOW"."""
- if hasattr(func, '__call__'):
+ if callable(func):
command = self._register(func)
else:
command = func
@@ -3178,7 +3178,7 @@
elif kw: cnf = kw
options = ()
for k, v in cnf.items():
- if hasattr(v, '__call__'):
+ if callable(v):
v = self._register(v)
options = options + ('-'+k, v)
self.tk.call(('image', 'create', imgtype, name,) + options)
@@ -3201,7 +3201,7 @@
for k, v in _cnfmerge(kw).items():
if v is not None:
if k[-1] == '_': k = k[:-1]
- if hasattr(v, '__call__'):
+ if callable(v):
v = self._register(v)
res = res + ('-'+k, v)
self.tk.call((self.name, 'config') + res)
diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py
index 4884e22..18866c4 100644
--- a/Lib/tkinter/tix.py
+++ b/Lib/tkinter/tix.py
@@ -405,7 +405,7 @@
elif kw: cnf = kw
options = ()
for k, v in cnf.items():
- if hasattr(v, '__call__'):
+ if callable(v):
v = self._register(v)
options = options + ('-'+k, v)
return master.tk.call(('image', 'create', imgtype,) + options)