summaryrefslogtreecommitdiffstats
path: root/graphics/tclblt/patches/tcl8.6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/tclblt/patches/tcl8.6.patch')
-rw-r--r--graphics/tclblt/patches/tcl8.6.patch91
1 files changed, 91 insertions, 0 deletions
diff --git a/graphics/tclblt/patches/tcl8.6.patch b/graphics/tclblt/patches/tcl8.6.patch
new file mode 100644
index 0000000000..e760a7a448
--- /dev/null
+++ b/graphics/tclblt/patches/tcl8.6.patch
@@ -0,0 +1,91 @@
+Description: Patch replaces the direct usage of deprecated interp->result
+ by Tcl_SetResult() and Tcl_GetStringResult() calls making it possible
+ to build using Tcl/Tk 8.6.
+Last-Modified: Fri, 04 Jul 2014 09:20:48 +0400
+
+--- a/generic/bltScrollbar.c
++++ b/generic/bltScrollbar.c
+@@ -588,7 +588,7 @@
+ } else {
+ fraction = ((double)pixels / (double)barWidth);
+ }
+- sprintf(interp->result, "%g", fraction);
++ sprintf(Tcl_GetStringResult(interp), "%g", fraction);
+ } else if ((c == 'f') && (strncmp(argv[1], "fraction", length) == 0)) {
+ int x, y, pos, barWidth;
+ double fraction;
+--- a/generic/bltTed.c
++++ b/generic/bltTed.c
+@@ -1504,7 +1504,7 @@
+ tablePtr->flags |= ARRANGE_PENDING;
+ Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
+ }
+- interp->result = Tk_PathName(tedPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
+ tedPtr->flags |= LAYOUT_PENDING;
+ EventuallyRedraw(tedPtr);
+ return TCL_OK;
+@@ -1678,7 +1678,7 @@
+ tedPtr->activeRectArr[4].width = grip - 1;
+ tedPtr->activeRectArr[4].height = grip - 1;
+
+- interp->result = Tk_PathName(entryPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(entryPtr->tkwin), TCL_VOLATILE);
+ active = 1;
+ break;
+ }
+@@ -1751,7 +1751,7 @@
+ tablePtr->flags |= ARRANGE_PENDING;
+ Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
+ }
+- interp->result = Tk_PathName(tedPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
+ tedPtr->flags |= LAYOUT_PENDING;
+ EventuallyRedraw(tedPtr);
+ return TCL_OK;
+--- a/generic/bltVecMath.c
++++ b/generic/bltVecMath.c
+@@ -834,20 +834,20 @@
+ if ((errno == EDOM) || (value != value)) {
+ Tcl_AppendResult(interp, "domain error: argument not in valid range",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ } else if ((errno == ERANGE) || IS_INF(value)) {
+ if (value == 0.0) {
+ Tcl_AppendResult(interp,
+ "floating-point value too small to represent",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ } else {
+ Tcl_AppendResult(interp,
+ "floating-point value too large to represent",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ }
+ } else {
+@@ -856,7 +856,7 @@
+ sprintf(buf, "%d", errno);
+ Tcl_AppendResult(interp, "unknown floating-point error, ",
+ "errno = ", buf, (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ }
+ }
+--- a/generic/bltTreeCmd.c
++++ b/generic/bltTreeCmd.c
+@@ -8560,7 +8560,7 @@
+ if (result == TCL_CONTINUE ) continue;
+ if (result == TCL_ERROR) {
+ Tcl_AppendResult(interp,
+- "\n (\"tree foreach\" body line ", Blt_Itoa(interp->errorLine), ")\n", 0);
++ "\n (\"tree foreach\" body line ", Blt_Itoa(Tcl_GetErrorLine(interp)), ")\n", 0);
+ break;
+ }
+ if (result != TCL_OK) {