[Debian-astro-commits] [ftools-fv] 02/02: Make fv usable with tcl>=8.6

Ole Streicher olebole at moszumanska.debian.org
Wed Jul 22 15:01:57 UTC 2015


This is an automated email from the git hooks/post-receive script.

olebole pushed a commit to branch debian
in repository ftools-fv.

commit 4fceca1e5a0e858d1927a24c2f1f330ba8138583
Author: Ole Streicher <debian at liska.ath.cx>
Date:   Wed Jul 22 16:59:26 2015 +0200

    Make fv usable with tcl>=8.6
---
 debian/control                          |   4 +-
 debian/patches/pow_create_package.patch |   2 +-
 debian/patches/pow_fix_makefile.patch   |   6 +-
 debian/patches/pow_fix_startup.patch    |   2 +-
 debian/patches/pow_tcl8.6.patch         | 543 ++++++++++++++++++++++++++++++++
 debian/patches/series                   |   1 +
 6 files changed, 551 insertions(+), 7 deletions(-)

diff --git a/debian/control b/debian/control
index 5d19bd4..9d45808 100644
--- a/debian/control
+++ b/debian/control
@@ -6,8 +6,8 @@ Uploaders: Ole Streicher <olebole at debian.org>
 Build-Depends: debhelper (>= 9),
                dh-autoreconf,
                libcfitsio-dev | libcfitsio3-dev,
-               tcl8.5-dev,
-               tk8.5-dev,
+               tcl-dev,
+               tk-dev,
                wcslib-dev
 Standards-Version: 3.9.6
 Homepage: http://heasarc.gsfc.nasa.gov/docs/software/lheasoft/ftools/fv/
diff --git a/debian/patches/pow_create_package.patch b/debian/patches/pow_create_package.patch
index dc95cfd..8329570 100644
--- a/debian/patches/pow_create_package.patch
+++ b/debian/patches/pow_create_package.patch
@@ -46,7 +46,7 @@ Description: Create and "package require" the POW package.
  
  shared: ${SHARED_OBJ}
  	${SHLIB_LD} ${LD_FLAGS} ${SHARED_OBJ} ${SHLIB_LD_LIBS} -o ${SHARED_LIB}
-+	echo "pkg_mkIndex  . libpow.so" | tclsh8.5
++	echo "pkg_mkIndex  . libpow.so" | tclsh
  
  install:
 -	@if [ ! -d ${INSTALLDIR}/lib/tcltk/POW ]; then \
diff --git a/debian/patches/pow_fix_makefile.patch b/debian/patches/pow_fix_makefile.patch
index 43d40ae..25caf96 100644
--- a/debian/patches/pow_fix_makefile.patch
+++ b/debian/patches/pow_fix_makefile.patch
@@ -36,11 +36,11 @@ Description: Set variables in Makefile.in to get pow compiled (Q&D patch)
 +LD_FLAGS	= @LD_FLAGS@ @LDFLAGS@
  
 -TCL_INC_PATH	= @TCL_INC_PATH@
-+TCL_INC_PATH	= /usr/include/tcl8.5
++TCL_INC_PATH	= /usr/include/tcl
  TCL_LIB_PATH	= @TCL_PATH@
  TCL_LIB		= @TCL_LIB@
 -TK_INC_PATH	= @TK_INC_PATH@
-+TK_INC_PATH	= /usr/include/tcl8.5/tk-private/generic/
++TK_INC_PATH	= /usr/include/tcl/tk-private/generic/
  TK_LIB_PATH	= @TK_PATH@
  TK_LIB		= @TK_LIB@
  XINC		= @XINCLUDES@
@@ -48,7 +48,7 @@ Description: Set variables in Makefile.in to get pow compiled (Q&D patch)
 -CFITSIO_DIR	= @CFITSIODIR@
 -WCSLIB_DIR	= @WCSLIB_DIR@
 -SHLIB_LD_LIBS	= @LIBS@ @SHLIB_LD_LIBS@ -L${TCL_LIB_PATH} -l${TCL_LIB} -L${TK_LIB_PATH} -l${TK_LIB} ${XLIBS}
