summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-10-12 17:14:46 (GMT)
committerGuido van Rossum <guido@python.org>2000-10-12 17:14:46 (GMT)
commitada6d87c0c72126ec852a838332f8838bcc2dbba (patch)
tree00dec564df16f8149fef2d10bd0a1942b001d9ae /Modules
parentf4670e96394bf667f5cd959ee9d282435c792657 (diff)
downloadcpython-ada6d87c0c72126ec852a838332f8838bcc2dbba.zip
cpython-ada6d87c0c72126ec852a838332f8838bcc2dbba.tar.gz
cpython-ada6d87c0c72126ec852a838332f8838bcc2dbba.tar.bz2
Fix for Bug #116453.
Direct use of interp->result is deprecated; changing this to Tcl_GetStringResult(interp) everywhere fixed the problem of losing the error message with TclError exceptions, on Windows.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_tkinter.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 89c79d8..528b048 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -209,7 +209,7 @@ typedef struct {
#define Tkapp_Check(v) ((v)->ob_type == &Tkapp_Type)
#define Tkapp_Interp(v) (((TkappObject *) (v))->interp)
-#define Tkapp_Result(v) (((TkappObject *) (v))->interp->result)
+#define Tkapp_Result(v) Tcl_GetStringResult(Tkapp_Interp(v))
#define DEBUG_REFCNT(v) (printf("DEBUG: id=%p, refcnt=%i\n", \
(void *) v, ((PyObject *) v)->ob_refcnt))
@@ -420,11 +420,11 @@ Tcl_AppInit(Tcl_Interp *interp)
main = Tk_MainWindow(interp);
if (Tcl_Init(interp) == TCL_ERROR) {
- PySys_WriteStderr("Tcl_Init error: %s\n", interp->result);
+ PySys_WriteStderr("Tcl_Init error: %s\n", Tcl_GetStringResult(interp));
return TCL_ERROR;
}
if (Tk_Init(interp) == TCL_ERROR) {
- PySys_WriteStderr("Tk_Init error: %s\n", interp->result);
+ PySys_WriteStderr("Tk_Init error: %s\n", Tcl_GetStringResult(interp));
return TCL_ERROR;
}
return TCL_OK;
@@ -739,13 +739,13 @@ Tkapp_Call(PyObject *self, PyObject *args)
if (i == TCL_ERROR) {
if (Py_VerboseFlag >= 2)
PySys_WriteStderr("... error: '%s'\n",
- interp->result);
+ Tcl_GetStringResult(interp));
Tkinter_Error(self);
}
else {
if (Py_VerboseFlag >= 2)
- PySys_WriteStderr("-> '%s'\n", interp->result);
- res = PyString_FromString(interp->result);
+ PySys_WriteStderr("-> '%s'\n", Tcl_GetStringResult(interp));
+ res = PyString_FromString(Tcl_GetStringResult(interp));
}
LEAVE_OVERLAP_TCL