--- gcl-tk/tkMain.c.orig 2014-02-05 09:12:48.539168683 -0700
+++ gcl-tk/tkMain.c 2014-02-05 09:24:13.138923809 -0700
@@ -42,6 +42,11 @@
#if (TK_MINOR_VERSION==0 && TK_MAJOR_VERSION==4)
#define TkCreateMainWindow Tk_CreateMainWindow
#endif
+#if TCL_MAJOR_VERSION >= 8
+#define INTERP_RESULT(interp) Tcl_GetStringResult(interp)
+#else
+#define INTERP_RESULT(interp) (interp)->result
+#endif
/*-------------------------------------------------------------------*/
@@ -206,7 +211,7 @@
if (Tk_ParseArgv(interp, (Tk_Window) NULL, &argc, (const char **)argv, argTable, 0)
!= TCL_OK) {
- fprintf(stderr, "%s\n", interp->result);
+ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
exit(1);
}
if (name == NULL) {
@@ -239,7 +244,7 @@
/* mainWindow = TkCreateMainWindow(interp, display, name/\* , "Tk" *\/); */
/* if (mainWindow == NULL) { */
-/* fprintf(stderr, "%s\n", interp->result); */
+/* fprintf(stderr, "%s\n", INTERP_RESULT(interp)); */
/* exit(1); */
/* } */
/* #ifndef __MINGW32__ */
@@ -290,7 +295,7 @@
*/
if (Tcl_AppInit(interp) != TCL_OK) {
- fprintf(stderr, "Tcl_AppInit failed: %s\n", interp->result);
+ fprintf(stderr, "Tcl_AppInit failed: %s\n", INTERP_RESULT(interp));
}
/*
@@ -300,7 +305,7 @@
if (geometry != NULL) {
code = Tcl_VarEval(interp, "wm geometry . ", geometry, (char *) NULL);
if (code != TCL_OK) {
- fprintf(stderr, "%s\n", interp->result);
+ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
}
}
@@ -330,13 +335,13 @@
fullName = Tcl_TildeSubst(interp, tcl_RcFileName, &buffer);
if (fullName == NULL) {
- fprintf(stderr, "%s\n", interp->result);
+ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
} else {
f = fopen(fullName, "r");
if (f != NULL) {
code = Tcl_EvalFile(interp, fullName);
if (code != TCL_OK) {
- fprintf(stderr, "%s\n", interp->result);
+ fprintf(stderr, "%s\n", INTERP_RESULT(interp));
}
fclose(f);
}
@@ -371,7 +376,7 @@
error:
msg = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
if (msg == NULL) {
- msg = interp->result;
+ msg = INTERP_RESULT(interp);
}
dfprintf(stderr, "%s\n", msg);
Tcl_Eval(interp, errorExitCmd);
@@ -496,13 +501,13 @@
|| code)
{
char buf[4];
- char *p = buf;
+ char *p = buf, *string;
/*header */
*p++ = (code ? '1' : '0');
bcopy(msg->msg_id,p,3);
/* end header */
- if(sock_write_str2(dsfd, m_reply, buf, 4 ,
- interp->result, strlen(interp->result))
+ string = INTERP_RESULT(interp);
+ if(sock_write_str2(dsfd, m_reply, buf, 4, string, strlen(string))
< 0)
{ /* what do we want to do if the write failed */}
@@ -686,7 +691,7 @@
code = Tcl_Eval(interp, szCmd);
if (code != TCL_OK)
{
- dfprintf(stderr, "TCL Error int bind : %s\n", interp->result);
+ dfprintf(stderr, "TCL Error int bind : %s\n", INTERP_RESULT(interp));
}
return code;