diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-01-23 13:54:02 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-01-23 13:54:02 (GMT) |
commit | 4ece42ac76dc352bf0fddf6d8edee38be7cc0014 (patch) | |
tree | 0028ca75dcb8547031bc91b8a1cedad97a6602ff /generic | |
parent | e64d38045b3d09b51e7f212794155a7df8b0bc1f (diff) | |
parent | 2c1df2e9f4f50fb3d70656c278d42ca0da4401d4 (diff) | |
download | tk-4ece42ac76dc352bf0fddf6d8edee38be7cc0014.zip tk-4ece42ac76dc352bf0fddf6d8edee38be7cc0014.tar.gz tk-4ece42ac76dc352bf0fddf6d8edee38be7cc0014.tar.bz2 |
Merge 8.6
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkText.c | 5 | ||||
-rw-r--r-- | generic/tkText.h | 38 | ||||
-rw-r--r-- | generic/tkTextTag.c | 321 |
3 files changed, 284 insertions, 80 deletions
diff --git a/generic/tkText.c b/generic/tkText.c index 7616d4d..ddb24de 100644 --- a/generic/tkText.c +++ b/generic/tkText.c @@ -627,9 +627,10 @@ CreateWidget( */ textPtr->selTagPtr = TkTextCreateTag(textPtr, "sel", NULL); + textPtr->selTagPtr->reliefString = (char *) + ckalloc(sizeof(DEF_TEXT_SELECT_RELIEF)); + strcpy(textPtr->selTagPtr->reliefString, DEF_TEXT_SELECT_RELIEF); Tk_GetRelief(interp, DEF_TEXT_SELECT_RELIEF, &textPtr->selTagPtr->relief); - textPtr->selTagPtr->reliefObj = Tcl_NewStringObj(DEF_TEXT_SELECT_RELIEF, -1); - Tcl_IncrRefCount(textPtr->selTagPtr->reliefObj); textPtr->currentMarkPtr = TkTextSetMark(textPtr, "current", &startIndex); textPtr->insertMarkPtr = TkTextSetMark(textPtr, "insert", &startIndex); diff --git a/generic/tkText.h b/generic/tkText.h index 46d837d..6cdc640 100644 --- a/generic/tkText.h +++ b/generic/tkText.h @@ -342,7 +342,8 @@ typedef struct TkTextTag { * value specified here. */ int borderWidth; /* Width of 3-D border for background. */ Tcl_Obj *borderWidthPtr; /* Width of 3-D border for background. */ - Tcl_Obj *reliefObj; + char *reliefString; /* -relief option string (malloc-ed). NULL + * means option not specified. */ int relief; /* 3-D relief for background. */ Pixmap bgStipple; /* Stipple bitmap for background. None means * no value specified here. */ @@ -353,31 +354,34 @@ typedef struct TkTextTag { Pixmap fgStipple; /* Stipple bitmap for text and other * foreground stuff. None means no value * specified here.*/ - Tcl_Obj *justifyObj; - Tk_Justify justify; /* How to justify text: TK_JUSTIFY_LEFT, - * TK_JUSTIFY_RIGHT, TK_JUSTIFY_CENTER, or TK_JUSTIFY_NULL. */ - Tcl_Obj *lMargin1Obj; /* -lmargin1 option object. NULL + char *justifyString; /* -justify option string (malloc-ed). NULL + * means option not specified. */ + Tk_Justify justify; /* How to justify text: TK_JUSTIFY_CENTER, + * TK_JUSTIFY_LEFT, or TK_JUSTIFY_RIGHT. + * Only valid if justifyString is non-NULL. */ + char *lMargin1String; /* -lmargin1 option string (malloc-ed). NULL * means option not specified. */ int lMargin1; /* Left margin for first display line of each * text line, in pixels. INT_MIN means option not specified. */ - Tcl_Obj *lMargin2Obj; /* -lmargin2 option object. NULL + char *lMargin2String; /* -lmargin2 option string (malloc-ed). NULL * means option not specified. */ int lMargin2; /* Left margin for second and later display lines - * of each text line, in pixels. */ + * of each text line, in pixels. INT_MIN means option not specified. */ Tk_3DBorder lMarginColor; /* Used for drawing background in left margins. * This is used for both lmargin1 and lmargin2. * NULL means no value specified here. */ - Tcl_Obj *offsetObj; /* -offset option. NULL means option not specified. */ + char *offsetString; /* -offset option string (malloc-ed). NULL + * means option not specified. */ int offset; /* Vertical offset of text's baseline from * baseline of line. Used for superscripts and * subscripts. INT_MIN means option not specified. */ - Tcl_Obj *overstrikePtr; /* -overstrike option. NULL + char *overstrikeString; /* -overstrike option string (malloc-ed). NULL * means option not specified. */ int overstrike; /* > 0 means draw horizontal line through * middle of text. -1 means not specified. */ XColor *overstrikeColor; /* Color for the overstrike. NULL means same * color as foreground. */ - Tcl_Obj *rMarginObj; /* -rmargin option object. NULL + char *rMarginString; /* -rmargin option string (malloc-ed). NULL * means option not specified. */ int rMargin; /* Right margin for text, in pixels. INT_MIN means option not specified. */ Tk_3DBorder rMarginColor; /* Used for drawing background in right margin. @@ -386,15 +390,15 @@ typedef struct TkTextTag { * NULL means no value specified here. */ XColor *selFgColor; /* Foreground color for selected text. NULL means * no value specified here. */ - Tcl_Obj *spacing1Obj; /* -spacing1 option object. NULL + char *spacing1String; /* -spacing1 option string (malloc-ed). NULL * means option not specified. */ int spacing1; /* Extra spacing above first display line for * text line. INT_MIN means option not specified. */ - Tcl_Obj *spacing2Obj; /* -spacing2 option object. NULL + char *spacing2String; /* -spacing2 option string (malloc-ed). NULL * means option not specified. */ int spacing2; /* Extra spacing between display lines for the * same text line. INT_MIN means option not specified. */ - Tcl_Obj *spacing3Obj; /* -spacing3 option object. NULL + char *spacing3String; /* -spacing3 option string (malloc-ed). NULL * means option not specified. */ int spacing3; /* Extra spacing below last display line for * text line. INT_MIN means option not specified. */ @@ -403,9 +407,9 @@ typedef struct TkTextTag { struct TkTextTabArray *tabArrayPtr; /* Info about tabs for tag (malloc-ed) or * NULL. Corresponds to tabString. */ - TkTextTabStyle tabStyle; /* One of TK_TEXT_TABSTYLE_TABULAR or TK_TEXT_TABSTYLE_WORDPROCESSOR - * or TK_TEXT_TABSTYLE_NULL (if not specified). */ - Tcl_Obj *underlinePtr; /* -underline option. NULL + TkTextTabStyle tabStyle; /* One of TK_TEXT_TABSTYLE_TABULAR, TK_TEXT_TABSTYLE_WORDPROCESSOR + * or TK_TEXT_TABSTYLE_NONE. (if not specified)*/ + char *underlineString; /* -underline option string (malloc-ed). NULL * means option not specified. */ int underline; /* > 0 means draw underline underneath * text. -1 means not specified. */ @@ -415,7 +419,7 @@ typedef struct TkTextTag { * Must be TEXT_WRAPMODE_CHAR, TEXT_WRAPMODE_WORD, * TEXT_WRAPMODE_NONE, or TEXT_WRAPMODE_NULL to * use wrapmode for whole widget. */ - Tcl_Obj *elideObj; /* -elide option. NULL + char *elideString; /* -elide option string (malloc-ed). NULL * means option not specified. */ int elide; /* > 0 means that data under this tag * should not be displayed. -1 means not specified. */ diff --git a/generic/tkTextTag.c b/generic/tkTextTag.c index e21f2ac..add03c0 100644 --- a/generic/tkTextTag.c +++ b/generic/tkTextTag.c @@ -16,6 +16,222 @@ #include "tkText.h" #include "default.h" +/* This struct can be used for booleans, relief and pixels */ +typedef struct { + char *string; + int value; +} IntStruct; + +typedef struct { + char *string; + Tk_Justify value; +} JustifyStruct; + +static int +ObjectIsEmpty( + Tcl_Obj *objPtr) /* Object to test. May be NULL. */ +{ + if (objPtr == NULL) { + return 1; + } + if (objPtr->bytes == NULL) { + Tcl_GetString(objPtr); + } + return (objPtr->length == 0); +} + +#define OPTION_NONNEG (1 << 10) + +static int +SetPixels( + TCL_UNUSED(void *), + Tcl_Interp *interp, + Tk_Window tkwin, + Tcl_Obj **value, + char *recordPtr, + int internalOffset, + char *oldInternalPtr, + int flags) +{ + IntStruct pixel = {NULL, INT_MIN}; + IntStruct *internalPtr = (IntStruct *)(recordPtr + internalOffset); + + if (!(flags & TK_OPTION_NULL_OK) || !ObjectIsEmpty(*value)) { + if (Tk_GetPixelsFromObj(interp, tkwin, *value, &pixel.value) != TCL_OK) { + return TCL_ERROR; + } + if ((flags & OPTION_NONNEG) && pixel.value < 0) { + pixel.value = 0; + } + pixel.string = ckalloc((*value)->length + 1); + strcpy(pixel.string, (*value)->bytes); + } + + *((char **)oldInternalPtr) = NULL; + *internalPtr = pixel; + return TCL_OK; +}; + +static int +SetBoolean( + TCL_UNUSED(void *), + Tcl_Interp *interp, + TCL_UNUSED(Tk_Window), + Tcl_Obj **value, + char *recordPtr, + int internalOffset, + char *oldInternalPtr, + int flags) +{ + IntStruct booleanVal = {NULL, -1}; + IntStruct *internalPtr = (IntStruct *)(recordPtr + internalOffset); + int nullOK = (flags & TK_OPTION_NULL_OK); + + if (!nullOK || !ObjectIsEmpty(*value)) { + if (Tcl_GetBooleanFromObj(nullOK ? NULL : interp, *value, &booleanVal.value) != TCL_OK) { + if (nullOK) { + Tcl_AppendResult(interp, "expected boolean value or \"\" but got \"", + Tcl_GetString(*value), "\"", NULL); + } + return TCL_ERROR; + } + booleanVal.string = ckalloc((*value)->length + 1); + strcpy(booleanVal.string, (*value)->bytes); + } + + *((char **)oldInternalPtr) = NULL; + *internalPtr = booleanVal; + return TCL_OK; +}; + +static int +SetRelief( + TCL_UNUSED(void *), + Tcl_Interp *interp, + TCL_UNUSED(Tk_Window), + Tcl_Obj **value, + char *recordPtr, + int internalOffset, + char *oldInternalPtr, + int flags) +{ + IntStruct relief = {NULL, TK_RELIEF_NULL}; + IntStruct *internalPtr = (IntStruct *)(recordPtr + internalOffset); + int nullOK = (flags & TK_OPTION_NULL_OK); + + if (!nullOK || !ObjectIsEmpty(*value)) { + if (Tk_GetReliefFromObj(nullOK ? NULL : interp, *value, &relief.value) != TCL_OK) { + if (nullOK) { + Tcl_AppendResult(interp, "bad relief \"", + Tcl_GetString(*value), "\": must be flat, groove, raised, ridge, solid, sunken, or \"\"", NULL); + } + return TCL_ERROR; + } + relief.string = ckalloc((*value)->length + 1); + strcpy(relief.string, (*value)->bytes); + } + + *((char **)oldInternalPtr) = NULL; + *internalPtr = relief; + return TCL_OK; +}; + +static int +SetJustify( + TCL_UNUSED(void *), + Tcl_Interp *interp, + TCL_UNUSED(Tk_Window), + Tcl_Obj **value, + char *recordPtr, + int internalOffset, + char *oldInternalPtr, + int flags) +{ + JustifyStruct justify = {NULL, TK_JUSTIFY_NULL}; + JustifyStruct *internalPtr = (JustifyStruct *)(recordPtr + internalOffset); + int nullOK = (flags & TK_OPTION_NULL_OK); + + if (!nullOK || !ObjectIsEmpty(*value)) { + if (Tk_GetJustifyFromObj(nullOK ? NULL : interp, *value, &justify.value) != TCL_OK) { + if (nullOK) { + Tcl_AppendResult(interp, "bad justification \"", + Tcl_GetString(*value), "\": must be left, right, center, or \"\"", NULL); + } + return TCL_ERROR; + } + justify.string = ckalloc((*value)->length + 1); + strcpy(justify.string, (*value)->bytes); + } + + *((char **)oldInternalPtr) = NULL; + *internalPtr = justify; + return TCL_OK; +}; + +static Tcl_Obj *GetStruct( + TCL_UNUSED(void *), + TCL_UNUSED(Tk_Window), + char *recordPtr, + int internalOffset) +{ + char **structPtr = (char **)(recordPtr + internalOffset); + + if (*structPtr == NULL || **structPtr == '\0') { + return Tcl_NewObj(); + } + return Tcl_NewStringObj(*structPtr, TCL_INDEX_NONE); +}; + + +static void +FreeStruct( + TCL_UNUSED(void *), + TCL_UNUSED(Tk_Window), + char *internalPtr) +{ + char **structPtr = (char **)internalPtr; + if (*structPtr) { + ckfree(*structPtr); + *structPtr = NULL; + } +}; + +static const Tk_ObjCustomOption pixelsOption = { + "pixels", /* name */ + SetPixels, /* setProc */ + GetStruct, /* getProc */ + NULL, /* restoreProc */ + FreeStruct, /* freeProc */ + 0 +}; + +static const Tk_ObjCustomOption booleanOption = { + "boolean", /* name */ + SetBoolean, /* setProc */ + GetStruct, /* getProc */ + NULL, /* restoreProc */ + FreeStruct, /* freeProc */ + 0 +}; + +static const Tk_ObjCustomOption justifyOption = { + "justify", /* name */ + SetJustify, /* setProc */ + GetStruct, /* getProc */ + NULL, /* restoreProc */ + FreeStruct, /* freeProc */ + 0 +}; + +static const Tk_ObjCustomOption reliefOption = { + "relief", /* name */ + SetRelief, /* setProc */ + GetStruct, /* getProc */ + NULL, /* restoreProc */ + FreeStruct, /* freeProc */ + 0 +}; + static const Tk_OptionSpec tagOptionSpecs[] = { {TK_OPTION_BORDER, "-background", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, border), TK_OPTION_NULL_OK, 0, 0}, @@ -24,55 +240,55 @@ static const Tk_OptionSpec tagOptionSpecs[] = { {TK_OPTION_PIXELS, "-borderwidth", NULL, NULL, NULL, offsetof(TkTextTag, borderWidthPtr), offsetof(TkTextTag, borderWidth), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_BOOLEAN, "-elide", NULL, NULL, - NULL, offsetof(TkTextTag, elideObj), offsetof(TkTextTag, elide), - TK_OPTION_NULL_OK, 0, 0}, + {TK_OPTION_CUSTOM, "-elide", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, elideString), + TK_OPTION_NULL_OK, &booleanOption, 0}, {TK_OPTION_BITMAP, "-fgstipple", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, fgStipple), TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_FONT, "-font", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, tkfont), TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_COLOR, "-foreground", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, fgColor), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_JUSTIFY, "-justify", NULL, NULL, - NULL, offsetof(TkTextTag, justifyObj), offsetof(TkTextTag, justify), TK_OPTION_NULL_OK, 0,0}, - {TK_OPTION_PIXELS, "-lmargin1", NULL, NULL, - NULL, offsetof(TkTextTag, lMargin1Obj), offsetof(TkTextTag, lMargin1), TK_OPTION_NULL_OK,0,0}, - {TK_OPTION_PIXELS, "-lmargin2", NULL, NULL, - NULL, offsetof(TkTextTag, lMargin2Obj), offsetof(TkTextTag, lMargin2), TK_OPTION_NULL_OK,0,0}, + {TK_OPTION_CUSTOM, "-justify", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, justifyString), TK_OPTION_NULL_OK, &justifyOption,0}, + {TK_OPTION_CUSTOM, "-lmargin1", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, lMargin1String), TK_OPTION_NULL_OK,&pixelsOption,0}, + {TK_OPTION_CUSTOM, "-lmargin2", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, lMargin2String), TK_OPTION_NULL_OK,&pixelsOption,0}, {TK_OPTION_BORDER, "-lmargincolor", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, lMarginColor), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_PIXELS, "-offset", NULL, NULL, - NULL, offsetof(TkTextTag, offsetObj), offsetof(TkTextTag, offset), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_BOOLEAN, "-overstrike", NULL, NULL, - NULL, offsetof(TkTextTag, overstrikePtr), offsetof(TkTextTag, overstrike), - TK_OPTION_NULL_OK, 0, 0}, + {TK_OPTION_CUSTOM, "-offset", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, offsetString), TK_OPTION_NULL_OK, &pixelsOption, 0}, + {TK_OPTION_CUSTOM, "-overstrike", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, overstrikeString), + TK_OPTION_NULL_OK, &booleanOption, 0}, {TK_OPTION_COLOR, "-overstrikefg", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, overstrikeColor), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_RELIEF, "-relief", NULL, NULL, - NULL, offsetof(TkTextTag, reliefObj), offsetof(TkTextTag, relief), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_PIXELS, "-rmargin", NULL, NULL, - NULL, offsetof(TkTextTag, rMarginObj), offsetof(TkTextTag, rMargin), TK_OPTION_NULL_OK, 0,0}, + {TK_OPTION_CUSTOM, "-relief", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, reliefString), TK_OPTION_NULL_OK, &reliefOption, 0}, + {TK_OPTION_CUSTOM, "-rmargin", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, rMarginString), TK_OPTION_NULL_OK, &pixelsOption,0}, {TK_OPTION_BORDER, "-rmargincolor", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, rMarginColor), TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_BORDER, "-selectbackground", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, selBorder), TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_COLOR, "-selectforeground", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, selFgColor), TK_OPTION_NULL_OK, 0, 0}, - {TK_OPTION_PIXELS, "-spacing1", NULL, NULL, - NULL, offsetof(TkTextTag, spacing1Obj), offsetof(TkTextTag, spacing1), TK_OPTION_NULL_OK,0,0}, - {TK_OPTION_PIXELS, "-spacing2", NULL, NULL, - NULL, offsetof(TkTextTag, spacing2Obj), offsetof(TkTextTag, spacing2), TK_OPTION_NULL_OK,0,0}, - {TK_OPTION_PIXELS, "-spacing3", NULL, NULL, - NULL, offsetof(TkTextTag, spacing3Obj), offsetof(TkTextTag, spacing3), TK_OPTION_NULL_OK,0,0}, + {TK_OPTION_CUSTOM, "-spacing1", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, spacing1String), TK_OPTION_NULL_OK|OPTION_NONNEG, &pixelsOption,0}, + {TK_OPTION_CUSTOM, "-spacing2", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, spacing2String), TK_OPTION_NULL_OK|OPTION_NONNEG, &pixelsOption,0}, + {TK_OPTION_CUSTOM, "-spacing3", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, spacing3String), TK_OPTION_NULL_OK|OPTION_NONNEG, &pixelsOption,0}, {TK_OPTION_STRING, "-tabs", NULL, NULL, NULL, offsetof(TkTextTag, tabStringPtr), TCL_INDEX_NONE, TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_STRING_TABLE, "-tabstyle", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, tabStyle), TK_OPTION_NULL_OK|TK_OPTION_ENUM_VAR, tkTextTabStyleStrings, 0}, - {TK_OPTION_BOOLEAN, "-underline", NULL, NULL, - NULL, offsetof(TkTextTag, underlinePtr), offsetof(TkTextTag, underline), - TK_OPTION_NULL_OK, 0, 0}, + {TK_OPTION_CUSTOM, "-underline", NULL, NULL, + NULL, TCL_INDEX_NONE, offsetof(TkTextTag, underlineString), + TK_OPTION_NULL_OK, &booleanOption, 0}, {TK_OPTION_COLOR, "-underlinefg", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, underlineColor), TK_OPTION_NULL_OK, 0, 0}, @@ -170,12 +386,12 @@ TkTextTagCmd( */ textPtr->sharedTextPtr->stateEpoch++; } - for (i = 4; i < (Tcl_Size)objc; i += 2) { + for (i = 4; i < objc; i += 2) { if (TkTextGetObjIndex(interp, textPtr, objv[i], &index1) != TCL_OK) { return TCL_ERROR; } - if ((Tcl_Size)objc > (i+1)) { + if (objc > (i+1)) { if (TkTextGetObjIndex(interp, textPtr, objv[i+1], &index2) != TCL_OK) { return TCL_ERROR; @@ -351,8 +567,6 @@ TkTextTagCmd( Tcl_SetObjResult(interp, objPtr); return TCL_OK; } else { - int result = TCL_OK; - if (Tk_SetOptions(interp, tagPtr, tagPtr->optionTable, objc-4, objv+4, textPtr->tkwin, NULL, NULL) != TCL_OK) { return TCL_ERROR; @@ -368,21 +582,6 @@ TkTextTagCmd( if (tagPtr->borderWidth < 0) { tagPtr->borderWidth = 0; } - if (tagPtr->spacing1 != INT_MIN) { - if (tagPtr->spacing1 < 0) { - tagPtr->spacing1 = 0; - } - } - if (tagPtr->spacing2 != INT_MIN) { - if (tagPtr->spacing2 < 0) { - tagPtr->spacing2 = 0; - } - } - if (tagPtr->spacing3 != INT_MIN) { - if (tagPtr->spacing3 < 0) { - tagPtr->spacing3 = 0; - } - } if (tagPtr->tabArrayPtr != NULL) { ckfree(tagPtr->tabArrayPtr); tagPtr->tabArrayPtr = NULL; @@ -478,7 +677,7 @@ TkTextTagCmd( TkTextRedrawTag(textPtr->sharedTextPtr, NULL, NULL, NULL, tagPtr, 1); } - return result; + return TCL_OK; } break; } @@ -489,7 +688,7 @@ TkTextTagCmd( Tcl_WrongNumArgs(interp, 3, objv, "tagName ?tagName ...?"); return TCL_ERROR; } - for (i = 3; i < (Tcl_Size)objc; i++) { + for (i = 3; i < objc; i++) { hPtr = Tcl_FindHashEntry(&textPtr->sharedTextPtr->tagTable, Tcl_GetString(objv[i])); if (hPtr == NULL) { @@ -593,7 +792,7 @@ TkTextTagCmd( for (i = 0; i < arraySize; i++) { tagPtr = arrayPtr[i]; Tcl_ListObjAppendElement(interp, listObj, - Tcl_NewStringObj(tagPtr->name,-1)); + Tcl_NewStringObj(tagPtr->name, TCL_INDEX_NONE)); } Tcl_SetObjResult(interp, listObj); ckfree(arrayPtr); @@ -945,42 +1144,42 @@ TkTextCreateTag( tagPtr->border = NULL; tagPtr->borderWidth = 0; tagPtr->borderWidthPtr = NULL; - tagPtr->reliefObj = NULL; + tagPtr->reliefString = NULL; tagPtr->relief = TK_RELIEF_NULL; tagPtr->bgStipple = None; tagPtr->fgColor = NULL; tagPtr->tkfont = NULL; tagPtr->fgStipple = None; - tagPtr->justifyObj = NULL; + tagPtr->justifyString = NULL; tagPtr->justify = TK_JUSTIFY_NULL; - tagPtr->lMargin1Obj = NULL; + tagPtr->lMargin1String = NULL; tagPtr->lMargin1 = INT_MIN; - tagPtr->lMargin2Obj = NULL; + tagPtr->lMargin2String = NULL; tagPtr->lMargin2 = INT_MIN; tagPtr->lMarginColor = NULL; - tagPtr->offsetObj = NULL; + tagPtr->offsetString = NULL; tagPtr->offset = INT_MIN; - tagPtr->overstrikePtr = NULL; + tagPtr->overstrikeString = NULL; tagPtr->overstrike = -1; tagPtr->overstrikeColor = NULL; - tagPtr->rMarginObj = NULL; + tagPtr->rMarginString = NULL; tagPtr->rMargin = INT_MIN; tagPtr->rMarginColor = NULL; tagPtr->selBorder = NULL; tagPtr->selFgColor = NULL; - tagPtr->spacing1Obj = NULL; + tagPtr->spacing1String = NULL; tagPtr->spacing1 = INT_MIN; - tagPtr->spacing2Obj = NULL; + tagPtr->spacing2String = NULL; tagPtr->spacing2 = INT_MIN; - tagPtr->spacing3Obj = NULL; + tagPtr->spacing3String = NULL; tagPtr->spacing3 = INT_MIN; tagPtr->tabStringPtr = NULL; tagPtr->tabArrayPtr = NULL; tagPtr->tabStyle = TK_TEXT_TABSTYLE_NULL; - tagPtr->underlinePtr = NULL; + tagPtr->underlineString = NULL; tagPtr->underline = -1; tagPtr->underlineColor = NULL; - tagPtr->elideObj = NULL; + tagPtr->elideString = NULL; tagPtr->elide = -1; tagPtr->wrapMode = TEXT_WRAPMODE_NULL; tagPtr->affectsDisplay = 0; |