diff options
author | Guido van Rossum <guido@python.org> | 2000-10-12 17:14:46 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2000-10-12 17:14:46 (GMT) |
commit | ada6d87c0c72126ec852a838332f8838bcc2dbba (patch) | |
tree | 00dec564df16f8149fef2d10bd0a1942b001d9ae /Modules | |
parent | f4670e96394bf667f5cd959ee9d282435c792657 (diff) | |
download | cpython-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.c | 12 |
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 |