summaryrefslogtreecommitdiffstats
path: root/otherlibs/labltk/support
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/labltk/support')
-rw-r--r--otherlibs/labltk/support/camltk.h5
-rw-r--r--otherlibs/labltk/support/cltkDMain.c2
-rw-r--r--otherlibs/labltk/support/cltkEval.c8
-rw-r--r--otherlibs/labltk/support/cltkMain.c8
-rw-r--r--otherlibs/labltk/support/cltkMisc.c2
-rw-r--r--otherlibs/labltk/support/cltkVar.c10
-rw-r--r--otherlibs/labltk/support/cltkWait.c4
7 files changed, 22 insertions, 17 deletions
diff --git a/otherlibs/labltk/support/camltk.h b/otherlibs/labltk/support/camltk.h
index 56cb29a68..5be206faa 100644
--- a/otherlibs/labltk/support/camltk.h
+++ b/otherlibs/labltk/support/camltk.h
@@ -27,6 +27,11 @@
#define CONST84
#endif
+/* if Tcl_GetStringResult is not defined, we use interp->result */
+#ifndef Tcl_GetStringResult
+# define Tcl_GetStringResult(interp) (interp->result)
+#endif
+
/* cltkMisc.c */
/* copy a Caml string to the C heap. Must be deallocated with stat_free */
extern char *string_to_c(value s);
diff --git a/otherlibs/labltk/support/cltkDMain.c b/otherlibs/labltk/support/cltkDMain.c
index 9272e8fc2..3d9a4c2df 100644
--- a/otherlibs/labltk/support/cltkDMain.c
+++ b/otherlibs/labltk/support/cltkDMain.c
@@ -223,7 +223,7 @@ int Caml_Init(interp)
if (0 == access(f,R_OK))
if (TCL_OK != Tcl_EvalFile(cltclinterp,f)) {
stat_free(f);
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
};
stat_free(f);
}
diff --git a/otherlibs/labltk/support/cltkEval.c b/otherlibs/labltk/support/cltkEval.c
index 168b9fe8f..cdd16a914 100644
--- a/otherlibs/labltk/support/cltkEval.c
+++ b/otherlibs/labltk/support/cltkEval.c
@@ -75,9 +75,9 @@ CAMLprim value camltk_tcl_eval(value str)
switch (code) {
case TCL_OK:
- return tcl_string_to_caml(cltclinterp->result);
+ return tcl_string_to_caml(Tcl_GetStringResult(cltclinterp));
case TCL_ERROR:
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
default: /* TCL_BREAK, TCL_CONTINUE, TCL_RETURN */
tk_error("bad tcl result");
}
@@ -234,9 +234,9 @@ CAMLprim value camltk_tcl_direct_eval(value v)
switch (result) {
case TCL_OK:
- return tcl_string_to_caml (cltclinterp->result);
+ return tcl_string_to_caml (Tcl_GetStringResult(cltclinterp));
case TCL_ERROR:
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
default: /* TCL_BREAK, TCL_CONTINUE, TCL_RETURN */
tk_error("bad tcl result");
}
diff --git a/otherlibs/labltk/support/cltkMain.c b/otherlibs/labltk/support/cltkMain.c
index 2853b3856..eb4617a45 100644
--- a/otherlibs/labltk/support/cltkMain.c
+++ b/otherlibs/labltk/support/cltkMain.c
@@ -95,7 +95,7 @@ CAMLprim value camltk_opentk(value argv)
}
if (Tcl_Init(cltclinterp) != TCL_OK)
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
Tcl_SetVar(cltclinterp, "argv0", String_val (argv0), TCL_GLOBAL_ONLY);
{ /* Sets argv */
@@ -132,13 +132,13 @@ CAMLprim value camltk_opentk(value argv)
}
}
if (Tk_Init(cltclinterp) != TCL_OK)
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
/* Retrieve the main window */
cltk_mainWindow = Tk_MainWindow(cltclinterp);
if (NULL == cltk_mainWindow)
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
Tk_GeometryRequest(cltk_mainWindow,200,200);
}
@@ -165,7 +165,7 @@ CAMLprim value camltk_opentk(value argv)
if (0 == access(f,R_OK))
if (TCL_OK != Tcl_EvalFile(cltclinterp,f)) {
stat_free(f);
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
};
stat_free(f);
}
diff --git a/otherlibs/labltk/support/cltkMisc.c b/otherlibs/labltk/support/cltkMisc.c
index 23364ad11..b19713cda 100644
--- a/otherlibs/labltk/support/cltkMisc.c
+++ b/otherlibs/labltk/support/cltkMisc.c
@@ -47,7 +47,7 @@ CAMLprim value camltk_splitlist (value v)
case TCL_ERROR:
default:
stat_free( utf );
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
}
}
diff --git a/otherlibs/labltk/support/cltkVar.c b/otherlibs/labltk/support/cltkVar.c
index 674b8e9db..0411a94cd 100644
--- a/otherlibs/labltk/support/cltkVar.c
+++ b/otherlibs/labltk/support/cltkVar.c
@@ -38,8 +38,8 @@ CAMLprim value camltk_getvar(value var)
stat_free(stable_var);
if (s == NULL)
- tk_error(cltclinterp->result);
- else
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ else
return(tcl_string_to_caml(s));
}
@@ -64,8 +64,8 @@ CAMLprim value camltk_setvar(value var, value contents)
stat_free(utf_contents);
if (s == NULL)
- tk_error(cltclinterp->result);
- else
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ else
return(Val_unit);
}
@@ -104,7 +104,7 @@ CAMLprim value camltk_trace_var(value var, value cbid)
(ClientData) (Long_val(cbid)))
!= TCL_OK) {
stat_free(cvar);
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
};
stat_free(cvar);
return Val_unit;
diff --git a/otherlibs/labltk/support/cltkWait.c b/otherlibs/labltk/support/cltkWait.c
index a4fdab0c4..4c126b5d2 100644
--- a/otherlibs/labltk/support/cltkWait.c
+++ b/otherlibs/labltk/support/cltkWait.c
@@ -66,7 +66,7 @@ CAMLprim value camltk_wait_vis(value win, value cbid)
vis->win = Tk_NameToWindow(cltclinterp, String_val(win), cltk_mainWindow);
if (vis -> win == NULL) {
stat_free((char *)vis);
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
};
vis->cbid = Int_val(cbid);
Tk_CreateEventHandler(vis->win, VisibilityChangeMask,
@@ -93,7 +93,7 @@ CAMLprim value camltk_wait_des(value win, value cbid)
vis->win = Tk_NameToWindow(cltclinterp, String_val(win), cltk_mainWindow);
if (vis -> win == NULL) {
stat_free((char *)vis);
- tk_error(cltclinterp->result);
+ tk_error(Tcl_GetStringResult(cltclinterp));
};
vis->cbid = Int_val(cbid);
Tk_CreateEventHandler(vis->win, StructureNotifyMask,