tcl.h | tcl.h | |||
---|---|---|---|---|
skipping to change at line 61 | skipping to change at line 61 | |||
* win/README (not patchlevel) (sections 0 and 2) | * win/README (not patchlevel) (sections 0 and 2) | |||
* unix/tcl.spec (1 LOC patch) | * unix/tcl.spec (1 LOC patch) | |||
* tools/tcl.hpj.in (not patchlevel, for windows installer) | * tools/tcl.hpj.in (not patchlevel, for windows installer) | |||
* tools/tcl.wse.in (for windows installer) | * tools/tcl.wse.in (for windows installer) | |||
* tools/tclSplash.bmp (not patchlevel) | * tools/tclSplash.bmp (not patchlevel) | |||
*/ | */ | |||
#define TCL_MAJOR_VERSION 8 | #define TCL_MAJOR_VERSION 8 | |||
#define TCL_MINOR_VERSION 5 | #define TCL_MINOR_VERSION 5 | |||
#define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE | #define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE | |||
#define TCL_RELEASE_SERIAL 13 | #define TCL_RELEASE_SERIAL 14 | |||
#define TCL_VERSION "8.5" | #define TCL_VERSION "8.5" | |||
#define TCL_PATCH_LEVEL "8.5.13" | #define TCL_PATCH_LEVEL "8.5.14" | |||
/* | /* | |||
* The following definitions set up the proper options for Windows compiler s. | * The following definitions set up the proper options for Windows compiler s. | |||
* We use this method because there is no autoconf equivalent. | * We use this method because there is no autoconf equivalent. | |||
*/ | */ | |||
#ifndef __WIN32__ | #ifndef __WIN32__ | |||
# if defined(_WIN32) || defined(WIN32) || defined(__MINGW32__) || defined (__BORLANDC__) || (defined(__WATCOMC__) && defined(__WINDOWS_386__)) | # if defined(_WIN32) || defined(WIN32) || defined(__MINGW32__) || defined (__BORLANDC__) || (defined(__WATCOMC__) && defined(__WINDOWS_386__)) | |||
# define __WIN32__ | # define __WIN32__ | |||
# ifndef WIN32 | # ifndef WIN32 | |||
skipping to change at line 439 | skipping to change at line 439 | |||
short st_gid; | short st_gid; | |||
/* Here is a 2-byte gap */ | /* Here is a 2-byte gap */ | |||
dev_t st_rdev; | dev_t st_rdev; | |||
/* Here is a 4-byte gap */ | /* Here is a 4-byte gap */ | |||
long long st_size; | long long st_size; | |||
struct {long tv_sec;} st_atim; | struct {long tv_sec;} st_atim; | |||
struct {long tv_sec;} st_mtim; | struct {long tv_sec;} st_mtim; | |||
struct {long tv_sec;} st_ctim; | struct {long tv_sec;} st_ctim; | |||
/* Here is a 4-byte gap */ | /* Here is a 4-byte gap */ | |||
} Tcl_StatBuf; | } Tcl_StatBuf; | |||
#elif defined(HAVE_STRUCT_STAT64) | #elif defined(HAVE_STRUCT_STAT64) && !defined(__APPLE__) | |||
typedef struct stat64 Tcl_StatBuf; | typedef struct stat64 Tcl_StatBuf; | |||
#else | #else | |||
typedef struct stat Tcl_StatBuf; | typedef struct stat Tcl_StatBuf; | |||
#endif | #endif | |||
/* | /* | |||
* Data structures defined opaquely in this module. The definitions below j ust | * Data structures defined opaquely in this module. The definitions below j ust | |||
* provide dummy types. A few fields are made visible in Tcl_Interp | * provide dummy types. A few fields are made visible in Tcl_Interp | |||
* structures, namely those used for returning a string result from command s. | * structures, namely those used for returning a string result from command s. | |||
* Direct access to the result field is discouraged in Tcl 8.0. The | * Direct access to the result field is discouraged in Tcl 8.0. The | |||
* interpreter result is either an object or a string, and the two values a re | * interpreter result is either an object or a string, and the two values a re | |||
skipping to change at line 800 | skipping to change at line 800 | |||
* single word. */ | * single word. */ | |||
} ptrAndLongRep; | } ptrAndLongRep; | |||
} internalRep; | } internalRep; | |||
} Tcl_Obj; | } Tcl_Obj; | |||
/* | /* | |||
* Macros to increment and decrement a Tcl_Obj's reference count, and to te st | * Macros to increment and decrement a Tcl_Obj's reference count, and to te st | |||
* whether an object is shared (i.e. has reference count > 1). Note: client s | * whether an object is shared (i.e. has reference count > 1). Note: client s | |||
* should use Tcl_DecrRefCount() when they are finished using an object, an d | * should use Tcl_DecrRefCount() when they are finished using an object, an d | |||
* should never call TclFreeObj() directly. TclFreeObj() is only defined an d | * should never call TclFreeObj() directly. TclFreeObj() is only defined an d | |||
* made public in tcl.h to support Tcl_DecrRefCount's macro definition. Not | * made public in tcl.h to support Tcl_DecrRefCount's macro definition. | |||
e | ||||
* also that Tcl_DecrRefCount() refers to the parameter "obj" twice. This | ||||
* means that you should avoid calling it with an expression that is expens | ||||
ive | ||||
* to compute or has side effects. | ||||
*/ | */ | |||
void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); | void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); | |||
void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); | void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); | |||
int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); | int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); | |||
/* | /* | |||
* The following structure contains the state needed by Tcl_SaveResult. No- one | * The following structure contains the state needed by Tcl_SaveResult. No- one | |||
* outside of Tcl should access any of these fields. This structure is | * outside of Tcl should access any of these fields. This structure is | |||
* typically allocated on the stack. | * typically allocated on the stack. | |||
skipping to change at line 2316 | skipping to change at line 2313 | |||
# define Tcl_IsShared(objPtr) \ | # define Tcl_IsShared(objPtr) \ | |||
Tcl_DbIsShared(objPtr, __FILE__, __LINE__) | Tcl_DbIsShared(objPtr, __FILE__, __LINE__) | |||
#else | #else | |||
# define Tcl_IncrRefCount(objPtr) \ | # define Tcl_IncrRefCount(objPtr) \ | |||
++(objPtr)->refCount | ++(objPtr)->refCount | |||
/* | /* | |||
* Use do/while0 idiom for optimum correctness without compiler warning s. | * Use do/while0 idiom for optimum correctness without compiler warning s. | |||
* http://c2.com/cgi/wiki?TrivialDoWhileLoop | * http://c2.com/cgi/wiki?TrivialDoWhileLoop | |||
*/ | */ | |||
# define Tcl_DecrRefCount(objPtr) \ | # define Tcl_DecrRefCount(objPtr) \ | |||
do { if (--(objPtr)->refCount <= 0) TclFreeObj(objPtr); } while(0) | do { \ | |||
Tcl_Obj *_objPtr = (objPtr); \ | ||||
if (--(_objPtr)->refCount <= 0) { \ | ||||
TclFreeObj(_objPtr); \ | ||||
} \ | ||||
} while(0) | ||||
# define Tcl_IsShared(objPtr) \ | # define Tcl_IsShared(objPtr) \ | |||
((objPtr)->refCount > 1) | ((objPtr)->refCount > 1) | |||
#endif | #endif | |||
/* | /* | |||
* Macros and definitions that help to debug the use of Tcl objects. When | * Macros and definitions that help to debug the use of Tcl objects. When | |||
* TCL_MEM_DEBUG is defined, the Tcl_New declarations are overridden to cal l | * TCL_MEM_DEBUG is defined, the Tcl_New declarations are overridden to cal l | |||
* debugging versions of the object creation functions. | * debugging versions of the object creation functions. | |||
*/ | */ | |||
skipping to change at line 2406 | skipping to change at line 2408 | |||
#undef Tcl_ConditionNotify | #undef Tcl_ConditionNotify | |||
#define Tcl_ConditionNotify(condPtr) | #define Tcl_ConditionNotify(condPtr) | |||
#undef Tcl_ConditionWait | #undef Tcl_ConditionWait | |||
#define Tcl_ConditionWait(condPtr, mutexPtr, timePtr) | #define Tcl_ConditionWait(condPtr, mutexPtr, timePtr) | |||
#undef Tcl_ConditionFinalize | #undef Tcl_ConditionFinalize | |||
#define Tcl_ConditionFinalize(condPtr) | #define Tcl_ConditionFinalize(condPtr) | |||
#endif /* TCL_THREADS */ | #endif /* TCL_THREADS */ | |||
#ifndef TCL_NO_DEPRECATED | #ifndef TCL_NO_DEPRECATED | |||
/* | /* | |||
* Deprecated Tcl functions: | ||||
*/ | ||||
# undef Tcl_EvalObj | ||||
# define Tcl_EvalObj(interp,objPtr) \ | ||||
Tcl_EvalObjEx((interp),(objPtr),0) | ||||
# undef Tcl_GlobalEvalObj | ||||
# define Tcl_GlobalEvalObj(interp,objPtr) \ | ||||
Tcl_EvalObjEx((interp),(objPtr),TCL_EVAL_GLOBAL) | ||||
/* | ||||
* These function have been renamed. The old names are deprecated, but we | * These function have been renamed. The old names are deprecated, but we | |||
* define these macros for backwards compatibilty. | * define these macros for backwards compatibilty. | |||
*/ | */ | |||
# define Tcl_Ckalloc Tcl_Alloc | # define Tcl_Ckalloc Tcl_Alloc | |||
# define Tcl_Ckfree Tcl_Free | # define Tcl_Ckfree Tcl_Free | |||
# define Tcl_Ckrealloc Tcl_Realloc | # define Tcl_Ckrealloc Tcl_Realloc | |||
# define Tcl_Return Tcl_SetResult | # define Tcl_Return Tcl_SetResult | |||
# define Tcl_TildeSubst Tcl_TranslateFileName | # define Tcl_TildeSubst Tcl_TranslateFileName | |||
# define panic Tcl_Panic | # define panic Tcl_Panic | |||
End of changes. 6 change blocks. | ||||
21 lines changed or deleted | 10 lines changed or added | |||
tclDecls.h | tclDecls.h | |||
---|---|---|---|---|
skipping to change at line 3411 | skipping to change at line 3411 | |||
#define Tcl_ObjPrintf_TCL_DECLARED | #define Tcl_ObjPrintf_TCL_DECLARED | |||
/* 578 */ | /* 578 */ | |||
EXTERN Tcl_Obj * Tcl_ObjPrintf(CONST char *format, ...); | EXTERN Tcl_Obj * Tcl_ObjPrintf(CONST char *format, ...); | |||
#endif | #endif | |||
#ifndef Tcl_AppendPrintfToObj_TCL_DECLARED | #ifndef Tcl_AppendPrintfToObj_TCL_DECLARED | |||
#define Tcl_AppendPrintfToObj_TCL_DECLARED | #define Tcl_AppendPrintfToObj_TCL_DECLARED | |||
/* 579 */ | /* 579 */ | |||
EXTERN void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr, | EXTERN void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr, | |||
CONST char *format, ...); | CONST char *format, ...); | |||
#endif | #endif | |||
/* Slot 580 is reserved */ | ||||
/* Slot 581 is reserved */ | ||||
/* Slot 582 is reserved */ | ||||
/* Slot 583 is reserved */ | ||||
/* Slot 584 is reserved */ | ||||
/* Slot 585 is reserved */ | ||||
/* Slot 586 is reserved */ | ||||
/* Slot 587 is reserved */ | ||||
/* Slot 588 is reserved */ | ||||
/* Slot 589 is reserved */ | ||||
/* Slot 590 is reserved */ | ||||
/* Slot 591 is reserved */ | ||||
/* Slot 592 is reserved */ | ||||
/* Slot 593 is reserved */ | ||||
/* Slot 594 is reserved */ | ||||
/* Slot 595 is reserved */ | ||||
/* Slot 596 is reserved */ | ||||
/* Slot 597 is reserved */ | ||||
/* Slot 598 is reserved */ | ||||
/* Slot 599 is reserved */ | ||||
/* Slot 600 is reserved */ | ||||
/* Slot 601 is reserved */ | ||||
/* Slot 602 is reserved */ | ||||
/* Slot 603 is reserved */ | ||||
/* Slot 604 is reserved */ | ||||
/* Slot 605 is reserved */ | ||||
/* Slot 606 is reserved */ | ||||
/* Slot 607 is reserved */ | ||||
/* Slot 608 is reserved */ | ||||
/* Slot 609 is reserved */ | ||||
/* Slot 610 is reserved */ | ||||
/* Slot 611 is reserved */ | ||||
/* Slot 612 is reserved */ | ||||
/* Slot 613 is reserved */ | ||||
/* Slot 614 is reserved */ | ||||
/* Slot 615 is reserved */ | ||||
/* Slot 616 is reserved */ | ||||
/* Slot 617 is reserved */ | ||||
/* Slot 618 is reserved */ | ||||
/* Slot 619 is reserved */ | ||||
/* Slot 620 is reserved */ | ||||
/* Slot 621 is reserved */ | ||||
/* Slot 622 is reserved */ | ||||
/* Slot 623 is reserved */ | ||||
/* Slot 624 is reserved */ | ||||
/* Slot 625 is reserved */ | ||||
/* Slot 626 is reserved */ | ||||
/* Slot 627 is reserved */ | ||||
/* Slot 628 is reserved */ | ||||
/* Slot 629 is reserved */ | ||||
#ifndef TclUnusedStubEntry_TCL_DECLARED | ||||
#define TclUnusedStubEntry_TCL_DECLARED | ||||
/* 630 */ | ||||
EXTERN void TclUnusedStubEntry(void); | ||||
#endif | ||||
typedef struct TclStubHooks { | typedef struct TclStubHooks { | |||
struct TclPlatStubs *tclPlatStubs; | struct TclPlatStubs *tclPlatStubs; | |||
struct TclIntStubs *tclIntStubs; | struct TclIntStubs *tclIntStubs; | |||
struct TclIntPlatStubs *tclIntPlatStubs; | struct TclIntPlatStubs *tclIntPlatStubs; | |||
} TclStubHooks; | } TclStubHooks; | |||
typedef struct TclStubs { | typedef struct TclStubs { | |||
int magic; | int magic; | |||
struct TclStubHooks *hooks; | struct TclStubHooks *hooks; | |||
skipping to change at line 4026 | skipping to change at line 4081 | |||
Tcl_Obj * (*tcl_GetEncodingSearchPath) (void); /* 570 */ | Tcl_Obj * (*tcl_GetEncodingSearchPath) (void); /* 570 */ | |||
int (*tcl_SetEncodingSearchPath) (Tcl_Obj *searchPath); /* 571 */ | int (*tcl_SetEncodingSearchPath) (Tcl_Obj *searchPath); /* 571 */ | |||
CONST char * (*tcl_GetEncodingNameFromEnvironment) (Tcl_DString *bufPtr ); /* 572 */ | CONST char * (*tcl_GetEncodingNameFromEnvironment) (Tcl_DString *bufPtr ); /* 572 */ | |||
int (*tcl_PkgRequireProc) (Tcl_Interp *interp, CONST char *name, int ob jc, Tcl_Obj *CONST objv[], ClientData *clientDataPtr); /* 573 */ | int (*tcl_PkgRequireProc) (Tcl_Interp *interp, CONST char *name, int ob jc, Tcl_Obj *CONST objv[], ClientData *clientDataPtr); /* 573 */ | |||
void (*tcl_AppendObjToErrorInfo) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 574 */ | void (*tcl_AppendObjToErrorInfo) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 574 */ | |||
void (*tcl_AppendLimitedToObj) (Tcl_Obj *objPtr, CONST char *bytes, int length, int limit, CONST char *ellipsis); /* 575 */ | void (*tcl_AppendLimitedToObj) (Tcl_Obj *objPtr, CONST char *bytes, int length, int limit, CONST char *ellipsis); /* 575 */ | |||
Tcl_Obj * (*tcl_Format) (Tcl_Interp *interp, CONST char *format, int ob jc, Tcl_Obj *CONST objv[]); /* 576 */ | Tcl_Obj * (*tcl_Format) (Tcl_Interp *interp, CONST char *format, int ob jc, Tcl_Obj *CONST objv[]); /* 576 */ | |||
int (*tcl_AppendFormatToObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, CONS T char *format, int objc, Tcl_Obj *CONST objv[]); /* 577 */ | int (*tcl_AppendFormatToObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, CONS T char *format, int objc, Tcl_Obj *CONST objv[]); /* 577 */ | |||
Tcl_Obj * (*tcl_ObjPrintf) (CONST char *format, ...); /* 578 */ | Tcl_Obj * (*tcl_ObjPrintf) (CONST char *format, ...); /* 578 */ | |||
void (*tcl_AppendPrintfToObj) (Tcl_Obj *objPtr, CONST char *format, ... ); /* 579 */ | void (*tcl_AppendPrintfToObj) (Tcl_Obj *objPtr, CONST char *format, ... ); /* 579 */ | |||
VOID *reserved580; | ||||
VOID *reserved581; | ||||
VOID *reserved582; | ||||
VOID *reserved583; | ||||
VOID *reserved584; | ||||
VOID *reserved585; | ||||
VOID *reserved586; | ||||
VOID *reserved587; | ||||
VOID *reserved588; | ||||
VOID *reserved589; | ||||
VOID *reserved590; | ||||
VOID *reserved591; | ||||
VOID *reserved592; | ||||
VOID *reserved593; | ||||
VOID *reserved594; | ||||
VOID *reserved595; | ||||
VOID *reserved596; | ||||
VOID *reserved597; | ||||
VOID *reserved598; | ||||
VOID *reserved599; | ||||
VOID *reserved600; | ||||
VOID *reserved601; | ||||
VOID *reserved602; | ||||
VOID *reserved603; | ||||
VOID *reserved604; | ||||
VOID *reserved605; | ||||
VOID *reserved606; | ||||
VOID *reserved607; | ||||
VOID *reserved608; | ||||
VOID *reserved609; | ||||
VOID *reserved610; | ||||
VOID *reserved611; | ||||
VOID *reserved612; | ||||
VOID *reserved613; | ||||
VOID *reserved614; | ||||
VOID *reserved615; | ||||
VOID *reserved616; | ||||
VOID *reserved617; | ||||
VOID *reserved618; | ||||
VOID *reserved619; | ||||
VOID *reserved620; | ||||
VOID *reserved621; | ||||
VOID *reserved622; | ||||
VOID *reserved623; | ||||
VOID *reserved624; | ||||
VOID *reserved625; | ||||
VOID *reserved626; | ||||
VOID *reserved627; | ||||
VOID *reserved628; | ||||
VOID *reserved629; | ||||
void (*tclUnusedStubEntry) (void); /* 630 */ | ||||
} TclStubs; | } TclStubs; | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
extern TclStubs *tclStubsPtr; | extern TclStubs *tclStubsPtr; | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
skipping to change at line 6380 | skipping to change at line 6486 | |||
(tclStubsPtr->tcl_AppendFormatToObj) /* 577 */ | (tclStubsPtr->tcl_AppendFormatToObj) /* 577 */ | |||
#endif | #endif | |||
#ifndef Tcl_ObjPrintf | #ifndef Tcl_ObjPrintf | |||
#define Tcl_ObjPrintf \ | #define Tcl_ObjPrintf \ | |||
(tclStubsPtr->tcl_ObjPrintf) /* 578 */ | (tclStubsPtr->tcl_ObjPrintf) /* 578 */ | |||
#endif | #endif | |||
#ifndef Tcl_AppendPrintfToObj | #ifndef Tcl_AppendPrintfToObj | |||
#define Tcl_AppendPrintfToObj \ | #define Tcl_AppendPrintfToObj \ | |||
(tclStubsPtr->tcl_AppendPrintfToObj) /* 579 */ | (tclStubsPtr->tcl_AppendPrintfToObj) /* 579 */ | |||
#endif | #endif | |||
/* Slot 580 is reserved */ | ||||
/* Slot 581 is reserved */ | ||||
/* Slot 582 is reserved */ | ||||
/* Slot 583 is reserved */ | ||||
/* Slot 584 is reserved */ | ||||
/* Slot 585 is reserved */ | ||||
/* Slot 586 is reserved */ | ||||
/* Slot 587 is reserved */ | ||||
/* Slot 588 is reserved */ | ||||
/* Slot 589 is reserved */ | ||||
/* Slot 590 is reserved */ | ||||
/* Slot 591 is reserved */ | ||||
/* Slot 592 is reserved */ | ||||
/* Slot 593 is reserved */ | ||||
/* Slot 594 is reserved */ | ||||
/* Slot 595 is reserved */ | ||||
/* Slot 596 is reserved */ | ||||
/* Slot 597 is reserved */ | ||||
/* Slot 598 is reserved */ | ||||
/* Slot 599 is reserved */ | ||||
/* Slot 600 is reserved */ | ||||
/* Slot 601 is reserved */ | ||||
/* Slot 602 is reserved */ | ||||
/* Slot 603 is reserved */ | ||||
/* Slot 604 is reserved */ | ||||
/* Slot 605 is reserved */ | ||||
/* Slot 606 is reserved */ | ||||
/* Slot 607 is reserved */ | ||||
/* Slot 608 is reserved */ | ||||
/* Slot 609 is reserved */ | ||||
/* Slot 610 is reserved */ | ||||
/* Slot 611 is reserved */ | ||||
/* Slot 612 is reserved */ | ||||
/* Slot 613 is reserved */ | ||||
/* Slot 614 is reserved */ | ||||
/* Slot 615 is reserved */ | ||||
/* Slot 616 is reserved */ | ||||
/* Slot 617 is reserved */ | ||||
/* Slot 618 is reserved */ | ||||
/* Slot 619 is reserved */ | ||||
/* Slot 620 is reserved */ | ||||
/* Slot 621 is reserved */ | ||||
/* Slot 622 is reserved */ | ||||
/* Slot 623 is reserved */ | ||||
/* Slot 624 is reserved */ | ||||
/* Slot 625 is reserved */ | ||||
/* Slot 626 is reserved */ | ||||
/* Slot 627 is reserved */ | ||||
/* Slot 628 is reserved */ | ||||
/* Slot 629 is reserved */ | ||||
#ifndef TclUnusedStubEntry | ||||
#define TclUnusedStubEntry \ | ||||
(tclStubsPtr->tclUnusedStubEntry) /* 630 */ | ||||
#endif | ||||
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ | #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ | |||
/* !END!: Do not edit above this line. */ | /* !END!: Do not edit above this line. */ | |||
#undef TclUnusedStubEntry | ||||
#undef TCL_STORAGE_CLASS | #undef TCL_STORAGE_CLASS | |||
#define TCL_STORAGE_CLASS DLLIMPORT | #define TCL_STORAGE_CLASS DLLIMPORT | |||
/* | ||||
* Deprecated Tcl procedures: | ||||
*/ | ||||
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) | ||||
# undef Tcl_EvalObj | ||||
# define Tcl_EvalObj(interp,objPtr) \ | ||||
Tcl_EvalObjEx((interp),(objPtr),0) | ||||
# undef Tcl_GlobalEvalObj | ||||
# define Tcl_GlobalEvalObj(interp,objPtr) \ | ||||
Tcl_EvalObjEx((interp),(objPtr),TCL_EVAL_GLOBAL) | ||||
#endif | ||||
#endif /* _TCLDECLS */ | #endif /* _TCLDECLS */ | |||
End of changes. 5 change blocks. | ||||
0 lines changed or deleted | 174 lines changed or added | |||