-+SHLIB_LD_LIBS	= @LIBS@ @SHLIB_LD_LIBS@ -ltcl8.5 -ltk8.5 -lwcs -lcfitsio ${XLIBS}
++SHLIB_LD_LIBS	= @LIBS@ @SHLIB_LD_LIBS@ -ltclstub -ltkstub -lwcs -lcfitsio ${XLIBS}
  
  #----------------------------------------------------------------------------
  # Targets:
diff --git a/debian/patches/pow_fix_startup.patch b/debian/patches/pow_fix_startup.patch
index 5a357a8..686f08c 100644
--- a/debian/patches/pow_fix_startup.patch
+++ b/debian/patches/pow_fix_startup.patch
@@ -27,7 +27,7 @@ Description: Replace the startup script by something simpler, and set the
 +export XLIB_SKIP_ARGB_VISUALS=1
 +export POW_LIBRARY=/usr/share/ftools/POW
 +export POW_HELPDIR=/usr/share/doc/ftools-pow/
-+exec wish8.5 $POW_LIBRARY/POWplot.tcl -- $*
++exec wish $POW_LIBRARY/POWplot.tcl -- $*
 --- a/tcltk/pow/pow.tcl
 +++ b/tcltk/pow/pow.tcl
 @@ -5347,7 +5347,7 @@
