- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
with Tcl/Tk-8.5.
diff --git a/Lib/lib-tk/tkMessageBox.py b/Lib/lib-tk/tkMessageBox.py
index d14ca86..9ee9235 100644
--- a/Lib/lib-tk/tkMessageBox.py
+++ b/Lib/lib-tk/tkMessageBox.py
@@ -70,11 +70,13 @@
if title: options["title"] = title
if message: options["message"] = message
res = Message(**options).show()
- # In some Tcl installations, Tcl converts yes/no into a boolean
+ # In some Tcl installations, yes/no is converted into a boolean.
if isinstance(res, bool):
- if res: return YES
+ if res:
+ return YES
return NO
- return res
+ # In others we get a Tcl_Obj.
+ return str(res)
def showinfo(title=None, message=None, **options):
"Show an info message"