diff --git a/Lib/lib-tk/tkMessageBox.py b/Lib/lib-tk/tkMessageBox.py index d14ca86febc..9ee923576ff 100644 --- a/Lib/lib-tk/tkMessageBox.py +++ b/Lib/lib-tk/tkMessageBox.py @@ -70,11 +70,13 @@ def _show(title=None, message=None, _icon=None, _type=None, **options): 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" diff --git a/Misc/NEWS b/Misc/NEWS index b0c59011b03..1fbf7c1cfbc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -15,6 +15,9 @@ Core and Builtins Library ------- +- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox + with Tcl/Tk-8.5. + - Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the locale.