diff --git a/debian/patches/pow_tcl8.6.patch b/debian/patches/pow_tcl8.6.patch
new file mode 100644
index 0000000..6aae084
--- /dev/null
+++ b/debian/patches/pow_tcl8.6.patch
@@ -0,0 +1,543 @@
+--- a/tcltk/pow/PowColormap.c
++++ b/tcltk/pow/PowColormap.c
+@@ -59,8 +59,9 @@
+ 
+ 
+   if (argc > 5 || argc < 3 ) {
+-    interp->result =
+-      "usage: powSetupColormap toplevel_name free_cells ?force_cmap? ?options_list?";
++    Tcl_SetStringResult(interp,
++			"usage: powSetupColormap toplevel_name free_cells "
++			"?force_cmap? ?options_list?");
+     return TCL_ERROR;
+   }
+ 
+@@ -118,7 +119,7 @@
+        Finding this out in Xlib is stupidly complicated, so we'll
+        let Tk do it for us */
+     Tcl_Eval(interp,"string match \"pseudocolor\" [winfo screenvisual .]");
+-    if (interp->result != "1") {
++    if (Tcl_GetStringResult(interp) != "1") {
+       Tcl_SetVar(interp,"powPseudoImages","0",TCL_GLOBAL_ONLY); 
+     }
+     return TCL_OK;
+@@ -269,8 +270,7 @@
+   Bool tfGotColors;        /* True if we got colors from X */
+ 
+   if (argc != 2 ) {
+-    interp->result =
+-      "usage: powTestColormap window";
++      Tcl_SetStringResult(interp, "usage: powTestColormap window");
+     return TCL_ERROR;
+   }
+ 
+@@ -318,7 +318,9 @@
+   }
+   ckfree((void*)plane_masks);  plane_masks = NULL;
+   ckfree((void*)pixels);       pixels = NULL;
+-  sprintf(interp->result,"%i",ncolors);
++  char ncolor_s[4];
++  snprintf(ncolor_s, 3, "%i", ncolors);
++  Tcl_SetStringResult(interp, ncolor_s);
+   return TCL_OK;
+ #endif /* __WIN32__ || macintosh */
+ }
+@@ -801,7 +803,8 @@
+   double min, max;
+ 
+   if (argc != 4) {
+-    interp->result = "usage: powReditherPhotoBlock imageName min max";
++    Tcl_SetStringResult(interp,
++			"usage: powReditherPhotoBlock imageName min max");
+     return TCL_ERROR;
+   }
+ 
+--- a/tcltk/pow/PowCommands.c
++++ b/tcltk/pow/PowCommands.c
+@@ -214,7 +214,7 @@
+   y_error = NULL;
+   
+   if(argc < 10 ) {
+-    interp->result = "usage: powProcessCurve curve bbox rbbox xinc yinc magstep tags <Line|Points> canvas";
++    Tcl_SetStringResult(interp, "usage: powProcessCurve curve bbox rbbox xinc yinc magstep tags <Line|Points> canvas");
+     return TCL_ERROR;
+   }
+ 
+@@ -235,7 +235,7 @@
+   
+   Tcl_SplitList(interp,argv[2],&n,&bboxptr);
+   if(n != 4) {
+-    interp->result = "bbox malformed";
++      Tcl_SetStringResult(interp, "bbox malformed");
+     return TCL_ERROR;
+   }
+   /* (x0,y0) -- lower left */
+@@ -249,7 +249,7 @@
+   
+   Tcl_SplitList(interp,argv[3],&n,&rbboxptr);
+   if(n != 4) {
+-    interp->result = "rbbox malformed";
++    Tcl_SetStringResult(interp, "rbbox malformed");
+     return TCL_ERROR;
+   }
+   /* (x0,y0) -- lower left */
+@@ -408,12 +408,12 @@
+   int status = TCL_OK;
+   PowGraph *graph_ptr;
+   if(argc != 4) {
+-    interp->result = "usage: powSetGraphMagstep graphname newxmagstep newymagstep";
++      Tcl_SetStringResult(interp, "usage: powSetGraphMagstep graphname newxmagstep newymagstep");
+     return TCL_ERROR;
+   }
+   graph_ptr = PowFindGraph(argv[1]);
+   if (graph_ptr == (PowGraph *) NULL) {
+-    interp->result = "Couldn't find graph.";
++    Tcl_SetStringResult(interp, "Couldn't find graph.");
+     return TCL_ERROR;
+   }
+   status = Tcl_GetDouble(interp,argv[2],&(graph_ptr->xmagstep));
+@@ -427,20 +427,23 @@
+ 		      int argc, char *argv[]) {
+   PowImage *image_ptr;
+   if(argc != 3) {
+-    interp->result = "wrong # args";
++    Tcl_SetStringResult(interp, "wrong # args");
+     return TCL_ERROR;
+   }
+   image_ptr = PowFindImage(argv[1]);
+   if (image_ptr == (PowImage *) NULL) {
+-    interp->result = "Couldn't find image.";
++    Tcl_SetStringResult(interp, "Couldn't find image.");
+     return TCL_ERROR;
+   }
++  char s[256];
+   switch (*argv[2]) {
+-  case 'X':  sprintf(interp->result,"%le", image_ptr->xorigin);
++  case 'X':  sprintf(s,"%le", image_ptr->xorigin);
++    Tcl_SetStringResult(interp, s);
+     break;
+-  case 'Y':  sprintf(interp->result,"%le", image_ptr->yorigin);
++  case 'Y':  sprintf(s,"%le", image_ptr->yorigin);
++    Tcl_SetStringResult(interp, s);
+     break;
+-  default: interp->result = "No such image axis (must be X or Y)";
++    default: Tcl_SetStringResult(interp, "No such image axis (must be X or Y)");
+     return TCL_ERROR;
+   }
+   return TCL_OK;
+@@ -451,20 +454,23 @@
+ 		      int argc, char *argv[]) {
+   PowImage *image_ptr;
+   if(argc != 3) {
+-    interp->result = "wrong # args";
++    Tcl_SetStringResult(interp, "wrong # args");
+     return TCL_ERROR;
+   }
+   image_ptr = PowFindImage(argv[1]);
+   if (image_ptr == (PowImage *) NULL) {
+-    interp->result = "Couldn't find image.";
++    Tcl_SetStringResult(interp, "Couldn't find image.");
+     return TCL_ERROR;
+   }
++  char s[256];
+   switch (*argv[2]) {
+-  case 'X':  sprintf(interp->result,"%le", image_ptr->xotherend);
++  case 'X':  sprintf(s,"%le", image_ptr->xotherend);
++    Tcl_SetStringResult(interp, s);
+     break;
+-  case 'Y':  sprintf(interp->result,"%le", image_ptr->yotherend);
++  case 'Y':  sprintf(s,"%le", image_ptr->yotherend);
++    Tcl_SetStringResult(interp, s);
+     break;
+-  default: interp->result = "No such image axis (must be X or Y)";
++  default: Tcl_SetStringResult(interp, "No such image axis (must be X or Y)");
+     return TCL_ERROR;
+   }
+   return TCL_OK;
+@@ -476,22 +482,22 @@
+ 		      int argc, char *argv[]) {
+   PowImage *image_ptr;
+   if(argc != 3) {
+-    interp->result = "wrong # args";
++      Tcl_SetStringResult(interp, "wrong # args");
+     return TCL_ERROR;
+   }
+   image_ptr = PowFindImage(argv[1]);
+   if (image_ptr == (PowImage *) NULL) {
+-    interp->result = "Couldn't find image.";
++    Tcl_SetStringResult(interp, "Couldn't find image.");
+     return TCL_ERROR;
+   }
+   switch (*argv[2]) {
+-  case 'X':  sprintf(interp->result,"%s", image_ptr->xunits);
++  case 'X':  Tcl_SetStringResult(interp, image_ptr->xunits);
+     break;
+-  case 'Y':  sprintf(interp->result,"%s", image_ptr->yunits);
++  case 'Y':  Tcl_SetStringResult(interp, image_ptr->yunits);
+     break;
+-  case 'Z':  sprintf(interp->result,"%s", image_ptr->zunits);
++  case 'Z':  Tcl_SetStringResult(interp, image_ptr->zunits);
+     break;
+-  default: interp->result = "No such image axis (must be X or Y or Z)";
++  default: Tcl_SetStringResult(interp, "No such image axis (must be X or Y or Z)");
+     return TCL_ERROR;
+   }
+   return TCL_OK;
+@@ -629,7 +635,7 @@
+ 
+ 
+   if (argc != 9) {
+-    interp->result = "usage: powPutZoomedBlock imageName graphName x y width height zoomX zoomY\nYou probably shouldn't be seeing this.";
++    Tcl_SetStringResult(interp, "usage: powPutZoomedBlock imageName graphName x y width height zoomX zoomY\nYou probably shouldn't be seeing this.");
+     return TCL_ERROR;
+   }
+   
+@@ -844,7 +850,7 @@
+   PowCreateDataFlip(argv[1], direction, &height, &width, &status);
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't flip data.");
++    Tcl_SetStringResult(interp, "Couldn't flip data.");
+     return TCL_ERROR;
+   }
+ 
+@@ -891,7 +897,7 @@
+        Tcl_SetResult(interp,"Couldn't get bounding box", TCL_VOLATILE);
+       return TCL_ERROR;
+   }
+-  strncpy(cmdLine,interp->result,256);
++  strncpy(cmdLine,Tcl_GetStringResult(interp),256);
+   Tcl_SplitList(interp,cmdLine,&i,&list);
+   Tcl_GetDouble(interp,list[0],&(bbox_ll.x));
+   Tcl_GetDouble(interp,list[1],&(bbox_ur.y));
+@@ -905,7 +911,7 @@
+   PowCreateCurveFlip(graphName, direction, &status);
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't flip Curve data.");
++    Tcl_SetStringResult(interp, "Couldn't flip Curve data.");
+     return TCL_ERROR;
+   }
+ 
+@@ -951,7 +957,7 @@
+ 
+   Tcl_GetInt(interp,argv[4],&length);
+   if (sscanf(argv[2],PTRFORMAT,&databuff) != 1) {
+-    sprintf(interp->result,"Couldn't parse data address into an integer");
++    Tcl_SetStringResult(interp, "Couldn't parse data address into an integer");
+     return TCL_ERROR;
+   }
+   if (argc == 6) {
+@@ -963,7 +969,7 @@
+   PowCreateData(argv[1],databuff,&data_type,&length,&copy,&status);
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't create data.");
++    Tcl_SetStringResult(interp, "Couldn't create data.");
+     return TCL_ERROR;
+   }
+ 
+@@ -1004,7 +1010,7 @@
+   }
+ 
+   if (sscanf(argv[1],PTRFORMAT,&powdatabuff) != 1) {
+-    sprintf(interp->result,"Couldn't parse powdata address into an integer");
++    Tcl_SetStringResult(interp, "Couldn't parse powdata address into an integer");
+     return TCL_ERROR;
+   }
+ 
+@@ -1051,7 +1057,7 @@
+ 
+ 
+   if(argc != 14) {
+-    interp->result = "usage: powCreateImage image_name data_name xoffset yoffset\\\n        width height xorigin xinc yorigin yinc xunits yunits zunits";
++    Tcl_SetStringResult(interp, "usage: powCreateImage image_name data_name xoffset yoffset\\\n        width height xorigin xinc yorigin yinc xunits yunits zunits");
+     return TCL_ERROR;
+   }
+ 
+@@ -1097,7 +1103,7 @@
+ 
+ /* fprintf(stdout, "done calling PowCommands\n"); */
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't create image.");
++    Tcl_SetStringResult(interp, "Couldn't create image.");
+     return TCL_ERROR;
+   }
+ 
+@@ -1137,7 +1143,7 @@
+ 
+ 
+   if(argc != 6) {
+-    interp->result = "usage: powCreateVector vector_name data_name offset length units";
++    Tcl_SetStringResult(interp, "usage: powCreateVector vector_name data_name offset length units");
+     return TCL_ERROR;
+   }
+ 
+@@ -1153,7 +1159,7 @@
+   PowCreateVector(argv[1],argv[2],&offset,length,argv[5],&status);
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't create vector.");
++    Tcl_SetStringResult(interp, "Couldn't create vector.");
+     return TCL_ERROR;
+   }
+ 
+@@ -1193,7 +1199,7 @@
+ 
+ 
+   if(argc < 6 || argc == 7) {
+-    interp->result = "usage: powCreateCurve curve_name x_vector x_error y_vector y_error <z_vector z_error>";
++    Tcl_SetStringResult(interp, "usage: powCreateCurve curve_name x_vector x_error y_vector y_error <z_vector z_error>");
+     return TCL_ERROR;
+   }
+   
+@@ -1211,7 +1217,7 @@
+   PowCreateCurve(argv[1],argv[2],argv[3],argv[4],argv[5],z_vector,z_error,&status);
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't create curve.");
++    Tcl_SetStringResult(interp, "Couldn't create curve.");
+     return TCL_ERROR;
+   }
+ 
+@@ -1232,7 +1238,7 @@
+ 
+ 
+   if(argc != 7) {
+-    interp->result = "usage: powCreateVectorEN vector_name data_name length start increment units";
++    Tcl_SetStringResult(interp, "usage: powCreateVectorEN vector_name data_name length start increment units");
+     return TCL_ERROR;
+   }
+ 
+@@ -1246,7 +1252,7 @@
+ 
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't create vector.");
++    Tcl_SetStringResult(interp, "Couldn't create vector.");
+     return TCL_ERROR;
+   }
+ 
+@@ -1291,7 +1297,7 @@
+ 
+ 
+   if(argc != 4) {
+-    interp->result = "usage: powCreateHisto histo_name x_vector y_vector";
++    Tcl_SetStringResult(interp, "usage: powCreateHisto histo_name x_vector y_vector");
+     return TCL_ERROR;
+   }
+   
+@@ -1299,7 +1305,7 @@
+   PowCreateHisto(argv[1],argv[2],argv[3],&status);
+ 
+   if(status != 0) {
+-    sprintf(interp->result,"Couldn't create histo.");
++    Tcl_SetStringResult(interp, "Couldn't create histo.");
+     return TCL_ERROR;
+   }
+ 
+@@ -1349,7 +1355,7 @@
+   pydimdisp = &ydimdisp;
+ 
+   if(argc < 8) {
+-    interp->result = "usage: powCreateGraph graph_name curves images xunits yunits xlabel\\\n ylabel ?xdimdisp ydimdisp xmin ymin xmax ymax? ";
++    Tcl_SetStringResult(interp, "usage: powCreateGraph graph_name curves images xunits yunits xlabel\\\n ylabel ?xdimdisp ydimdisp xmin ymin xmax ymax? ");
+     return TCL_ERROR;
+   }
+ 
+@@ -1523,7 +1529,7 @@
+   /* used by the vector edit window to fetch component vector names */
+   PowCurve *curve_ptr;
+   if(argc != 2) {
+-    interp->result = "usage: powFetchVectorHash curvename";
++    Tcl_SetStringResult(interp, "usage: powFetchVectorHash curvename");
+     return TCL_ERROR;
+   }
+ 
+@@ -1570,7 +1576,7 @@
+   PowData *data_ptr;
+   char length_str[22];
+   if(argc != 2) {
+-    interp->result = "usage: powFetchDataLength dataname";
++    Tcl_SetStringResult(interp, "usage: powFetchDataLength dataname");
+     return TCL_ERROR;
+   }
+ 
+@@ -1599,7 +1605,7 @@
+   char ptrStr[16];
+ 
+   if(argc != 2) {
+-    interp->result = "usage: powExprDataInfo dataname";
++    Tcl_SetStringResult(interp, "usage: powExprDataInfo dataname");
+     return TCL_ERROR;
+   }
+ 
+@@ -1628,7 +1634,7 @@
+   PowVector *vector_ptr;
+   char length_str[22];
+   if(argc != 2) {
+-    interp->result = "usage: powFetchVectorInfoHash vectorname";
++    Tcl_SetStringResult(interp, "usage: powFetchVectorInfoHash vectorname");
+     return TCL_ERROR;
+   }
+ 
+@@ -1659,7 +1665,7 @@
+   PowImage *image_ptr;
+   char tmp_str[22];
+   if(argc != 2) {
+-    interp->result = "usage: powFetchImageInfoHash imagename";
++    Tcl_SetStringResult(interp, "usage: powFetchImageInfoHash imagename");
+     return TCL_ERROR;
+   }
+ 
+@@ -1718,7 +1724,7 @@
+   char outstring[1024];
+ 
+   if(argc != 3) {
+-    interp->result = "usage: powFindCurveMinMax curves axis";
++    Tcl_SetStringResult(interp, "usage: powFindCurveMinMax curves axis");
+     return TCL_ERROR;
+   }
+ 
+@@ -1996,7 +2002,7 @@
+   int string_flag = 0;
+ 
+   if (argc < 3 || argc > 4) {
+-    interp->result = "usage: powCreateDataFromList data_name list_o_data ?stringflag?";
++    Tcl_SetStringResult(interp, "usage: powCreateDataFromList data_name list_o_data ?stringflag?");
+     return TCL_ERROR;
+   }
+ 
+--- a/tcltk/pow/PowCreateImage.c
++++ b/tcltk/pow/PowCreateImage.c
+@@ -100,7 +100,7 @@
+ 
+     if (Tcl_VarEval(interp,"image create pict ",image_instance->image_name,(char *) NULL) == TCL_ERROR) {
+       *status =  TCL_ERROR;
+-      fprintf(stderr, "%s\n", interp->result);
++      fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+       Tcl_DeleteHashEntry(entry_ptr);
+       return;
+     }
+@@ -109,7 +109,7 @@
+ 
+     if(pict_image_handle == NULL) {
+       *status = TCL_ERROR;
+-      fprintf(stderr, "%s\n", interp->result);
++      fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+       Tcl_DeleteHashEntry(entry_ptr);
+       return;
+     }
+@@ -124,7 +124,7 @@
+     /* use Photo widget */
+     if (Tcl_VarEval(interp,"image create photo ",image_instance->image_name,(char *) NULL) == TCL_ERROR) {
+       *status =  TCL_ERROR;
+-      fprintf(stderr, "%s\n", interp->result);
++      fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+       Tcl_DeleteHashEntry(entry_ptr);
+       return;
+     }
+@@ -132,7 +132,7 @@
+     photo_image_handle = Tk_FindPhoto(interp,image_instance->image_name);
+     if(photo_image_handle == NULL) {
+       *status = TCL_ERROR;
+-      fprintf(stderr, "%s\n", interp->result);
++      fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+       Tcl_DeleteHashEntry(entry_ptr);
+       return;
+     }
+@@ -144,7 +144,7 @@
+   entry_ptr = Tcl_FindHashEntry (&PowDataTable, data_name);
+   if(entry_ptr == NULL) {
+     *status = TCL_ERROR;
+-    fprintf(stderr, "%s\n", interp->result);
++    fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+     Tcl_DeleteHashEntry(entry_ptr);
+     return;
+   } 
+--- a/tcltk/pow/PowEventHandlers.c
++++ b/tcltk/pow/PowEventHandlers.c
+@@ -121,14 +121,14 @@
+        } */
+     Tk_CreateFileHandler(0, TK_READABLE, StdinProc, (ClientData) 0);
+     Tcl_DStringFree(&command);
+-    if (*interp->result != 0) {
++    if (*Tcl_GetStringResult(interp) != 0) {
+       if ((code != TCL_OK) || (tty)) {
+ 	    /*
+ 	     * The statement below used to call "printf", but that resulted
+ 	     * in core dumps under Solaris 2.3 if the result was very long.
+ 	     */
+ 
+-	    puts(interp->result);
++	    puts(Tcl_GetStringResult(interp));
+ 	}
+     }
+ 
+@@ -184,7 +184,7 @@
+ 	if (code != TCL_OK) {
+ 	    Tcl_AddErrorInfo(interp,
+ 		    "\n    (script that generates prompt)");
+-	    fprintf(stderr, "%s\n", interp->result);
++	    fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+ 	    goto defaultPrompt;
+ 	}
+     }
+--- a/tcltk/pow/PowGrid.c
++++ b/tcltk/pow/PowGrid.c
+@@ -121,7 +121,7 @@
+       Tcl_SetResult(interp,"Couldn't get bounding box", TCL_VOLATILE);
+       return TCL_ERROR;
+    }
+-   strncpy(cmdLine,interp->result,256);
++   strncpy(cmdLine,Tcl_GetStringResult(interp),256);
+    Tcl_SplitList(interp,cmdLine,&i,&list);
+ 
+    len    = strlen(gn)+15;
+--- a/tcltk/pow/PowInit.c
++++ b/tcltk/pow/PowInit.c
+@@ -531,12 +531,12 @@
+   
+     if (Tcl_Init(interp) == TCL_ERROR) {
+       *status =  TCL_ERROR;
+-      fprintf(stderr, "%s\n", interp->result);
++      fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+       return;
+     }
+     if (Tk_Init(interp) == TCL_ERROR) {
+       *status =  TCL_ERROR;
+-      fprintf(stderr, "%s\n", interp->result);
++      fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+       return;
+     }
+ 
+@@ -557,13 +557,13 @@
+     if(Tcl_VarEval(interp, "powSetupColormap ", powSetupColormapArgs,
+ 		   (char *) NULL) == TCL_ERROR) {
+       *status = TCL_ERROR;
+-      fprintf(stderr, "Error initializing POW.\n%s\n", interp->result);
++      fprintf(stderr, "Error initializing POW.\n%s\n", Tcl_GetStringResult(interp));
+     }
+   }
+   
+   if(Tcl_VarEval(interp, "powInit ", powInitArgs, (char *) NULL) == TCL_ERROR) {
+     *status = TCL_ERROR;
+-    fprintf(stderr, "Error initializing POW.\n%s\n", interp->result);
++    fprintf(stderr, "Error initializing POW.\n%s\n", Tcl_GetStringResult(interp));
+   }
+ 
+ }
+--- a/tcltk/pow/readpha.c
++++ b/tcltk/pow/readpha.c
+@@ -51,8 +51,9 @@
+   width = (int) naxes[0];
+   height = (int) naxes[1];
+ 
+-
+-  sprintf(interp->result,PTRFORMAT " %i %i", imagebuff, array_type, width*height);
++  char s[256];
++  snprintf(s, 255,PTRFORMAT " %i %i", imagebuff, array_type, width*height);
++  Tcl_SetStringResult(interp, s);
+   return TCL_OK;
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index c2f9ad0..8c2ca19 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,7 @@ pow_create_package.patch
 pow_fix_startup.patch
 pow_fix_compilerwarnings.patch
 pow_nolinux.patch
+pow_tcl8.6.patch
 fv_require.patch
 fv_fix_initial_menubar.patch
 fv_fix_startup.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-astro/packages/ftools-fv.git



More information about the Debian-astro-commits mailing list