diff options
Diffstat (limited to 'graphics/tclblt/patches/const.patch')
-rw-r--r-- | graphics/tclblt/patches/const.patch | 890 |
1 files changed, 890 insertions, 0 deletions
diff --git a/graphics/tclblt/patches/const.patch b/graphics/tclblt/patches/const.patch new file mode 100644 index 0000000000..a82519a3dc --- /dev/null +++ b/graphics/tclblt/patches/const.patch @@ -0,0 +1,890 @@ +Descriptiom: Patch makes explicit casts to silence GCC warnings about + incompatible pointer types (mostly adds or removes const modifier). +Author: Sergei Golovan +Last-Modified: Wed, 09 Jul 2014 19:22:39 +0400 + +--- a/generic/bltArrayObj.c ++++ b/generic/bltArrayObj.c +@@ -55,7 +55,7 @@ + Blt_HashEntry *hPtr; + Blt_HashTable *tablePtr; + Tcl_Obj *elemObjPtr, **vobjv; +- Tcl_ObjType *oldTypePtr; ++ CONST Tcl_ObjType *oldTypePtr; + char *string; + int isNew; + int nElem; +--- a/generic/bltBgexec.c ++++ b/generic/bltBgexec.c +@@ -926,7 +926,7 @@ + Tcl_DStringInit(&dStr); + GetSinkData(sinkPtr, &data, &length); + Tcl_DStringAppend(&dStr, sinkPtr->command, -1); +- Tcl_DStringAppendElement(&dStr, data); ++ Tcl_DStringAppendElement(&dStr, (char *)data); + Tcl_DStringAppendElement(&dStr, status); + if (Tcl_GlobalEval(interp, Tcl_DStringValue(&dStr)) != TCL_OK) { + Tcl_BackgroundError(interp); +--- a/generic/bltTree.c ++++ b/generic/bltTree.c +@@ -47,7 +47,7 @@ + if (dictType == NULL) { + Tcl_Obj * obj; + obj = Tcl_NewDictObj(); +- dictType = obj->typePtr; ++ dictType = (Tcl_ObjType *)obj->typePtr; + Tcl_DecrRefCount(obj); + } + return (objPtr->typePtr == dictType); +@@ -3320,7 +3320,7 @@ + if (tPtr->nodeTable.numEntries > 0) { + flags |= TREE_TRACE_TAGMULTIPLE; + } +- result = CallTraces(interp, clientPtr, node->treeObject, node, tagName, ++ result = CallTraces(interp, clientPtr, node->treeObject, node, (Blt_TreeKey)tagName, + flags, &cnt); + if (result == TCL_BREAK) { + return TCL_OK; +@@ -3349,7 +3349,7 @@ + int cnt; + + if (!(node->flags & TREE_TRACE_ACTIVE)) { +- return CallTraces(interp, clientPtr, node->treeObject, node, tagName, ++ return CallTraces(interp, clientPtr, node->treeObject, node, (Blt_TreeKey)tagName, + (TREE_TRACE_TAGDELETE), &cnt); + } + return TCL_OK; +--- a/generic/bltTreeCmd.c ++++ b/generic/bltTreeCmd.c +@@ -7733,7 +7733,7 @@ + return TCL_ERROR; + } + if (valueObjPtr->typePtr != NULL) { +- Tcl_SetResult(interp, valueObjPtr->typePtr->name, TCL_VOLATILE); ++ Tcl_SetResult(interp, (char *)(valueObjPtr->typePtr->name), TCL_VOLATILE); + } else { + Tcl_SetResult(interp, "string", TCL_STATIC); + } +--- a/generic/bltVector.c ++++ b/generic/bltVector.c +@@ -370,7 +370,7 @@ + *indexPtr = (int)value; + cleanup: + if (string != zStatic) { +- Blt_Free( string ); ++ Blt_Free( (void *)string ); + } + return result; + } +--- a/generic/bltGrAxis.c ++++ b/generic/bltGrAxis.c +@@ -3436,7 +3436,7 @@ + Graph *graphPtr; + Axis *axisPtr; + int argc; +- char *argv[]; ++ CONST char *argv[]; + { + int flags; + +--- a/generic/bltGrElem.c ++++ b/generic/bltGrElem.c +@@ -1658,7 +1658,7 @@ + Graph *graphPtr; /* Graph widget */ + Tcl_Interp *interp; /* Interpreter to report results to */ + int argc; /* Number of element names */ +- char **argv; /* List of element names */ ++ CONST char **argv; /* List of element names */ + { + Element *elemPtr; + ClosestSearch search; +@@ -1821,12 +1821,12 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; +- char *argv[]; ++ CONST char *argv[]; + { + Element *elemPtr; + int flags; + int numNames, numOpts; +- char **options; ++ CONST char **options; + register int i; + + /* Figure out where the option value pairs begin */ +--- a/generic/bltGrGrid.c ++++ b/generic/bltGrGrid.c +@@ -355,7 +355,7 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Grid *gridPtr = (Grid *)graphPtr->gridPtr; + int flags; +--- a/generic/bltGrHairs.c ++++ b/generic/bltGrHairs.c +@@ -379,7 +379,7 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Crosshairs *chPtr = graphPtr->crosshairs; + +--- a/generic/bltGrLegd.c ++++ b/generic/bltGrLegd.c +@@ -1393,7 +1393,7 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + int flags = TK_CONFIG_ARGV_ONLY; + Legend *legendPtr; +--- a/generic/bltGrMarker.c ++++ b/generic/bltGrMarker.c +@@ -4274,13 +4274,13 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Marker *markerPtr; + int flags = TK_CONFIG_ARGV_ONLY; + char *oldName; + int nNames, nOpts; +- char **options; ++ CONST char **options; + register int i; + int under; + +--- a/generic/bltGrPen.c ++++ b/generic/bltGrPen.c +@@ -475,13 +475,13 @@ + Tcl_Interp *interp; + Graph *graphPtr; + int argc; +- char *argv[]; ++ CONST char *argv[]; + { + int flags; + Pen *penPtr; + int nNames, nOpts; + int redraw; +- char **options; ++ CONST char **options; + register int i; + + /* Figure out where the option value pairs begin */ +--- a/generic/bltGrPs.c ++++ b/generic/bltGrPs.c +@@ -406,7 +406,7 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; /* Number of options in argv vector */ +- char **argv; /* Option vector */ ++ CONST char **argv; /* Option vector */ + { + int flags = TK_CONFIG_ARGV_ONLY; + PostScript *psPtr = (PostScript *)graphPtr->postscript; +@@ -1110,7 +1110,7 @@ + Graph *graphPtr; /* Graph widget record */ + Tcl_Interp *interp; + int argc; /* Number of options in argv vector */ +- char **argv; /* Option vector */ ++ CONST char **argv; /* Option vector */ + { + PostScript *psPtr = (PostScript *)graphPtr->postscript; + FILE *f = NULL; +@@ -1121,7 +1121,7 @@ + fileName = NULL; + if (argc > 3) { + if (argv[3][0] != '-') { +- fileName = argv[3]; /* First argument is the file name. */ ++ fileName = (char *)argv[3]; /* First argument is the file name. */ + argv++, argc--; + } + if (Blt_ConfigureWidget(interp, graphPtr->tkwin, configSpecs, argc - 3, +--- a/generic/bltGraph.c ++++ b/generic/bltGraph.c +@@ -887,7 +887,7 @@ + CreateGraph(interp, argc, argv, classUid) + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + Blt_Uid classUid; + { + Graph *graphPtr; +@@ -1082,7 +1082,7 @@ + Graph *graphPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + int flags; + +--- a/generic/bltBitmap.c ++++ b/generic/bltBitmap.c +@@ -887,7 +887,7 @@ + ClientData clientData; /* Thread-specific data for bitmaps. */ + Tcl_Interp *interp; /* Interpreter to report results to */ + int argc; /* Number of arguments */ +- char **argv; /* Argument list */ ++ CONST char **argv; /* Argument list */ + { + BitmapInterpData *dataPtr = clientData; + int width, height; /* Dimensions of bitmap */ +@@ -934,7 +934,7 @@ + ts.leader = 0; + ts.anchor = TK_ANCHOR_CENTER; + +- textPtr = Blt_GetTextLayout(argv[3], &ts); ++ textPtr = Blt_GetTextLayout((char *)argv[3], &ts); + bitmap = Blt_CreateTextBitmap(tkwin, textPtr, &ts, &width, &height); + Blt_Free(textPtr); + if (bitmap == None) { +@@ -1003,7 +1003,7 @@ + ClientData clientData; /* Thread-specific data for bitmaps. */ + Tcl_Interp *interp; /* Interpreter to report results to */ + int argc; /* Number of arguments */ +- char **argv; /* Argument list */ ++ CONST char **argv; /* Argument list */ + { + BitmapInterpData *dataPtr = clientData; + int width, height; /* Dimensions of bitmap */ +@@ -1032,7 +1032,7 @@ + return TCL_ERROR; + } + /* Skip leading spaces. */ +- for (p = argv[3]; isspace(UCHAR(*p)); p++) { ++ for (p = (char *)argv[3]; isspace(UCHAR(*p)); p++) { + /*empty*/ + } + defn = Blt_Strdup(p); +--- a/generic/bltBusy.c ++++ b/generic/bltBusy.c +@@ -413,7 +413,7 @@ + Tcl_Interp *interp; + Busy *busyPtr; + int argc; +- char **argv; ++ CONST char **argv; + { + Tk_Cursor oldCursor; + +--- a/generic/bltCanvEps.c ++++ b/generic/bltCanvEps.c +@@ -1136,7 +1136,7 @@ + Tk_Canvas canvas; /* Canvas containing itemPtr. */ + Tk_Item *itemPtr; /* EPS item to reconfigure. */ + int argc; /* Number of elements in argv. */ +- char **argv; /* Arguments describing things to configure. */ ++ CONST char **argv; /* Arguments describing things to configure. */ + int flags; /* Flags to pass to Tk_ConfigureWidget. */ + { + EpsItem *epsPtr = (EpsItem *)itemPtr; +@@ -1282,10 +1282,10 @@ + unsigned long gcMask; + GC newGC; + int width, height, i; +- char **argv; ++ CONST char **argv; + + tkwin = Tk_CanvasTkwin(canvas); +- argv = (char**)ckalloc((argc+1)*sizeof(char*)); ++ argv = (CONST char **)ckalloc((argc+1)*sizeof(char*)); + for (i=0; i<argc; i++) { + argv[i] = Tcl_GetString(objv[i]); + } +--- a/generic/bltConfig.c ++++ b/generic/bltConfig.c +@@ -1545,7 +1545,7 @@ + Tk_Window tkwin; + int result; + char *tempName; +- char *oldClass; ++ CONST char *oldClass; + int isTemporary = FALSE; + + tempName = Blt_Strdup(resName); +@@ -1573,7 +1573,7 @@ + Blt_Free(tempName); + + Tk_SetClass(tkwin, className); +- result = Blt_ConfigureWidget(interp, tkwin, specsPtr, argc, argv, widgRec, ++ result = Blt_ConfigureWidget(interp, tkwin, specsPtr, argc, (CONST char **)argv, widgRec, + flags); + if (isTemporary) { + Tk_DestroyWindow(tkwin); +--- a/generic/bltOldConfig.c ++++ b/generic/bltOldConfig.c +@@ -578,7 +578,7 @@ + case TK_CONFIG_CUSTOM: + if ((*specPtr->customPtr->parseProc)( + specPtr->customPtr->clientData, interp, tkwin, +- value, widgRec, specPtr->offset) != TCL_OK) { ++ (char *)value, widgRec, specPtr->offset) != TCL_OK) { + return TCL_ERROR; + } + break; +@@ -737,7 +737,7 @@ + argv[2] = specPtr->dbClass; + argv[3] = specPtr->defValue; + if (specPtr->type == TK_CONFIG_SYNONYM) { +- return Tcl_Merge(2, argv); ++ return Tcl_Merge(2, (char * CONST *)argv); + } + argv[4] = FormatConfigValue(interp, tkwin, specPtr, widgRec, buffer, + &freeProc); +@@ -768,10 +768,10 @@ + + + argv[5] = conftypes[specPtr->type]; +- result = Tcl_Merge(6, argv); ++ result = Tcl_Merge(6, (char * CONST *)argv); + + } else { +- result = Tcl_Merge(5, argv); ++ result = Tcl_Merge(5, (char * CONST *)argv); + } + if (freeProc != NULL) { + if ((freeProc == TCL_DYNAMIC) || (freeProc == (Tcl_FreeProc *) free)) { +--- a/generic/bltContainer.c ++++ b/generic/bltContainer.c +@@ -1185,7 +1185,7 @@ + * may not already have values for + * some fields. */ + int argc; +- char **argv; ++ CONST char **argv; + int flags; + { + XGCValues gcValues; +--- a/generic/bltDragdrop.c ++++ b/generic/bltDragdrop.c +@@ -452,9 +452,9 @@ + static void SourceEventProc _ANSI_ARGS_((ClientData clientData, + XEvent *eventPtr)); + static int ConfigureSource _ANSI_ARGS_((Tcl_Interp *interp, Source * srcPtr, +- int argc, char **argv, int flags)); ++ int argc, CONST char **argv, int flags)); + static int ConfigureToken _ANSI_ARGS_((Tcl_Interp *interp, Source * srcPtr, +- int argc, char **argv)); ++ int argc, CONST char **argv)); + + static Target *CreateTarget _ANSI_ARGS_((Tcl_Interp *interp, Tk_Window tkwin)); + static Target *FindTarget _ANSI_ARGS_((Tk_Window tkwin)); +@@ -1060,7 +1060,7 @@ + Tcl_Interp *interp; + Source *srcPtr; + int argc; +- char **argv; ++ CONST char **argv; + { + Token *tokenPtr; + +@@ -1069,7 +1069,7 @@ + (char *)tokenPtr, TK_CONFIG_ARGV_ONLY) != TCL_OK) { + return TCL_ERROR; + } +- return ConfigureSource(interp, srcPtr, 0, (char **)NULL, ++ return ConfigureSource(interp, srcPtr, 0, (CONST char **)NULL, + TK_CONFIG_ARGV_ONLY); + } + +@@ -1161,7 +1161,7 @@ + srcPtr->token.borderWidth = srcPtr->token.activeBorderWidth = 3; + srcPtr->hashPtr = hPtr; + Blt_InitHashTable(&(srcPtr->handlerTable), BLT_STRING_KEYS); +- if (ConfigureSource(interp, srcPtr, 0, (char **)NULL, 0) != TCL_OK) { ++ if (ConfigureSource(interp, srcPtr, 0, (CONST char **)NULL, 0) != TCL_OK) { + DestroySource(srcPtr); + return NULL; + } +@@ -1280,7 +1280,7 @@ + Tcl_Interp *interp; /* current interpreter */ + register Source *srcPtr; /* drag&drop source widget record */ + int argc; /* number of arguments */ +- char **argv; /* argument strings */ ++ CONST char **argv; /* argument strings */ + int flags; /* flags controlling interpretation */ + { + unsigned long gcMask; +@@ -2332,11 +2332,11 @@ + TokenOp(interp, argc, argv) + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Source *srcPtr; + +- if (GetSource(interp, argv[2], &srcPtr) != TCL_OK) { ++ if (GetSource(interp, (char *)argv[2], &srcPtr) != TCL_OK) { + return TCL_ERROR; + } + if ((argc > 3) && +@@ -2408,7 +2408,7 @@ + SourceOp(interp, argc, argv) + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Source *srcPtr; + int isNew; +@@ -2429,7 +2429,7 @@ + /* + * Find or create source info... + */ +- srcPtr = CreateSource(interp, argv[2], &isNew); ++ srcPtr = CreateSource(interp, (char *)argv[2], &isNew); + if (srcPtr == NULL) { + return TCL_ERROR; + } +--- a/generic/bltHierbox.c ++++ b/generic/bltHierbox.c +@@ -1088,7 +1088,7 @@ + static void EventuallyInvokeSelectCmd _ANSI_ARGS_((Hierbox *hboxPtr)); + static int ComputeVisibleEntries _ANSI_ARGS_((Hierbox *hboxPtr)); + static int ConfigureEntry _ANSI_ARGS_((Hierbox *hboxPtr, Entry * entryPtr, +- int argc, char **argv, int flags)); ++ int argc, CONST char **argv, int flags)); + static void ComputeLayout _ANSI_ARGS_((Hierbox *hboxPtr)); + + static CompareProc ExactCompare, GlobCompare, RegexpCompare; +@@ -2064,7 +2064,7 @@ + } + entryPtr->labelText = Blt_Strdup(name); + +- if (ConfigureEntry(hboxPtr, entryPtr, 0, (char **)NULL, 0) != TCL_OK) { ++ if (ConfigureEntry(hboxPtr, entryPtr, 0, (CONST char **)NULL, 0) != TCL_OK) { + DestroyEntry(entryPtr); + return NULL; + } +@@ -3309,7 +3309,7 @@ + Hierbox *hboxPtr; + Entry *entryPtr; + int argc; +- char **argv; ++ CONST char **argv; + int flags; + { + GC newGC; +@@ -3926,7 +3926,7 @@ + Hierbox *hboxPtr; /* Information about widget; may or may not + * already have values for some fields. */ + int argc; +- char **argv; ++ CONST char **argv; + int flags; + { + XGCValues gcValues; +@@ -5493,7 +5493,7 @@ + Hierbox *hboxPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + /* Figure out where the option value pairs begin */ + argc -= 3; +@@ -5829,7 +5829,7 @@ + char **argv; + { + int nIds, nOpts; +- char **options; ++ CONST char **options; + register int i; + Tree *treePtr; + +@@ -5847,7 +5847,7 @@ + } + nIds = i; /* Number of element names specified */ + nOpts = argc - i; /* Number of options specified */ +- options = argv + i; /* Start of options in argv */ ++ options = (CONST char **)argv + i; /* Start of options in argv */ + + for (i = 0; i < nIds; i++) { + StringToNode(hboxPtr, argv[i], &treePtr); +@@ -7204,7 +7204,7 @@ + Tcl_DString dString; + register int i, l; + int nOpts; +- char **options; ++ CONST char **options; + char **nameArr; + + rootPtr = hboxPtr->rootPtr; +@@ -7230,7 +7230,7 @@ + } + } + nOpts = argc - count; +- options = argv + count; ++ options = (CONST char **)argv + count; + + Tcl_DStringInit(&dString); + for (i = 0; i < count; i++) { +--- a/generic/bltHtext.c ++++ b/generic/bltHtext.c +@@ -3948,7 +3948,7 @@ + HText *htPtr; /* Hypertext widget */ + Tcl_Interp *interp; /* Interpreter associated with widget */ + int argc; /* Number of arguments. */ +- char **argv; /* Argument strings. */ ++ CONST char **argv; /* Argument strings. */ + { + Line *linePtr; + EmbeddedWidget *winPtr; +@@ -4092,7 +4092,7 @@ + HText *htPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + char *itemPtr; + Tk_ConfigSpec *specsPtr; +@@ -4531,7 +4531,7 @@ + Itk_SetWidgetCommand(htPtr->tkwin, htPtr->cmdToken); + #endif + if ((Blt_ConfigureWidget(interp, htPtr->tkwin, configSpecs, argc - 2, +- argv + 2, (char *)htPtr, 0) != TCL_OK) || ++ (CONST char **)argv + 2, (char *)htPtr, 0) != TCL_OK) || + (ConfigureText(interp, htPtr) != TCL_OK)) { + Tk_DestroyWindow(htPtr->tkwin); + return TCL_ERROR; +--- a/generic/bltTable.c ++++ b/generic/bltTable.c +@@ -1181,7 +1181,7 @@ + Tcl_Interp *interp; + Entry *entryPtr; + int argc; /* Option-value arguments */ +- char **argv; ++ CONST char **argv; + { + int oldRowSpan, oldColSpan; + +@@ -1533,7 +1533,7 @@ + PartitionInfo *infoPtr; + char *pattern; + int argc; +- char **argv; ++ CONST char **argv; + { + RowColumn *rcPtr; + register Blt_ChainLink *linkPtr; +@@ -1852,7 +1852,7 @@ + Table *tablePtr; /* Table to be configured */ + Tcl_Interp *interp; /* Interpreter to report results back to */ + int argc; +- char **argv; /* Option-value pairs */ ++ CONST char **argv; /* Option-value pairs */ + { + if (argc == 0) { + return Tk_ConfigureInfo(interp, tablePtr->tkwin, tableConfigSpecs, +@@ -2179,7 +2179,7 @@ + Tk_Window tkwin; + int row, column; + int argc; +- char **argv; ++ CONST char **argv; + { + Entry *entryPtr; + int result = TCL_OK; +--- a/generic/bltTabnotebook.c ++++ b/generic/bltTabnotebook.c +@@ -2758,7 +2758,7 @@ + * may not already have values for + * some fields. */ + int argc; +- char **argv; ++ CONST char **argv; + int flags; + { + XGCValues gcValues; +@@ -3155,7 +3155,7 @@ + Notebook *nbPtr; + Tcl_Interp *interp; + int argc; /* Not used. */ +- char **argv; ++ CONST char **argv; + { + Tab *tabPtr; + Blt_ChainLink *linkPtr, *beforeLinkPtr; +@@ -3193,7 +3193,7 @@ + } + lastNotebookInstance = nbPtr; + if (Blt_ConfigureWidgetComponent(interp, nbPtr->tkwin, tabPtr->name, +- "Tab", tabConfigSpecs, argc - 3, argv + 3, (char *)tabPtr, 0) ++ "Tab", tabConfigSpecs, argc - 3, (char **)argv + 3, (char *)tabPtr, 0) + != TCL_OK) { + DestroyTab(nbPtr, tabPtr); + return TCL_ERROR; +@@ -3658,10 +3658,10 @@ + Notebook *nbPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + int nTabs, nOpts, result; +- char **options; ++ CONST char **options; + register int i; + Tab *tabPtr; + +--- a/generic/bltTabset.c ++++ b/generic/bltTabset.c +@@ -3154,7 +3154,7 @@ + * may not already have values for + * some fields. */ + int argc, +- char **argv, ++ CONST char **argv, + int flags) + { + XGCValues gcValues; +@@ -3404,7 +3404,7 @@ + Tabset *setPtr, + Tcl_Interp *interp, + int argc, +- char **argv) ++ CONST char **argv) + { + tabSet = setPtr; + if (argc == 2) { +@@ -3665,7 +3665,7 @@ + } else { + Tab *beforePtr; + +- if (GetTabByIndName(setPtr, argv[2], &beforePtr) ++ if (GetTabByIndName(setPtr, (char *)argv[2], &beforePtr) + != TCL_OK) { + result = TCL_ERROR; + goto finish; +@@ -4415,10 +4415,10 @@ + Tabset *setPtr; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + int nTabs, nOpts, result; +- char **options; ++ CONST char **options; + register int i; + Tab *tabPtr; + +@@ -6844,7 +6844,7 @@ + return TCL_ERROR; + } + setPtr = CreateTabset(interp, tkwin); +- if (ConfigureTabset(interp, setPtr, argc - 2, argv + 2, 0) != TCL_OK) { ++ if (ConfigureTabset(interp, setPtr, argc - 2, (CONST char **)argv + 2, 0) != TCL_OK) { + Tk_DestroyWindow(setPtr->tkwin); + return TCL_ERROR; + } +--- a/generic/bltTreeViewCmd.c ++++ b/generic/bltTreeViewCmd.c +@@ -5186,8 +5186,8 @@ + char *string, *subPath; + int nLen, idx, useid, oLen; + int sobjc, tobjc; +- Tcl_Obj *CONST *sobjv; +- Tcl_Obj *CONST *tobjv; ++ Tcl_Obj **sobjv; ++ Tcl_Obj **tobjv; + TreeViewStyle *stylePtr; + TreeViewColumn *columnPtr; + TreeViewEntry *entryPtr; +--- a/generic/bltUnixDnd.c ++++ b/generic/bltUnixDnd.c +@@ -620,7 +620,7 @@ + static void DestroyDnd _ANSI_ARGS_((DestroyData data)); + static int DndEventProc _ANSI_ARGS_((ClientData clientData, XEvent *eventPtr)); + static int ConfigureToken _ANSI_ARGS_((Tcl_Interp *interp, Dnd *dndPtr, +- int argc, char **argv, int flags)); ++ int argc, CONST char **argv, int flags)); + + static Winfo *OverTarget _ANSI_ARGS_((Dnd *dndPtr)); + static void AddTargetProperty _ANSI_ARGS_((Dnd *dndPtr)); +@@ -1825,7 +1825,7 @@ + Tcl_Interp *interp; /* current interpreter */ + Dnd *dndPtr; /* Drag&drop source widget record */ + int argc; /* number of arguments */ +- char **argv; /* argument strings */ ++ CONST char **argv; /* argument strings */ + int flags; /* flags controlling interpretation */ + { + GC newGC; +@@ -3761,12 +3761,12 @@ + ClientData clientData; /* Thread-specific data. */ + Tcl_Interp *interp; /* current interpreter */ + int argc; /* number of arguments */ +- char **argv; /* argument strings */ ++ CONST char **argv; /* argument strings */ + { + Dnd *dndPtr; + int flags; + +- if (GetDnd(clientData, interp, argv[2], &dndPtr) != TCL_OK) { ++ if (GetDnd(clientData, interp, (char *)argv[2], &dndPtr) != TCL_OK) { + return TCL_ERROR; + } + flags = TK_CONFIG_ARGV_ONLY; +@@ -4418,7 +4418,7 @@ + ClientData clientData; + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + DndInterpData *dataPtr = clientData; + Tk_Window tkwin; +@@ -4462,12 +4462,12 @@ + ClientData clientData; /* Thread-specific data. */ + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Dnd *dndPtr; + int flags; + +- if (GetDnd(clientData, interp, argv[3], &dndPtr) != TCL_OK) { ++ if (GetDnd(clientData, interp, (char *)argv[3], &dndPtr) != TCL_OK) { + return TCL_ERROR; + } + flags = 0; +@@ -4529,13 +4529,13 @@ + ClientData clientData; /* Thread-specific data. */ + Tcl_Interp *interp; + int argc; +- char **argv; ++ CONST char **argv; + { + Token *tokenPtr; + Dnd *dndPtr; + int flags; + +- if (GetDnd(clientData, interp, argv[3], &dndPtr) != TCL_OK) { ++ if (GetDnd(clientData, interp, (char *)argv[3], &dndPtr) != TCL_OK) { + return TCL_ERROR; + } + flags = TK_CONFIG_ARGV_ONLY; +--- a/generic/tkButton.c ++++ b/generic/tkButton.c +@@ -855,7 +855,7 @@ + Tcl_Interp *interp, int argc, char **argv)); + static void ComputeButtonGeometry _ANSI_ARGS_((Button *butPtr)); + static int ConfigureButton _ANSI_ARGS_((Tcl_Interp *interp, +- Button *butPtr, int argc, char **argv, ++ Button *butPtr, int argc, CONST char **argv, + int flags)); + static void DestroyButton _ANSI_ARGS_((Button *butPtr)); + static void DisplayButton _ANSI_ARGS_((ClientData clientData)); +@@ -1305,7 +1305,7 @@ + Tk_CreateEventHandler(butPtr->tkwin, + ExposureMask | StructureNotifyMask | FocusChangeMask, + ButtonEventProc, butPtr); +- if (ConfigureButton(interp, butPtr, argc - 2, argv + 2, ++ if (ConfigureButton(interp, butPtr, argc - 2, (CONST char **)argv + 2, + configFlags[type]) != TCL_OK) { + Tk_DestroyWindow(butPtr->tkwin); + return TCL_ERROR; +@@ -1337,7 +1337,7 @@ + value = Tcl_GetString(valuePtr); + } + } +- return value; ++ return (char *)value; + } + + static int ButtonSetValue(Button *butPtr, char *value, int warn) { +@@ -1427,7 +1427,7 @@ + (char *)butPtr, argv[2], + configFlags[butPtr->type]); + } else { +- result = ConfigureButton(interp, butPtr, argc - 2, argv + 2, ++ result = ConfigureButton(interp, butPtr, argc - 2, (CONST char **)argv + 2, + configFlags[butPtr->type] | TK_CONFIG_ARGV_ONLY); + } + } else if ((c == 'd') && (strncmp(argv[1], "deselect", length) == 0) +@@ -1694,7 +1694,7 @@ + register Button *butPtr; /* Information about widget; may or may + * not already have values for some fields. */ + int argc; /* Number of valid entries in argv. */ +- char **argv; /* Arguments. */ ++ CONST char **argv; /* Arguments. */ + int flags; /* Flags to pass to Tk_ConfigureWidget. */ + { + XGCValues gcValues; +--- a/generic/tkFrame.c ++++ b/generic/tkFrame.c +@@ -734,7 +734,7 @@ + #endif /* TK_MAJOR_VERSION > 4 */ + + if (Tk_ConfigureWidget(interp, framePtr->tkwin, configSpecs, +- argc, argv, (char *)framePtr, flags | framePtr->mask) != TCL_OK) { ++ argc, (CONST char **)argv, (char *)framePtr, flags | framePtr->mask) != TCL_OK) { + return TCL_ERROR; + } + if (framePtr->tile != NULL) { +--- a/generic/bltScrollbar.c ++++ b/generic/bltScrollbar.c +@@ -301,7 +301,7 @@ + static void ComputeScrollbarGeometry _ANSI_ARGS_(( + Scrollbar *scrollPtr)); + static int ConfigureScrollbar _ANSI_ARGS_((Tcl_Interp *interp, +- Scrollbar *scrollPtr, int argc, char **argv, ++ Scrollbar *scrollPtr, int argc, CONST char **argv, + int flags)); + static void DestroyScrollbar _ANSI_ARGS_((DestroyData *memPtr)); + static void DisplayScrollbar _ANSI_ARGS_((ClientData clientData)); +@@ -434,7 +434,7 @@ + Tk_CreateEventHandler(scrollPtr->tkwin, + ExposureMask | StructureNotifyMask | FocusChangeMask, + ScrollbarEventProc, (ClientData)scrollPtr); +- if (ConfigureScrollbar(interp, scrollPtr, argc - 2, argv + 2, 0) != TCL_OK) { ++ if (ConfigureScrollbar(interp, scrollPtr, argc - 2, (CONST char **)argv + 2, 0) != TCL_OK) { + goto error; + } + Tcl_SetResult(interp, Tk_PathName(scrollPtr->tkwin), TCL_VOLATILE); +@@ -558,7 +558,7 @@ + result = Tk_ConfigureInfo(interp, scrollPtr->tkwin, configSpecs, + (char *)scrollPtr, argv[2], 0); + } else { +- result = ConfigureScrollbar(interp, scrollPtr, argc - 2, argv + 2, ++ result = ConfigureScrollbar(interp, scrollPtr, argc - 2, (CONST char **)argv + 2, + TK_CONFIG_ARGV_ONLY); + } + } else if ((c == 'd') && (strncmp(argv[1], "delta", length) == 0)) { +@@ -904,7 +904,7 @@ + * may not already have values for + * some fields. */ + int argc; /* Number of valid entries in argv. */ +- char **argv; /* Arguments. */ ++ CONST char **argv; /* Arguments. */ + int flags; /* Flags to pass to + * Tk_ConfigureWidget. */ + { +--- a/generic/bltTed.c ++++ b/generic/bltTed.c +@@ -819,7 +819,7 @@ + ConfigureTed(tedPtr, argc, argv, flags) + Ted *tedPtr; + int argc; +- char **argv; /* Option-value pairs */ ++ CONST char **argv; /* Option-value pairs */ + int flags; + { + XGCValues gcValues; |