Attachment "const.patch" to
ticket [404026ffff]
added by
hobbs
2001-03-13 04:35:54.
diff -cr ../tcl-010312/doc/ByteArrObj.3 ./doc/ByteArrObj.3
*** ../tcl-010312/doc/ByteArrObj.3 Tue Mar 2 19:38:38 1999
--- ./doc/ByteArrObj.3 Mon Feb 19 10:23:00 2001
***************
*** 28,34 ****
\fBTcl_SetByteArrayLength\fR(\fIobjPtr, length\fR)
.SH ARGUMENTS
.AS "unsigned char" *lengthPtr in/out
! .AP "unsigned char" *bytes in
The array of bytes used to initialize or set a byte-array object.
.AP int length in
The length of the array of bytes. It must be >= 0.
--- 28,34 ----
\fBTcl_SetByteArrayLength\fR(\fIobjPtr, length\fR)
.SH ARGUMENTS
.AS "unsigned char" *lengthPtr in/out
! .AP "CONST unsigned char" *bytes in
The array of bytes used to initialize or set a byte-array object.
.AP int length in
The length of the array of bytes. It must be >= 0.
Only in ./doc: CVS
diff -cr ../tcl-010312/doc/DumpActiveMemory.3 ./doc/DumpActiveMemory.3
*** ../tcl-010312/doc/DumpActiveMemory.3 Thu Apr 27 19:47:50 2000
--- ./doc/DumpActiveMemory.3 Sun Feb 18 23:29:08 2001
***************
*** 26,32 ****
.SH ARGUMENTS
.AP Tcl_Interp *interp in
Tcl interpreter in which to add commands.
! .AP char *fileName in
For \fBTcl_DumpActiveMemory\fR, name of the file to which memory
information will be written. For \fBTcl_ValidateAllMemory\fR, name of
the file from which the call is being made (normally \fB__FILE__\fR).
--- 26,32 ----
.SH ARGUMENTS
.AP Tcl_Interp *interp in
Tcl interpreter in which to add commands.
! .AP "CONST char"v *fileName in
For \fBTcl_DumpActiveMemory\fR, name of the file to which memory
information will be written. For \fBTcl_ValidateAllMemory\fR, name of
the file from which the call is being made (normally \fB__FILE__\fR).
diff -cr ../tcl-010312/doc/InitStubs.3 ./doc/InitStubs.3
*** ../tcl-010312/doc/InitStubs.3 Thu May 6 14:14:42 1999
--- ./doc/InitStubs.3 Sun Feb 18 23:20:36 2001
***************
*** 15,27 ****
.nf
\fB#include <tcl.h>\fR
.sp
! char *
\fBTcl_InitStubs\fR(\fIinterp, version, exact\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp in
.AP Tcl_Interp *interp in
Tcl interpreter handle.
! .AP char *version in
A version string consisting of one or more decimal numbers
separated by dots.
.AP int exact in
--- 15,27 ----
.nf
\fB#include <tcl.h>\fR
.sp
! CONST char *
\fBTcl_InitStubs\fR(\fIinterp, version, exact\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp in
.AP Tcl_Interp *interp in
Tcl interpreter handle.
! .AP CONST char *version in
A version string consisting of one or more decimal numbers
separated by dots.
.AP int exact in
diff -cr ../tcl-010312/doc/PkgRequire.3 ./doc/PkgRequire.3
*** ../tcl-010312/doc/PkgRequire.3 Fri Apr 14 18:01:54 2000
--- ./doc/PkgRequire.3 Sun Feb 18 23:25:10 2001
***************
*** 15,30 ****
.nf
\fB#include <tcl.h>\fR
.sp
! char *
\fBTcl_PkgRequire\fR(\fIinterp, name, version, exact\fR)
.sp
! char *
\fBTcl_PkgRequireEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR)
.sp
! char *
\fBTcl_PkgPresent\fR(\fIinterp, name, version, exact\fR)
.sp
! char *
\fBTcl_PkgPresentEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR)
.sp
int
--- 15,30 ----
.nf
\fB#include <tcl.h>\fR
.sp
! CONST char *
\fBTcl_PkgRequire\fR(\fIinterp, name, version, exact\fR)
.sp
! CONST char *
\fBTcl_PkgRequireEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR)
.sp
! CONST char *
\fBTcl_PkgPresent\fR(\fIinterp, name, version, exact\fR)
.sp
! CONST char *
\fBTcl_PkgPresentEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR)
.sp
int
***************
*** 36,44 ****
.AS Tcl_FreeProc clientDataPtr
.AP Tcl_Interp *interp in
Interpreter where package is needed or available.
! .AP char *name in
Name of package.
! .AP char *version in
A version string consisting of one or more decimal numbers
separated by dots.
.AP int exact in
--- 36,44 ----
.AS Tcl_FreeProc clientDataPtr
.AP Tcl_Interp *interp in
Interpreter where package is needed or available.
! .AP "CONST char" *name in
Name of package.
! .AP "CONST char" *version in
A version string consisting of one or more decimal numbers
separated by dots.
.AP int exact in
diff -cr ../tcl-010312/doc/StringObj.3 ./doc/StringObj.3
*** ../tcl-010312/doc/StringObj.3 Thu Sep 14 13:42:30 2000
--- ./doc/StringObj.3 Mon Feb 19 10:25:40 2001
***************
*** 78,84 ****
\fBTcl_ConcatObj\fR(\fIobjc, objv\fR)
.SH ARGUMENTS
.AS Tcl_Interp *appendObjPtr in/out
! .AP char *bytes in
Points to the first byte of an array of bytes
used to set or append to a string object.
This byte array may contain embedded null bytes
--- 78,84 ----
\fBTcl_ConcatObj\fR(\fIobjc, objv\fR)
.SH ARGUMENTS
.AS Tcl_Interp *appendObjPtr in/out
! .AP "CONST char" *bytes in
Points to the first byte of an array of bytes
used to set or append to a string object.
This byte array may contain embedded null bytes
***************
*** 87,93 ****
The number of bytes to copy from \fIbytes\fR when
initializing, setting, or appending to a string object.
If negative, all bytes up to the first null are used.
! .AP Tcl_UniChar *unicode in
Points to the first byte of an array of Unicode characters
used to set or append to a string object.
This byte array may contain embedded null characters
--- 87,93 ----
The number of bytes to copy from \fIbytes\fR when
initializing, setting, or appending to a string object.
If negative, all bytes up to the first null are used.
! .AP "CONST Tcl_UniChar" *unicode in
Points to the first byte of an array of Unicode characters
used to set or append to a string object.
This byte array may contain embedded null characters
***************
*** 113,119 ****
.AP int *lengthPtr out
If non-NULL, the location where \fBTcl_GetStringFromObj\fR will store
the the length of an object's string representation.
! .AP char *string in
Null-terminated string value to append to \fIobjPtr\fR.
.AP va_list argList in
An argument list which must have been initialised using
--- 113,119 ----
.AP int *lengthPtr out
If non-NULL, the location where \fBTcl_GetStringFromObj\fR will store
the the length of an object's string representation.
! .AP "CONST char" *string in
Null-terminated string value to append to \fIobjPtr\fR.
.AP va_list argList in
An argument list which must have been initialised using
diff -cr ../tcl-010312/generic/tcl.decls ./generic/tcl.decls
*** ../tcl-010312/generic/tcl.decls Thu Jan 18 14:09:56 2001
--- ./generic/tcl.decls Mon Feb 19 10:24:52 2001
***************
*** 26,39 ****
# the an index should never be reused for a different function in order
# to preserve backwards compatibility.
! declare 0 generic {
! int Tcl_PkgProvideEx(Tcl_Interp *interp, char *name, char *version, \
! ClientData clientData)
! }
! declare 1 generic {
! char * Tcl_PkgRequireEx(Tcl_Interp *interp, char *name, char *version, \
! int exact, ClientData *clientDataPtr)
! }
declare 2 generic {
void Tcl_Panic(char *format, ...)
}
--- 26,34 ----
# the an index should never be reused for a different function in order
# to preserve backwards compatibility.
! # slot 0 replaced with CONST interface in slot 433
! # slot 1 replaced with CONST interface in slot 434
! # slot 2 - reworking this implies CONST pollution in Tcl_SetPanicProc?
declare 2 generic {
void Tcl_Panic(char *format, ...)
}
***************
*** 46,60 ****
declare 5 generic {
char * Tcl_Realloc(char *ptr, unsigned int size)
}
! declare 6 generic {
! char * Tcl_DbCkalloc(unsigned int size, char *file, int line)
! }
! declare 7 generic {
! int Tcl_DbCkfree(char *ptr, char *file, int line)
! }
! declare 8 generic {
! char * Tcl_DbCkrealloc(char *ptr, unsigned int size, char *file, int line)
! }
# Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix,
# but they are part of the old generic interface, so we include them here for
--- 41,47 ----
declare 5 generic {
char * Tcl_Realloc(char *ptr, unsigned int size)
}
! # slots 6-8 replaced with CONST interface in slots 436-438
# Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix,
# but they are part of the old generic interface, so we include them here for
***************
*** 83,91 ****
declare 15 generic {
void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
}
! declare 16 generic {
! void Tcl_AppendToObj(Tcl_Obj *objPtr, char *bytes, int length)
! }
declare 17 generic {
Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
}
--- 70,76 ----
declare 15 generic {
void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
}
! # slot 16 replaced by CONST interface in slot 439
declare 17 generic {
Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
}
***************
*** 93,131 ****
int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr, \
Tcl_ObjType *typePtr)
}
! declare 19 generic {
! void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, char *file, int line)
! }
! declare 20 generic {
! void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, char *file, int line)
! }
! declare 21 generic {
! int Tcl_DbIsShared(Tcl_Obj *objPtr, char *file, int line)
! }
! declare 22 generic {
! Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, char *file, int line)
! }
! declare 23 generic {
! Tcl_Obj * Tcl_DbNewByteArrayObj(unsigned char *bytes, int length, \
! char *file, int line)
! }
! declare 24 generic {
! Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue, char *file, int line)
! }
! declare 25 generic {
! Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST objv[], char *file, \
! int line)
! }
! declare 26 generic {
! Tcl_Obj * Tcl_DbNewLongObj(long longValue, char *file, int line)
! }
! declare 27 generic {
! Tcl_Obj * Tcl_DbNewObj(char *file, int line)
! }
! declare 28 generic {
! Tcl_Obj * Tcl_DbNewStringObj(CONST char *bytes, int length, \
! char *file, int line)
! }
declare 29 generic {
Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
}
--- 78,84 ----
int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr, \
Tcl_ObjType *typePtr)
}
! # slots 19-28 replaced with CONST interface in slots 442-450
declare 29 generic {
Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
}
***************
*** 197,205 ****
declare 49 generic {
Tcl_Obj * Tcl_NewBooleanObj(int boolValue)
}
! declare 50 generic {
! Tcl_Obj * Tcl_NewByteArrayObj(unsigned char *bytes, int length)
! }
declare 51 generic {
Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
}
--- 150,156 ----
declare 49 generic {
Tcl_Obj * Tcl_NewBooleanObj(int boolValue)
}
! # slot 50 replaced with CONST interface in slot 456
declare 51 generic {
Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
}
***************
*** 224,232 ****
declare 58 generic {
unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
}
! declare 59 generic {
! void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, unsigned char *bytes, int length)
! }
declare 60 generic {
void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
}
--- 175,181 ----
declare 58 generic {
unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
}
! # slot 59 replaced with CONST interface in slot 457
declare 60 generic {
void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
}
***************
*** 242,250 ****
declare 64 generic {
void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
}
! declare 65 generic {
! void Tcl_SetStringObj(Tcl_Obj *objPtr, char *bytes, int length)
! }
declare 66 generic {
void Tcl_AddErrorInfo(Tcl_Interp *interp, CONST char *message)
}
--- 191,197 ----
declare 64 generic {
void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
}
! # slot 65 replaced with CONST interface in slot 458
declare 66 generic {
void Tcl_AddErrorInfo(Tcl_Interp *interp, CONST char *message)
}
***************
*** 915,926 ****
void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc, \
Tcl_Obj *CONST objv[], char *message)
}
! declare 265 generic {
! int Tcl_DumpActiveMemory(char *fileName)
! }
! declare 266 generic {
! void Tcl_ValidateAllMemory(char *file, int line)
! }
declare 267 generic {
void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
}
--- 862,868 ----
void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc, \
Tcl_Obj *CONST objv[], char *message)
}
! # Slots 265-266 replaced with CONST interfaces in slots 440-441
declare 267 generic {
void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
}
***************
*** 933,953 ****
declare 270 generic {
char * Tcl_ParseVar(Tcl_Interp *interp, char *str, char **termPtr)
}
! declare 271 generic {
! char * Tcl_PkgPresent(Tcl_Interp *interp, char *name, char *version, \
! int exact)
! }
! declare 272 generic {
! char * Tcl_PkgPresentEx(Tcl_Interp *interp, char *name, char *version, \
! int exact, ClientData *clientDataPtr)
! }
! declare 273 generic {
! int Tcl_PkgProvide(Tcl_Interp *interp, char *name, char *version)
! }
! declare 274 generic {
! char * Tcl_PkgRequire(Tcl_Interp *interp, char *name, char *version, \
! int exact)
! }
declare 275 generic {
void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
}
--- 875,881 ----
declare 270 generic {
char * Tcl_ParseVar(Tcl_Interp *interp, char *str, char **termPtr)
}
! # slots 271-274 replaced with constant APIs in slots 452-455
declare 275 generic {
void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
}
***************
*** 1308,1320 ****
declare 377 generic {
void Tcl_RegExpGetInfo(Tcl_RegExp regexp, Tcl_RegExpInfo *infoPtr)
}
! declare 378 generic {
! Tcl_Obj * Tcl_NewUnicodeObj(Tcl_UniChar *unicode, int numChars)
! }
! declare 379 generic {
! void Tcl_SetUnicodeObj(Tcl_Obj *objPtr, Tcl_UniChar *unicode, \
! int numChars)
! }
declare 380 generic {
int Tcl_GetCharLength (Tcl_Obj *objPtr)
}
--- 1236,1242 ----
declare 377 generic {
void Tcl_RegExpGetInfo(Tcl_RegExp regexp, Tcl_RegExpInfo *infoPtr)
}
! # 378-379 replaced with CONST APIs in slots 459-460
declare 380 generic {
int Tcl_GetCharLength (Tcl_Obj *objPtr)
}
***************
*** 1327,1336 ****
declare 383 generic {
Tcl_Obj * Tcl_GetRange (Tcl_Obj *objPtr, int first, int last)
}
! declare 384 generic {
! void Tcl_AppendUnicodeToObj (Tcl_Obj *objPtr, \
! Tcl_UniChar *unicode, int length)
! }
declare 385 generic {
int Tcl_RegExpMatchObj(Tcl_Interp *interp, Tcl_Obj *stringObj, \
Tcl_Obj *patternObj)
--- 1249,1255 ----
declare 383 generic {
Tcl_Obj * Tcl_GetRange (Tcl_Obj *objPtr, int first, int last)
}
! # slot 384 replaced with non-CONST interface in slot 461
declare 385 generic {
int Tcl_RegExpMatchObj(Tcl_Interp *interp, Tcl_Obj *stringObj, \
Tcl_Obj *patternObj)
***************
*** 1501,1506 ****
--- 1420,1533 ----
declare 432 generic {
int Tcl_AttemptSetObjLength(Tcl_Obj *objPtr, int length)
}
+
+ # Slots introduced in 8.4 for adding CONST to parameters of library APIs
+
+ declare 433 -nonconst 0 generic {
+ int Tcl_PkgProvideEx( Tcl_Interp* interp, CONST char* name,
+ CONST char* version, ClientData clientData )
+ }
+ declare 434 -nonconst 1 generic {
+ CONST char * Tcl_PkgRequireEx( Tcl_Interp *interp, CONST char *name,
+ CONST char *version,
+ int exact, ClientData *clientDataPtr )
+ }
+
+ # 435 was reserved for const-ified Tcl_Panic
+
+ declare 436 -nonconst 6 generic {
+ char * Tcl_DbCkalloc(unsigned int size, CONST char *file, int line)
+ }
+ declare 437 -nonconst 7 generic {
+ int Tcl_DbCkfree(char *ptr, CONST char *file, int line)
+ }
+ declare 438 -nonconst 8 generic {
+ char * Tcl_DbCkrealloc(char *ptr, unsigned int size,
+ CONST char *file, int line)
+ }
+ declare 439 -nonconst 16 generic {
+ void Tcl_AppendToObj( Tcl_Obj* objPtr, CONST char* bytes, int length )
+ }
+ declare 440 -nonconst 265 generic {
+ int Tcl_DumpActiveMemory( CONST char *fileName )
+ }
+ declare 441 -nonconst 266 generic {
+ void Tcl_ValidateAllMemory( CONST char *file, int line )
+ }
+ declare 442 -nonconst 19 generic {
+ void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
+ }
+ declare 443 -nonconst 20 generic {
+ void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
+ }
+ declare 444 -nonconst 21 generic {
+ int Tcl_DbIsShared(Tcl_Obj *objPtr, CONST char *file, int line)
+ }
+ declare 445 -nonconst 22 generic {
+ Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, CONST char *file, int line)
+ }
+ declare 446 -nonconst 23 generic {
+ Tcl_Obj * Tcl_DbNewByteArrayObj(CONST unsigned char *bytes, int length, \
+ CONST char *file, int line)
+ }
+ declare 447 -nonconst 24 generic {
+ Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue,
+ CONST char *file, int line)
+ }
+ declare 448 -nonconst 25 generic {
+ Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST1 *objv,
+ CONST char *file, int line)
+ }
+ declare 449 -nonconst 26 generic {
+ Tcl_Obj * Tcl_DbNewLongObj(long longValue, CONST char *file, int line)
+ }
+ declare 450 -nonconst 27 generic {
+ Tcl_Obj * Tcl_DbNewObj(CONST char *file, int line)
+ }
+ declare 451 -nonconst 28 generic {
+ Tcl_Obj * Tcl_DbNewStringObj(CONST1 char *bytes, int length,
+ CONST char *file, int line)
+ }
+ declare 452 -nonconst 271 generic {
+ CONST char * Tcl_PkgPresent(Tcl_Interp *interp, CONST char *name,
+ CONST char *version, int exact)
+ }
+ declare 453 -nonconst 272 generic {
+ CONST char * Tcl_PkgPresentEx(Tcl_Interp *interp, CONST char *name,
+ CONST char *version, int exact,
+ ClientData *clientDataPtr)
+ }
+ declare 454 -nonconst 273 generic {
+ int Tcl_PkgProvide(Tcl_Interp *interp, CONST char *name,
+ CONST char *version)
+ }
+ declare 455 -nonconst 274 generic {
+ CONST char * Tcl_PkgRequire(Tcl_Interp *interp, CONST char *name,
+ CONST char *version, int exact)
+ }
+ declare 456 -nonconst 50 generic {
+ Tcl_Obj * Tcl_NewByteArrayObj( CONST unsigned char* bytes,
+ int length )
+ }
+ declare 457 -nonconst 59 generic {
+ void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, CONST unsigned char *bytes,
+ int length)
+ }
+ declare 458 -nonconst 65 generic {
+ void Tcl_SetStringObj( Tcl_Obj* objPtr, CONST char* bytes, int length )
+ }
+ declare 459 -nonconst 378 generic {
+ Tcl_Obj * Tcl_NewUnicodeObj(CONST Tcl_UniChar *unicode, int numChars)
+ }
+ declare 460 -nonconst 379 generic {
+ void Tcl_SetUnicodeObj(Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
+ int numChars)
+ }
+ declare 461 -nonconst 384 generic {
+ void Tcl_AppendUnicodeToObj (Tcl_Obj *objPtr,
+ CONST Tcl_UniChar *unicode, int length)
+ }
+
##############################################################################
diff -cr ../tcl-010312/generic/tcl.h ./generic/tcl.h
*** ../tcl-010312/generic/tcl.h Thu Jan 18 14:09:56 2001
--- ./generic/tcl.h Sun Feb 18 23:11:38 2001
***************
*** 281,286 ****
--- 281,287 ----
# define _ANSI_ARGS_(x) ()
# define CONST
#endif
+ #define CONST1 CONST
/*
* Make sure EXTERN isn't defined elsewhere
***************
*** 1817,1824 ****
* linked into an application.
*/
! EXTERN char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
! char *version, int exact));
#ifndef USE_TCL_STUBS
--- 1818,1825 ----
* linked into an application.
*/
! EXTERN CONST char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
! CONST char *version, int exact));
#ifndef USE_TCL_STUBS
diff -cr ../tcl-010312/generic/tclBinary.c ./generic/tclBinary.c
*** ../tcl-010312/generic/tclBinary.c Mon May 3 14:19:04 1999
--- ./generic/tclBinary.c Sun Feb 18 18:22:50 2001
***************
*** 125,131 ****
Tcl_Obj *
Tcl_NewByteArrayObj(bytes, length)
! unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
--- 125,131 ----
Tcl_Obj *
Tcl_NewByteArrayObj(bytes, length)
! CONST unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
***************
*** 137,143 ****
Tcl_Obj *
Tcl_NewByteArrayObj(bytes, length)
! unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
--- 137,143 ----
Tcl_Obj *
Tcl_NewByteArrayObj(bytes, length)
! CONST unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
***************
*** 180,190 ****
Tcl_Obj *
Tcl_DbNewByteArrayObj(bytes, length, file, line)
! unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 180,190 ----
Tcl_Obj *
Tcl_DbNewByteArrayObj(bytes, length, file, line)
! CONST unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 200,210 ****
Tcl_Obj *
Tcl_DbNewByteArrayObj(bytes, length, file, line)
! unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 200,210 ----
Tcl_Obj *
Tcl_DbNewByteArrayObj(bytes, length, file, line)
! CONST unsigned char *bytes; /* The array of bytes used to initialize
* the new object. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 234,240 ****
void
Tcl_SetByteArrayObj(objPtr, bytes, length)
Tcl_Obj *objPtr; /* Object to initialize as a ByteArray. */
! unsigned char *bytes; /* The array of bytes to use as the new
* value. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
--- 234,240 ----
void
Tcl_SetByteArrayObj(objPtr, bytes, length)
Tcl_Obj *objPtr; /* Object to initialize as a ByteArray. */
! CONST unsigned char *bytes; /* The array of bytes to use as the new
* value. */
int length; /* Length of the array of bytes, which must
* be >= 0. */
diff -cr ../tcl-010312/generic/tclCkalloc.c ./generic/tclCkalloc.c
*** ../tcl-010312/generic/tclCkalloc.c Thu Dec 7 23:22:44 2000
--- ./generic/tclCkalloc.c Sun Feb 18 17:45:56 2001
***************
*** 54,60 ****
struct mem_header *blink;
MemTag *tagPtr; /* Tag from "memory tag" command; may be
* NULL. */
! char *file;
long length;
int line;
unsigned char low_guard[LOW_GUARD_SIZE];
--- 54,60 ----
struct mem_header *blink;
MemTag *tagPtr; /* Tag from "memory tag" command; may be
* NULL. */
! CONST char *file;
long length;
int line;
unsigned char low_guard[LOW_GUARD_SIZE];
***************
*** 131,137 ****
static int MemoryCmd _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int argc, char **argv));
static void ValidateMemory _ANSI_ARGS_((
! struct mem_header *memHeaderP, char *file,
int line, int nukeGuards));
/*
--- 131,137 ----
static int MemoryCmd _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int argc, char **argv));
static void ValidateMemory _ANSI_ARGS_((
! struct mem_header *memHeaderP, CONST char *file,
int line, int nukeGuards));
/*
***************
*** 200,206 ****
static void
ValidateMemory(memHeaderP, file, line, nukeGuards)
struct mem_header *memHeaderP; /* Memory chunk to validate */
! char *file; /* File containing the call to
* Tcl_ValidateAllMemory */
int line; /* Line number of call to
* Tcl_ValidateAllMemory */
--- 200,206 ----
static void
ValidateMemory(memHeaderP, file, line, nukeGuards)
struct mem_header *memHeaderP; /* Memory chunk to validate */
! CONST char *file; /* File containing the call to
* Tcl_ValidateAllMemory */
int line; /* Line number of call to
* Tcl_ValidateAllMemory */
***************
*** 280,287 ****
*/
void
Tcl_ValidateAllMemory (file, line)
! char *file; /* File from which Tcl_ValidateAllMemory was called */
! int line; /* Line number of call to Tcl_ValidateAllMemory */
{
struct mem_header *memScanP;
--- 280,287 ----
*/
void
Tcl_ValidateAllMemory (file, line)
! CONST char *file; /* File from which Tcl_ValidateAllMemory was called */
! int line; /* Line number of call to Tcl_ValidateAllMemory */
{
struct mem_header *memScanP;
***************
*** 310,316 ****
*/
int
Tcl_DumpActiveMemory (fileName)
! char *fileName; /* Name of the file to write info to */
{
FILE *fileP;
struct mem_header *memScanP;
--- 310,316 ----
*/
int
Tcl_DumpActiveMemory (fileName)
! CONST char *fileName; /* Name of the file to write info to */
{
FILE *fileP;
struct mem_header *memScanP;
***************
*** 364,370 ****
char *
Tcl_DbCkalloc(size, file, line)
unsigned int size;
! char *file;
int line;
{
struct mem_header *result;
--- 364,370 ----
char *
Tcl_DbCkalloc(size, file, line)
unsigned int size;
! CONST char *file;
int line;
{
struct mem_header *result;
***************
*** 553,561 ****
int
Tcl_DbCkfree(ptr, file, line)
! char *ptr;
! char *file;
! int line;
{
struct mem_header *memp;
--- 553,561 ----
int
Tcl_DbCkfree(ptr, file, line)
! char *ptr;
! CONST char *file;
! int line;
{
struct mem_header *memp;
***************
*** 630,636 ****
Tcl_DbCkrealloc(ptr, size, file, line)
char *ptr;
unsigned int size;
! char *file;
int line;
{
char *new;
--- 630,636 ----
Tcl_DbCkrealloc(ptr, size, file, line)
char *ptr;
unsigned int size;
! CONST char *file;
int line;
{
char *new;
***************
*** 999,1005 ****
char *
Tcl_DbCkalloc(size, file, line)
unsigned int size;
! char *file;
int line;
{
char *result;
--- 999,1005 ----
char *
Tcl_DbCkalloc(size, file, line)
unsigned int size;
! CONST char *file;
int line;
{
char *result;
***************
*** 1073,1082 ****
char *
Tcl_DbCkrealloc(ptr, size, file, line)
! char *ptr;
unsigned int size;
! char *file;
! int line;
{
char *result;
--- 1073,1082 ----
char *
Tcl_DbCkrealloc(ptr, size, file, line)
! char *ptr;
unsigned int size;
! CONST char *file;
! int line;
{
char *result;
***************
*** 1143,1151 ****
int
Tcl_DbCkfree(ptr, file, line)
! char *ptr;
! char *file;
! int line;
{
TclpFree(ptr);
return 0;
--- 1143,1151 ----
int
Tcl_DbCkfree(ptr, file, line)
! char *ptr;
! CONST char *file;
! int line;
{
TclpFree(ptr);
return 0;
***************
*** 1169,1175 ****
int
Tcl_DumpActiveMemory(fileName)
! char *fileName;
{
return TCL_OK;
}
--- 1169,1175 ----
int
Tcl_DumpActiveMemory(fileName)
! CONST char *fileName;
{
return TCL_OK;
}
***************
*** 1176,1183 ****
void
Tcl_ValidateAllMemory(file, line)
! char *file;
! int line;
{
}
--- 1176,1183 ----
void
Tcl_ValidateAllMemory(file, line)
! CONST char *file;
! int line;
{
}
diff -cr ../tcl-010312/generic/tclDecls.h ./generic/tclDecls.h
*** ../tcl-010312/generic/tclDecls.h Thu Jan 18 14:09:56 2001
--- ./generic/tclDecls.h Mon Feb 19 10:24:58 2001
***************
*** 27,38 ****
*/
/* 0 */
! EXTERN int Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp * interp,
! char * name, char * version,
! ClientData clientData));
/* 1 */
! EXTERN char * Tcl_PkgRequireEx _ANSI_ARGS_((Tcl_Interp * interp,
! char * name, char * version, int exact,
ClientData * clientDataPtr));
/* 2 */
EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
--- 27,39 ----
*/
/* 0 */
! EXTERN int Tcl_PkgProvideEx_NONCONST _ANSI_ARGS_((
! Tcl_Interp* interp, char* name,
! char* version, ClientData clientData));
/* 1 */
! EXTERN char * Tcl_PkgRequireEx_NONCONST _ANSI_ARGS_((
! Tcl_Interp * interp, char * name,
! char * version, int exact,
ClientData * clientDataPtr));
/* 2 */
EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
***************
*** 44,56 ****
EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr,
unsigned int size));
/* 6 */
! EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size,
! char * file, int line));
/* 7 */
! EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, char * file,
! int line));
/* 8 */
! EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr,
unsigned int size, char * file, int line));
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
/* 9 */
--- 45,57 ----
EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr,
unsigned int size));
/* 6 */
! EXTERN char * Tcl_DbCkalloc_NONCONST _ANSI_ARGS_((
! unsigned int size, char * file, int line));
/* 7 */
! EXTERN int Tcl_DbCkfree_NONCONST _ANSI_ARGS_((char * ptr,
! char * file, int line));
/* 8 */
! EXTERN char * Tcl_DbCkrealloc_NONCONST _ANSI_ARGS_((char * ptr,
unsigned int size, char * file, int line));
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
/* 9 */
***************
*** 73,80 ****
/* 15 */
EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr));
/* 16 */
! EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj * objPtr,
! char * bytes, int length));
/* 17 */
EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc,
Tcl_Obj *CONST objv[]));
--- 74,81 ----
/* 15 */
EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr));
/* 16 */
! EXTERN void Tcl_AppendToObj_NONCONST _ANSI_ARGS_((
! Tcl_Obj* objPtr, char* bytes, int length));
/* 17 */
EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc,
Tcl_Obj *CONST objv[]));
***************
*** 82,116 ****
EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp * interp,
Tcl_Obj * objPtr, Tcl_ObjType * typePtr));
/* 19 */
! EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr,
! char * file, int line));
/* 20 */
! EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr,
! char * file, int line));
/* 21 */
! EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr,
! char * file, int line));
/* 22 */
! EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue,
! char * file, int line));
/* 23 */
! EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj _ANSI_ARGS_((
unsigned char * bytes, int length,
char * file, int line));
/* 24 */
! EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue,
! char * file, int line));
/* 25 */
! EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc,
! Tcl_Obj *CONST objv[], char * file, int line));
/* 26 */
! EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue,
! char * file, int line));
/* 27 */
! EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char * file, int line));
/* 28 */
! EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((CONST char * bytes,
! int length, char * file, int line));
/* 29 */
EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr));
/* 30 */
--- 83,120 ----
EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp * interp,
Tcl_Obj * objPtr, Tcl_ObjType * typePtr));
/* 19 */
! EXTERN void Tcl_DbDecrRefCount_NONCONST _ANSI_ARGS_((
! Tcl_Obj * objPtr, char * file, int line));
/* 20 */
! EXTERN void Tcl_DbIncrRefCount_NONCONST _ANSI_ARGS_((
! Tcl_Obj * objPtr, char * file, int line));
/* 21 */
! EXTERN int Tcl_DbIsShared_NONCONST _ANSI_ARGS_((
! Tcl_Obj * objPtr, char * file, int line));
/* 22 */
! EXTERN Tcl_Obj * Tcl_DbNewBooleanObj_NONCONST _ANSI_ARGS_((
! int boolValue, char * file, int line));
/* 23 */
! EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj_NONCONST _ANSI_ARGS_((
unsigned char * bytes, int length,
char * file, int line));
/* 24 */
! EXTERN Tcl_Obj * Tcl_DbNewDoubleObj_NONCONST _ANSI_ARGS_((
! double doubleValue, char * file, int line));
/* 25 */
! EXTERN Tcl_Obj * Tcl_DbNewListObj_NONCONST _ANSI_ARGS_((int objc,
! Tcl_Obj *CONST1 * objv, char * file,
! int line));
/* 26 */
! EXTERN Tcl_Obj * Tcl_DbNewLongObj_NONCONST _ANSI_ARGS_((
! long longValue, char * file, int line));
/* 27 */
! EXTERN Tcl_Obj * Tcl_DbNewObj_NONCONST _ANSI_ARGS_((char * file,
! int line));
/* 28 */
! EXTERN Tcl_Obj * Tcl_DbNewStringObj_NONCONST _ANSI_ARGS_((
! CONST1 char * bytes, int length, char * file,
! int line));
/* 29 */
EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr));
/* 30 */
***************
*** 179,186 ****
/* 49 */
EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue));
/* 50 */
! EXTERN Tcl_Obj * Tcl_NewByteArrayObj _ANSI_ARGS_((
! unsigned char * bytes, int length));
/* 51 */
EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue));
/* 52 */
--- 183,190 ----
/* 49 */
EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue));
/* 50 */
! EXTERN Tcl_Obj * Tcl_NewByteArrayObj_NONCONST _ANSI_ARGS_((
! unsigned char* bytes, int length));
/* 51 */
EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue));
/* 52 */
***************
*** 202,209 ****
EXTERN unsigned char * Tcl_SetByteArrayLength _ANSI_ARGS_((Tcl_Obj * objPtr,
int length));
/* 59 */
! EXTERN void Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr,
! unsigned char * bytes, int length));
/* 60 */
EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj * objPtr,
double doubleValue));
--- 206,214 ----
EXTERN unsigned char * Tcl_SetByteArrayLength _ANSI_ARGS_((Tcl_Obj * objPtr,
int length));
/* 59 */
! EXTERN void Tcl_SetByteArrayObj_NONCONST _ANSI_ARGS_((
! Tcl_Obj * objPtr, unsigned char * bytes,
! int length));
/* 60 */
EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj * objPtr,
double doubleValue));
***************
*** 220,227 ****
EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr,
int length));
/* 65 */
! EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj * objPtr,
! char * bytes, int length));
/* 66 */
EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp,
CONST char * message));
--- 225,232 ----
EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr,
int length));
/* 65 */
! EXTERN void Tcl_SetStringObj_NONCONST _ANSI_ARGS_((
! Tcl_Obj* objPtr, char* bytes, int length));
/* 66 */
EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp,
CONST char * message));
***************
*** 851,860 ****
int objc, Tcl_Obj *CONST objv[],
char * message));
/* 265 */
! EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char * fileName));
/* 266 */
! EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char * file,
! int line));
/* 267 */
EXTERN void Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp,
va_list argList));
--- 856,866 ----
int objc, Tcl_Obj *CONST objv[],
char * message));
/* 265 */
! EXTERN int Tcl_DumpActiveMemory_NONCONST _ANSI_ARGS_((
! char * fileName));
/* 266 */
! EXTERN void Tcl_ValidateAllMemory_NONCONST _ANSI_ARGS_((
! char * file, int line));
/* 267 */
EXTERN void Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp,
va_list argList));
***************
*** 867,884 ****
EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp,
char * str, char ** termPtr));
/* 271 */
! EXTERN char * Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp,
! char * name, char * version, int exact));
/* 272 */
! EXTERN char * Tcl_PkgPresentEx _ANSI_ARGS_((Tcl_Interp * interp,
! char * name, char * version, int exact,
ClientData * clientDataPtr));
/* 273 */
! EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp,
! char * name, char * version));
/* 274 */
! EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp,
! char * name, char * version, int exact));
/* 275 */
EXTERN void Tcl_SetErrorCodeVA _ANSI_ARGS_((Tcl_Interp * interp,
va_list argList));
--- 873,894 ----
EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp,
char * str, char ** termPtr));
/* 271 */
! EXTERN char * Tcl_PkgPresent_NONCONST _ANSI_ARGS_((
! Tcl_Interp * interp, char * name,
! char * version, int exact));
/* 272 */
! EXTERN char * Tcl_PkgPresentEx_NONCONST _ANSI_ARGS_((
! Tcl_Interp * interp, char * name,
! char * version, int exact,
ClientData * clientDataPtr));
/* 273 */
! EXTERN int Tcl_PkgProvide_NONCONST _ANSI_ARGS_((
! Tcl_Interp * interp, char * name,
! char * version));
/* 274 */
! EXTERN char * Tcl_PkgRequire_NONCONST _ANSI_ARGS_((
! Tcl_Interp * interp, char * name,
! char * version, int exact));
/* 275 */
EXTERN void Tcl_SetErrorCodeVA _ANSI_ARGS_((Tcl_Interp * interp,
va_list argList));
***************
*** 1184,1194 ****
EXTERN void Tcl_RegExpGetInfo _ANSI_ARGS_((Tcl_RegExp regexp,
Tcl_RegExpInfo * infoPtr));
/* 378 */
! EXTERN Tcl_Obj * Tcl_NewUnicodeObj _ANSI_ARGS_((Tcl_UniChar * unicode,
! int numChars));
! /* 379 */
! EXTERN void Tcl_SetUnicodeObj _ANSI_ARGS_((Tcl_Obj * objPtr,
Tcl_UniChar * unicode, int numChars));
/* 380 */
EXTERN int Tcl_GetCharLength _ANSI_ARGS_((Tcl_Obj * objPtr));
/* 381 */
--- 1194,1205 ----
EXTERN void Tcl_RegExpGetInfo _ANSI_ARGS_((Tcl_RegExp regexp,
Tcl_RegExpInfo * infoPtr));
/* 378 */
! EXTERN Tcl_Obj * Tcl_NewUnicodeObj_NONCONST _ANSI_ARGS_((
Tcl_UniChar * unicode, int numChars));
+ /* 379 */
+ EXTERN void Tcl_SetUnicodeObj_NONCONST _ANSI_ARGS_((
+ Tcl_Obj * objPtr, Tcl_UniChar * unicode,
+ int numChars));
/* 380 */
EXTERN int Tcl_GetCharLength _ANSI_ARGS_((Tcl_Obj * objPtr));
/* 381 */
***************
*** 1200,1207 ****
EXTERN Tcl_Obj * Tcl_GetRange _ANSI_ARGS_((Tcl_Obj * objPtr,
int first, int last));
/* 384 */
! EXTERN void Tcl_AppendUnicodeToObj _ANSI_ARGS_((Tcl_Obj * objPtr,
! Tcl_UniChar * unicode, int length));
/* 385 */
EXTERN int Tcl_RegExpMatchObj _ANSI_ARGS_((Tcl_Interp * interp,
Tcl_Obj * stringObj, Tcl_Obj * patternObj));
--- 1211,1219 ----
EXTERN Tcl_Obj * Tcl_GetRange _ANSI_ARGS_((Tcl_Obj * objPtr,
int first, int last));
/* 384 */
! EXTERN void Tcl_AppendUnicodeToObj_NONCONST _ANSI_ARGS_((
! Tcl_Obj * objPtr, Tcl_UniChar * unicode,
! int length));
/* 385 */
EXTERN int Tcl_RegExpMatchObj _ANSI_ARGS_((Tcl_Interp * interp,
Tcl_Obj * stringObj, Tcl_Obj * patternObj));
***************
*** 1350,1355 ****
--- 1362,1460 ----
/* 432 */
EXTERN int Tcl_AttemptSetObjLength _ANSI_ARGS_((
Tcl_Obj * objPtr, int length));
+ /* 433 */
+ EXTERN int Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp* interp,
+ CONST char* name, CONST char* version,
+ ClientData clientData));
+ /* 434 */
+ EXTERN CONST char * Tcl_PkgRequireEx _ANSI_ARGS_((Tcl_Interp * interp,
+ CONST char * name, CONST char * version,
+ int exact, ClientData * clientDataPtr));
+ /* Slot 435 is reserved */
+ /* 436 */
+ EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size,
+ CONST char * file, int line));
+ /* 437 */
+ EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr,
+ CONST char * file, int line));
+ /* 438 */
+ EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr,
+ unsigned int size, CONST char * file,
+ int line));
+ /* 439 */
+ EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj* objPtr,
+ CONST char* bytes, int length));
+ /* 440 */
+ EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((
+ CONST char * fileName));
+ /* 441 */
+ EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((CONST char * file,
+ int line));
+ /* 442 */
+ EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr,
+ CONST char * file, int line));
+ /* 443 */
+ EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr,
+ CONST char * file, int line));
+ /* 444 */
+ EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr,
+ CONST char * file, int line));
+ /* 445 */
+ EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue,
+ CONST char * file, int line));
+ /* 446 */
+ EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj _ANSI_ARGS_((
+ CONST unsigned char * bytes, int length,
+ CONST char * file, int line));
+ /* 447 */
+ EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue,
+ CONST char * file, int line));
+ /* 448 */
+ EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc,
+ Tcl_Obj *CONST1 * objv, CONST char * file,
+ int line));
+ /* 449 */
+ EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue,
+ CONST char * file, int line));
+ /* 450 */
+ EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((CONST char * file,
+ int line));
+ /* 451 */
+ EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((CONST1 char * bytes,
+ int length, CONST char * file, int line));
+ /* 452 */
+ EXTERN CONST char * Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp,
+ CONST char * name, CONST char * version,
+ int exact));
+ /* 453 */
+ EXTERN CONST char * Tcl_PkgPresentEx _ANSI_ARGS_((Tcl_Interp * interp,
+ CONST char * name, CONST char * version,
+ int exact, ClientData * clientDataPtr));
+ /* 454 */
+ EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp,
+ CONST char * name, CONST char * version));
+ /* 455 */
+ EXTERN CONST char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp,
+ CONST char * name, CONST char * version,
+ int exact));
+ /* 456 */
+ EXTERN Tcl_Obj * Tcl_NewByteArrayObj _ANSI_ARGS_((
+ CONST unsigned char* bytes, int length));
+ /* 457 */
+ EXTERN void Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ CONST unsigned char * bytes, int length));
+ /* 458 */
+ EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj* objPtr,
+ CONST char* bytes, int length));
+ /* 459 */
+ EXTERN Tcl_Obj * Tcl_NewUnicodeObj _ANSI_ARGS_((
+ CONST Tcl_UniChar * unicode, int numChars));
+ /* 460 */
+ EXTERN void Tcl_SetUnicodeObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ CONST Tcl_UniChar * unicode, int numChars));
+ /* 461 */
+ EXTERN void Tcl_AppendUnicodeToObj _ANSI_ARGS_((Tcl_Obj * objPtr,
+ CONST Tcl_UniChar * unicode, int length));
typedef struct TclStubHooks {
struct TclPlatStubs *tclPlatStubs;
***************
*** 1361,1375 ****
int magic;
struct TclStubHooks *hooks;
! int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, ClientData clientData)); /* 0 */
! char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 1 */
void (*tcl_Panic) _ANSI_ARGS_(TCL_VARARGS(char *,format)); /* 2 */
char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 3 */
void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 4 */
char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 5 */
! char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, char * file, int line)); /* 6 */
! int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, char * file, int line)); /* 7 */
! char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, char * file, int line)); /* 8 */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 9 */
#endif /* UNIX */
--- 1466,1480 ----
int magic;
struct TclStubHooks *hooks;
! int (*tcl_PkgProvideEx_NONCONST) _ANSI_ARGS_((Tcl_Interp* interp, char* name, char* version, ClientData clientData)); /* 0 */
! char * (*tcl_PkgRequireEx_NONCONST) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 1 */
void (*tcl_Panic) _ANSI_ARGS_(TCL_VARARGS(char *,format)); /* 2 */
char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 3 */
void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 4 */
char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 5 */
! char * (*tcl_DbCkalloc_NONCONST) _ANSI_ARGS_((unsigned int size, char * file, int line)); /* 6 */
! int (*tcl_DbCkfree_NONCONST) _ANSI_ARGS_((char * ptr, char * file, int line)); /* 7 */
! char * (*tcl_DbCkrealloc_NONCONST) _ANSI_ARGS_((char * ptr, unsigned int size, char * file, int line)); /* 8 */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 9 */
#endif /* UNIX */
***************
*** 1393,1411 ****
int (*tcl_WaitForEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 13 */
int (*tcl_AppendAllObjTypes) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 14 */
void (*tcl_AppendStringsToObj) _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); /* 15 */
! void (*tcl_AppendToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 16 */
Tcl_Obj * (*tcl_ConcatObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 17 */
int (*tcl_ConvertToType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); /* 18 */
! void (*tcl_DbDecrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 19 */
! void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 20 */
! int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 21 */
! Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, char * file, int line)); /* 22 */
! Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length, char * file, int line)); /* 23 */
! Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, char * file, int line)); /* 24 */
! Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[], char * file, int line)); /* 25 */
! Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, char * file, int line)); /* 26 */
! Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((char * file, int line)); /* 27 */
! Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((CONST char * bytes, int length, char * file, int line)); /* 28 */
Tcl_Obj * (*tcl_DuplicateObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 29 */
void (*tclFreeObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 30 */
int (*tcl_GetBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * str, int * boolPtr)); /* 31 */
--- 1498,1516 ----
int (*tcl_WaitForEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 13 */
int (*tcl_AppendAllObjTypes) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 14 */
void (*tcl_AppendStringsToObj) _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); /* 15 */
! void (*tcl_AppendToObj_NONCONST) _ANSI_ARGS_((Tcl_Obj* objPtr, char* bytes, int length)); /* 16 */
Tcl_Obj * (*tcl_ConcatObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 17 */
int (*tcl_ConvertToType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); /* 18 */
! void (*tcl_DbDecrRefCount_NONCONST) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 19 */
! void (*tcl_DbIncrRefCount_NONCONST) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 20 */
! int (*tcl_DbIsShared_NONCONST) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 21 */
! Tcl_Obj * (*tcl_DbNewBooleanObj_NONCONST) _ANSI_ARGS_((int boolValue, char * file, int line)); /* 22 */
! Tcl_Obj * (*tcl_DbNewByteArrayObj_NONCONST) _ANSI_ARGS_((unsigned char * bytes, int length, char * file, int line)); /* 23 */
! Tcl_Obj * (*tcl_DbNewDoubleObj_NONCONST) _ANSI_ARGS_((double doubleValue, char * file, int line)); /* 24 */
! Tcl_Obj * (*tcl_DbNewListObj_NONCONST) _ANSI_ARGS_((int objc, Tcl_Obj *CONST1 * objv, char * file, int line)); /* 25 */
! Tcl_Obj * (*tcl_DbNewLongObj_NONCONST) _ANSI_ARGS_((long longValue, char * file, int line)); /* 26 */
! Tcl_Obj * (*tcl_DbNewObj_NONCONST) _ANSI_ARGS_((char * file, int line)); /* 27 */
! Tcl_Obj * (*tcl_DbNewStringObj_NONCONST) _ANSI_ARGS_((CONST1 char * bytes, int length, char * file, int line)); /* 28 */
Tcl_Obj * (*tcl_DuplicateObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 29 */
void (*tclFreeObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 30 */
int (*tcl_GetBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * str, int * boolPtr)); /* 31 */
***************
*** 1427,1433 ****
int (*tcl_ListObjLength) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * intPtr)); /* 47 */
int (*tcl_ListObjReplace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); /* 48 */
Tcl_Obj * (*tcl_NewBooleanObj) _ANSI_ARGS_((int boolValue)); /* 49 */
! Tcl_Obj * (*tcl_NewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length)); /* 50 */
Tcl_Obj * (*tcl_NewDoubleObj) _ANSI_ARGS_((double doubleValue)); /* 51 */
Tcl_Obj * (*tcl_NewIntObj) _ANSI_ARGS_((int intValue)); /* 52 */
Tcl_Obj * (*tcl_NewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 53 */
--- 1532,1538 ----
int (*tcl_ListObjLength) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * intPtr)); /* 47 */
int (*tcl_ListObjReplace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); /* 48 */
Tcl_Obj * (*tcl_NewBooleanObj) _ANSI_ARGS_((int boolValue)); /* 49 */
! Tcl_Obj * (*tcl_NewByteArrayObj_NONCONST) _ANSI_ARGS_((unsigned char* bytes, int length)); /* 50 */
Tcl_Obj * (*tcl_NewDoubleObj) _ANSI_ARGS_((double doubleValue)); /* 51 */
Tcl_Obj * (*tcl_NewIntObj) _ANSI_ARGS_((int intValue)); /* 52 */
Tcl_Obj * (*tcl_NewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 53 */
***************
*** 1436,1448 ****
Tcl_Obj * (*tcl_NewStringObj) _ANSI_ARGS_((CONST char * bytes, int length)); /* 56 */
void (*tcl_SetBooleanObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int boolValue)); /* 57 */
unsigned char * (*tcl_SetByteArrayLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 58 */
! void (*tcl_SetByteArrayObj) _ANSI_ARGS_((Tcl_Obj * objPtr, unsigned char * bytes, int length)); /* 59 */
void (*tcl_SetDoubleObj) _ANSI_ARGS_((Tcl_Obj * objPtr, double doubleValue)); /* 60 */
void (*tcl_SetIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int intValue)); /* 61 */
void (*tcl_SetListObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int objc, Tcl_Obj *CONST objv[])); /* 62 */
void (*tcl_SetLongObj) _ANSI_ARGS_((Tcl_Obj * objPtr, long longValue)); /* 63 */
void (*tcl_SetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 64 */
! void (*tcl_SetStringObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 65 */
void (*tcl_AddErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * message)); /* 66 */
void (*tcl_AddObjErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * message, int length)); /* 67 */
void (*tcl_AllowExceptions) _ANSI_ARGS_((Tcl_Interp * interp)); /* 68 */
--- 1541,1553 ----
Tcl_Obj * (*tcl_NewStringObj) _ANSI_ARGS_((CONST char * bytes, int length)); /* 56 */
void (*tcl_SetBooleanObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int boolValue)); /* 57 */
unsigned char * (*tcl_SetByteArrayLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 58 */
! void (*tcl_SetByteArrayObj_NONCONST) _ANSI_ARGS_((Tcl_Obj * objPtr, unsigned char * bytes, int length)); /* 59 */
void (*tcl_SetDoubleObj) _ANSI_ARGS_((Tcl_Obj * objPtr, double doubleValue)); /* 60 */
void (*tcl_SetIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int intValue)); /* 61 */
void (*tcl_SetListObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int objc, Tcl_Obj *CONST objv[])); /* 62 */
void (*tcl_SetLongObj) _ANSI_ARGS_((Tcl_Obj * objPtr, long longValue)); /* 63 */
void (*tcl_SetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 64 */
! void (*tcl_SetStringObj_NONCONST) _ANSI_ARGS_((Tcl_Obj* objPtr, char* bytes, int length)); /* 65 */
void (*tcl_AddErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * message)); /* 66 */
void (*tcl_AddObjErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * message, int length)); /* 67 */
void (*tcl_AllowExceptions) _ANSI_ARGS_((Tcl_Interp * interp)); /* 68 */
***************
*** 1674,1689 ****
ClientData (*tcl_VarTraceInfo2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 262 */
int (*tcl_Write) _ANSI_ARGS_((Tcl_Channel chan, char * s, int slen)); /* 263 */
void (*tcl_WrongNumArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], char * message)); /* 264 */
! int (*tcl_DumpActiveMemory) _ANSI_ARGS_((char * fileName)); /* 265 */
! void (*tcl_ValidateAllMemory) _ANSI_ARGS_((char * file, int line)); /* 266 */
void (*tcl_AppendResultVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 267 */
void (*tcl_AppendStringsToObjVA) _ANSI_ARGS_((Tcl_Obj * objPtr, va_list argList)); /* 268 */
char * (*tcl_HashStats) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 269 */
char * (*tcl_ParseVar) _ANSI_ARGS_((Tcl_Interp * interp, char * str, char ** termPtr)); /* 270 */
! char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 271 */
! char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 272 */
! int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version)); /* 273 */
! char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 274 */
void (*tcl_SetErrorCodeVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 275 */
int (*tcl_VarEvalVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 276 */
Tcl_Pid (*tcl_WaitPid) _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, int options)); /* 277 */
--- 1779,1794 ----
ClientData (*tcl_VarTraceInfo2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 262 */
int (*tcl_Write) _ANSI_ARGS_((Tcl_Channel chan, char * s, int slen)); /* 263 */
void (*tcl_WrongNumArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], char * message)); /* 264 */
! int (*tcl_DumpActiveMemory_NONCONST) _ANSI_ARGS_((char * fileName)); /* 265 */
! void (*tcl_ValidateAllMemory_NONCONST) _ANSI_ARGS_((char * file, int line)); /* 266 */
void (*tcl_AppendResultVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 267 */
void (*tcl_AppendStringsToObjVA) _ANSI_ARGS_((Tcl_Obj * objPtr, va_list argList)); /* 268 */
char * (*tcl_HashStats) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 269 */
char * (*tcl_ParseVar) _ANSI_ARGS_((Tcl_Interp * interp, char * str, char ** termPtr)); /* 270 */
! char * (*tcl_PkgPresent_NONCONST) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 271 */
! char * (*tcl_PkgPresentEx_NONCONST) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 272 */
! int (*tcl_PkgProvide_NONCONST) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version)); /* 273 */
! char * (*tcl_PkgRequire_NONCONST) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 274 */
void (*tcl_SetErrorCodeVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 275 */
int (*tcl_VarEvalVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 276 */
Tcl_Pid (*tcl_WaitPid) _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, int options)); /* 277 */
***************
*** 1795,1807 ****
int (*tcl_UniCharIsPunct) _ANSI_ARGS_((int ch)); /* 375 */
int (*tcl_RegExpExecObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, Tcl_Obj * objPtr, int offset, int nmatches, int flags)); /* 376 */
void (*tcl_RegExpGetInfo) _ANSI_ARGS_((Tcl_RegExp regexp, Tcl_RegExpInfo * infoPtr)); /* 377 */
! Tcl_Obj * (*tcl_NewUnicodeObj) _ANSI_ARGS_((Tcl_UniChar * unicode, int numChars)); /* 378 */
! void (*tcl_SetUnicodeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, Tcl_UniChar * unicode, int numChars)); /* 379 */
int (*tcl_GetCharLength) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 380 */
Tcl_UniChar (*tcl_GetUniChar) _ANSI_ARGS_((Tcl_Obj * objPtr, int index)); /* 381 */
Tcl_UniChar * (*tcl_GetUnicode) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 382 */
Tcl_Obj * (*tcl_GetRange) _ANSI_ARGS_((Tcl_Obj * objPtr, int first, int last)); /* 383 */
! void (*tcl_AppendUnicodeToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, Tcl_UniChar * unicode, int length)); /* 384 */
int (*tcl_RegExpMatchObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * stringObj, Tcl_Obj * patternObj)); /* 385 */
void (*tcl_SetNotifier) _ANSI_ARGS_((Tcl_NotifierProcs * notifierProcPtr)); /* 386 */
Tcl_Mutex * (*tcl_GetAllocMutex) _ANSI_ARGS_((void)); /* 387 */
--- 1900,1912 ----
int (*tcl_UniCharIsPunct) _ANSI_ARGS_((int ch)); /* 375 */
int (*tcl_RegExpExecObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, Tcl_Obj * objPtr, int offset, int nmatches, int flags)); /* 376 */
void (*tcl_RegExpGetInfo) _ANSI_ARGS_((Tcl_RegExp regexp, Tcl_RegExpInfo * infoPtr)); /* 377 */
! Tcl_Obj * (*tcl_NewUnicodeObj_NONCONST) _ANSI_ARGS_((Tcl_UniChar * unicode, int numChars)); /* 378 */
! void (*tcl_SetUnicodeObj_NONCONST) _ANSI_ARGS_((Tcl_Obj * objPtr, Tcl_UniChar * unicode, int numChars)); /* 379 */
int (*tcl_GetCharLength) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 380 */
Tcl_UniChar (*tcl_GetUniChar) _ANSI_ARGS_((Tcl_Obj * objPtr, int index)); /* 381 */
Tcl_UniChar * (*tcl_GetUnicode) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 382 */
Tcl_Obj * (*tcl_GetRange) _ANSI_ARGS_((Tcl_Obj * objPtr, int first, int last)); /* 383 */
! void (*tcl_AppendUnicodeToObj_NONCONST) _ANSI_ARGS_((Tcl_Obj * objPtr, Tcl_UniChar * unicode, int length)); /* 384 */
int (*tcl_RegExpMatchObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * stringObj, Tcl_Obj * patternObj)); /* 385 */
void (*tcl_SetNotifier) _ANSI_ARGS_((Tcl_NotifierProcs * notifierProcPtr)); /* 386 */
Tcl_Mutex * (*tcl_GetAllocMutex) _ANSI_ARGS_((void)); /* 387 */
***************
*** 1840,1846 ****
int (*tcl_UniCharCaseMatch) _ANSI_ARGS_((CONST Tcl_UniChar * ustr, CONST Tcl_UniChar * pattern, int nocase)); /* 420 */
Tcl_HashEntry * (*tcl_FindHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, CONST char * key)); /* 421 */
Tcl_HashEntry * (*tcl_CreateHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, CONST char * key, int * newPtr)); /* 422 */
! void (*Tcl_InitCustomHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType, Tcl_HashKeyType * typePtr)); /* 423 */
void (*tcl_InitObjHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 424 */
ClientData (*tcl_CommandTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData)); /* 425 */
int (*tcl_TraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 426 */
--- 1945,1951 ----
int (*tcl_UniCharCaseMatch) _ANSI_ARGS_((CONST Tcl_UniChar * ustr, CONST Tcl_UniChar * pattern, int nocase)); /* 420 */
Tcl_HashEntry * (*tcl_FindHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, CONST char * key)); /* 421 */
Tcl_HashEntry * (*tcl_CreateHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, CONST char * key, int * newPtr)); /* 422 */
! void (*tcl_InitCustomHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType, Tcl_HashKeyType * typePtr)); /* 423 */
void (*tcl_InitObjHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 424 */
ClientData (*tcl_CommandTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData)); /* 425 */
int (*tcl_TraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 426 */
***************
*** 1850,1855 ****
--- 1955,1989 ----
char * (*tcl_AttemptRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 430 */
char * (*tcl_AttemptDbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, char * file, int line)); /* 431 */
int (*tcl_AttemptSetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 432 */
+ int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* name, CONST char* version, ClientData clientData)); /* 433 */
+ CONST char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 434 */
+ void *reserved435;
+ char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 436 */
+ int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 437 */
+ char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, CONST char * file, int line)); /* 438 */
+ void (*tcl_AppendToObj) _ANSI_ARGS_((Tcl_Obj* objPtr, CONST char* bytes, int length)); /* 439 */
+ int (*tcl_DumpActiveMemory) _ANSI_ARGS_((CONST char * fileName)); /* 440 */
+ void (*tcl_ValidateAllMemory) _ANSI_ARGS_((CONST char * file, int line)); /* 441 */
+ void (*tcl_DbDecrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 442 */
+ void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 443 */
+ int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 444 */
+ Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, CONST char * file, int line)); /* 445 */
+ Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((CONST unsigned char * bytes, int length, CONST char * file, int line)); /* 446 */
+ Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, CONST char * file, int line)); /* 447 */
+ Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST1 * objv, CONST char * file, int line)); /* 448 */
+ Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, CONST char * file, int line)); /* 449 */
+ Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((CONST char * file, int line)); /* 450 */
+ Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((CONST1 char * bytes, int length, CONST char * file, int line)); /* 451 */
+ CONST char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact)); /* 452 */
+ CONST char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 453 */
+ int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version)); /* 454 */
+ CONST char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact)); /* 455 */
+ Tcl_Obj * (*tcl_NewByteArrayObj) _ANSI_ARGS_((CONST unsigned char* bytes, int length)); /* 456 */
+ void (*tcl_SetByteArrayObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST unsigned char * bytes, int length)); /* 457 */
+ void (*tcl_SetStringObj) _ANSI_ARGS_((Tcl_Obj* objPtr, CONST char* bytes, int length)); /* 458 */
+ Tcl_Obj * (*tcl_NewUnicodeObj) _ANSI_ARGS_((CONST Tcl_UniChar * unicode, int numChars)); /* 459 */
+ void (*tcl_SetUnicodeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST Tcl_UniChar * unicode, int numChars)); /* 460 */
+ void (*tcl_AppendUnicodeToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST Tcl_UniChar * unicode, int length)); /* 461 */
} TclStubs;
#ifdef __cplusplus
***************
*** 1866,1878 ****
* Inline function declarations:
*/
! #ifndef Tcl_PkgProvideEx
! #define Tcl_PkgProvideEx \
! (tclStubsPtr->tcl_PkgProvideEx) /* 0 */
#endif
! #ifndef Tcl_PkgRequireEx
! #define Tcl_PkgRequireEx \
! (tclStubsPtr->tcl_PkgRequireEx) /* 1 */
#endif
#ifndef Tcl_Panic
#define Tcl_Panic \
--- 2000,2012 ----
* Inline function declarations:
*/
! #ifndef Tcl_PkgProvideEx_NONCONST
! #define Tcl_PkgProvideEx_NONCONST \
! (tclStubsPtr->tcl_PkgProvideEx_NONCONST) /* 0 */
#endif
! #ifndef Tcl_PkgRequireEx_NONCONST
! #define Tcl_PkgRequireEx_NONCONST \
! (tclStubsPtr->tcl_PkgRequireEx_NONCONST) /* 1 */
#endif
#ifndef Tcl_Panic
#define Tcl_Panic \
***************
*** 1890,1906 ****
#define Tcl_Realloc \
(tclStubsPtr->tcl_Realloc) /* 5 */
#endif
! #ifndef Tcl_DbCkalloc
! #define Tcl_DbCkalloc \
! (tclStubsPtr->tcl_DbCkalloc) /* 6 */
#endif
! #ifndef Tcl_DbCkfree
! #define Tcl_DbCkfree \
! (tclStubsPtr->tcl_DbCkfree) /* 7 */
#endif
! #ifndef Tcl_DbCkrealloc
! #define Tcl_DbCkrealloc \
! (tclStubsPtr->tcl_DbCkrealloc) /* 8 */
#endif
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
#ifndef Tcl_CreateFileHandler
--- 2024,2040 ----
#define Tcl_Realloc \
(tclStubsPtr->tcl_Realloc) /* 5 */
#endif
! #ifndef Tcl_DbCkalloc_NONCONST
! #define Tcl_DbCkalloc_NONCONST \
! (tclStubsPtr->tcl_DbCkalloc_NONCONST) /* 6 */
#endif
! #ifndef Tcl_DbCkfree_NONCONST
! #define Tcl_DbCkfree_NONCONST \
! (tclStubsPtr->tcl_DbCkfree_NONCONST) /* 7 */
#endif
! #ifndef Tcl_DbCkrealloc_NONCONST
! #define Tcl_DbCkrealloc_NONCONST \
! (tclStubsPtr->tcl_DbCkrealloc_NONCONST) /* 8 */
#endif
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
#ifndef Tcl_CreateFileHandler
***************
*** 1934,1942 ****
#define Tcl_AppendStringsToObj \
(tclStubsPtr->tcl_AppendStringsToObj) /* 15 */
#endif
! #ifndef Tcl_AppendToObj
! #define Tcl_AppendToObj \
! (tclStubsPtr->tcl_AppendToObj) /* 16 */
#endif
#ifndef Tcl_ConcatObj
#define Tcl_ConcatObj \
--- 2068,2076 ----
#define Tcl_AppendStringsToObj \
(tclStubsPtr->tcl_AppendStringsToObj) /* 15 */
#endif
! #ifndef Tcl_AppendToObj_NONCONST
! #define Tcl_AppendToObj_NONCONST \
! (tclStubsPtr->tcl_AppendToObj_NONCONST) /* 16 */
#endif
#ifndef Tcl_ConcatObj
#define Tcl_ConcatObj \
***************
*** 1946,1990 ****
#define Tcl_ConvertToType \
(tclStubsPtr->tcl_ConvertToType) /* 18 */
#endif
! #ifndef Tcl_DbDecrRefCount
! #define Tcl_DbDecrRefCount \
! (tclStubsPtr->tcl_DbDecrRefCount) /* 19 */
#endif
! #ifndef Tcl_DbIncrRefCount
! #define Tcl_DbIncrRefCount \
! (tclStubsPtr->tcl_DbIncrRefCount) /* 20 */
#endif
! #ifndef Tcl_DbIsShared
! #define Tcl_DbIsShared \
! (tclStubsPtr->tcl_DbIsShared) /* 21 */
#endif
! #ifndef Tcl_DbNewBooleanObj
! #define Tcl_DbNewBooleanObj \
! (tclStubsPtr->tcl_DbNewBooleanObj) /* 22 */
#endif
! #ifndef Tcl_DbNewByteArrayObj
! #define Tcl_DbNewByteArrayObj \
! (tclStubsPtr->tcl_DbNewByteArrayObj) /* 23 */
#endif
! #ifndef Tcl_DbNewDoubleObj
! #define Tcl_DbNewDoubleObj \
! (tclStubsPtr->tcl_DbNewDoubleObj) /* 24 */
#endif
- #ifndef Tcl_DbNewListObj
- #define Tcl_DbNewListObj \
! (tclStubsPtr->tcl_DbNewListObj) /* 25 */
#endif
! #ifndef Tcl_DbNewLongObj
! #define Tcl_DbNewLongObj \
! (tclStubsPtr->tcl_DbNewLongObj) /* 26 */
#endif
! #ifndef Tcl_DbNewObj
! #define Tcl_DbNewObj \
! (tclStubsPtr->tcl_DbNewObj) /* 27 */
#endif
! #ifndef Tcl_DbNewStringObj
! #define Tcl_DbNewStringObj \
! (tclStubsPtr->tcl_DbNewStringObj) /* 28 */
#endif
#ifndef Tcl_DuplicateObj
#define Tcl_DuplicateObj \
--- 2080,2124 ----
#define Tcl_ConvertToType \
(tclStubsPtr->tcl_ConvertToType) /* 18 */
#endif
! #ifndef Tcl_DbDecrRefCount_NONCONST
! #define Tcl_DbDecrRefCount_NONCONST \
! (tclStubsPtr->tcl_DbDecrRefCount_NONCONST) /* 19 */
#endif
! #ifndef Tcl_DbIncrRefCount_NONCONST
! #define Tcl_DbIncrRefCount_NONCONST \
! (tclStubsPtr->tcl_DbIncrRefCount_NONCONST) /* 20 */
#endif
! #ifndef Tcl_DbIsShared_NONCONST
! #define Tcl_DbIsShared_NONCONST \
! (tclStubsPtr->tcl_DbIsShared_NONCONST) /* 21 */
#endif
! #ifndef Tcl_DbNewBooleanObj_NONCONST
! #define Tcl_DbNewBooleanObj_NONCONST \
! (tclStubsPtr->tcl_DbNewBooleanObj_NONCONST) /* 22 */
#endif
! #ifndef Tcl_DbNewByteArrayObj_NONCONST
! #define Tcl_DbNewByteArrayObj_NONCONST \
! (tclStubsPtr->tcl_DbNewByteArrayObj_NONCONST) /* 23 */
#endif
! #ifndef Tcl_DbNewDoubleObj_NONCONST
! #define Tcl_DbNewDoubleObj_NONCONST \
! (tclStubsPtr->tcl_DbNewDoubleObj_NONCONST) /* 24 */
#endif
! #ifndef Tcl_DbNewListObj_NONCONST
! #define Tcl_DbNewListObj_NONCONST \
! (tclStubsPtr->tcl_DbNewListObj_NONCONST) /* 25 */
#endif
! #ifndef Tcl_DbNewLongObj_NONCONST
! #define Tcl_DbNewLongObj_NONCONST \
! (tclStubsPtr->tcl_DbNewLongObj_NONCONST) /* 26 */
#endif
! #ifndef Tcl_DbNewObj_NONCONST
! #define Tcl_DbNewObj_NONCONST \
! (tclStubsPtr->tcl_DbNewObj_NONCONST) /* 27 */
#endif
! #ifndef Tcl_DbNewStringObj_NONCONST
! #define Tcl_DbNewStringObj_NONCONST \
! (tclStubsPtr->tcl_DbNewStringObj_NONCONST) /* 28 */
#endif
#ifndef Tcl_DuplicateObj
#define Tcl_DuplicateObj \
***************
*** 2070,2078 ****
#define Tcl_NewBooleanObj \
(tclStubsPtr->tcl_NewBooleanObj) /* 49 */
#endif
! #ifndef Tcl_NewByteArrayObj
! #define Tcl_NewByteArrayObj \
! (tclStubsPtr->tcl_NewByteArrayObj) /* 50 */
#endif
#ifndef Tcl_NewDoubleObj
#define Tcl_NewDoubleObj \
--- 2204,2212 ----
#define Tcl_NewBooleanObj \
(tclStubsPtr->tcl_NewBooleanObj) /* 49 */
#endif
! #ifndef Tcl_NewByteArrayObj_NONCONST
! #define Tcl_NewByteArrayObj_NONCONST \
! (tclStubsPtr->tcl_NewByteArrayObj_NONCONST) /* 50 */
#endif
#ifndef Tcl_NewDoubleObj
#define Tcl_NewDoubleObj \
***************
*** 2106,2114 ****
#define Tcl_SetByteArrayLength \
(tclStubsPtr->tcl_SetByteArrayLength) /* 58 */
#endif
! #ifndef Tcl_SetByteArrayObj
! #define Tcl_SetByteArrayObj \
! (tclStubsPtr->tcl_SetByteArrayObj) /* 59 */
#endif
#ifndef Tcl_SetDoubleObj
#define Tcl_SetDoubleObj \
--- 2240,2248 ----
#define Tcl_SetByteArrayLength \
(tclStubsPtr->tcl_SetByteArrayLength) /* 58 */
#endif
! #ifndef Tcl_SetByteArrayObj_NONCONST
! #define Tcl_SetByteArrayObj_NONCONST \
! (tclStubsPtr->tcl_SetByteArrayObj_NONCONST) /* 59 */
#endif
#ifndef Tcl_SetDoubleObj
#define Tcl_SetDoubleObj \
***************
*** 2130,2138 ****
#define Tcl_SetObjLength \
(tclStubsPtr->tcl_SetObjLength) /* 64 */
#endif
! #ifndef Tcl_SetStringObj
! #define Tcl_SetStringObj \
! (tclStubsPtr->tcl_SetStringObj) /* 65 */
#endif
#ifndef Tcl_AddErrorInfo
#define Tcl_AddErrorInfo \
--- 2264,2272 ----
#define Tcl_SetObjLength \
(tclStubsPtr->tcl_SetObjLength) /* 64 */
#endif
! #ifndef Tcl_SetStringObj_NONCONST
! #define Tcl_SetStringObj_NONCONST \
! (tclStubsPtr->tcl_SetStringObj_NONCONST) /* 65 */
#endif
#ifndef Tcl_AddErrorInfo
#define Tcl_AddErrorInfo \
***************
*** 2953,2965 ****
#define Tcl_WrongNumArgs \
(tclStubsPtr->tcl_WrongNumArgs) /* 264 */
#endif
! #ifndef Tcl_DumpActiveMemory
! #define Tcl_DumpActiveMemory \
! (tclStubsPtr->tcl_DumpActiveMemory) /* 265 */
#endif
! #ifndef Tcl_ValidateAllMemory
! #define Tcl_ValidateAllMemory \
! (tclStubsPtr->tcl_ValidateAllMemory) /* 266 */
#endif
#ifndef Tcl_AppendResultVA
#define Tcl_AppendResultVA \
--- 3087,3099 ----
#define Tcl_WrongNumArgs \
(tclStubsPtr->tcl_WrongNumArgs) /* 264 */
#endif
! #ifndef Tcl_DumpActiveMemory_NONCONST
! #define Tcl_DumpActiveMemory_NONCONST \
! (tclStubsPtr->tcl_DumpActiveMemory_NONCONST) /* 265 */
#endif
! #ifndef Tcl_ValidateAllMemory_NONCONST
! #define Tcl_ValidateAllMemory_NONCONST \
! (tclStubsPtr->tcl_ValidateAllMemory_NONCONST) /* 266 */
#endif
#ifndef Tcl_AppendResultVA
#define Tcl_AppendResultVA \
***************
*** 2977,2997 ****
#define Tcl_ParseVar \
(tclStubsPtr->tcl_ParseVar) /* 270 */
#endif
! #ifndef Tcl_PkgPresent
! #define Tcl_PkgPresent \
! (tclStubsPtr->tcl_PkgPresent) /* 271 */
#endif
! #ifndef Tcl_PkgPresentEx
! #define Tcl_PkgPresentEx \
! (tclStubsPtr->tcl_PkgPresentEx) /* 272 */
#endif
! #ifndef Tcl_PkgProvide
! #define Tcl_PkgProvide \
! (tclStubsPtr->tcl_PkgProvide) /* 273 */
#endif
! #ifndef Tcl_PkgRequire
! #define Tcl_PkgRequire \
! (tclStubsPtr->tcl_PkgRequire) /* 274 */
#endif
#ifndef Tcl_SetErrorCodeVA
#define Tcl_SetErrorCodeVA \
--- 3111,3131 ----
#define Tcl_ParseVar \
(tclStubsPtr->tcl_ParseVar) /* 270 */
#endif
! #ifndef Tcl_PkgPresent_NONCONST
! #define Tcl_PkgPresent_NONCONST \
! (tclStubsPtr->tcl_PkgPresent_NONCONST) /* 271 */
#endif
! #ifndef Tcl_PkgPresentEx_NONCONST
! #define Tcl_PkgPresentEx_NONCONST \
! (tclStubsPtr->tcl_PkgPresentEx_NONCONST) /* 272 */
#endif
! #ifndef Tcl_PkgProvide_NONCONST
! #define Tcl_PkgProvide_NONCONST \
! (tclStubsPtr->tcl_PkgProvide_NONCONST) /* 273 */
#endif
! #ifndef Tcl_PkgRequire_NONCONST
! #define Tcl_PkgRequire_NONCONST \
! (tclStubsPtr->tcl_PkgRequire_NONCONST) /* 274 */
#endif
#ifndef Tcl_SetErrorCodeVA
#define Tcl_SetErrorCodeVA \
***************
*** 3410,3422 ****
#define Tcl_RegExpGetInfo \
(tclStubsPtr->tcl_RegExpGetInfo) /* 377 */
#endif
! #ifndef Tcl_NewUnicodeObj
! #define Tcl_NewUnicodeObj \
! (tclStubsPtr->tcl_NewUnicodeObj) /* 378 */
#endif
! #ifndef Tcl_SetUnicodeObj
! #define Tcl_SetUnicodeObj \
! (tclStubsPtr->tcl_SetUnicodeObj) /* 379 */
#endif
#ifndef Tcl_GetCharLength
#define Tcl_GetCharLength \
--- 3544,3556 ----
#define Tcl_RegExpGetInfo \
(tclStubsPtr->tcl_RegExpGetInfo) /* 377 */
#endif
! #ifndef Tcl_NewUnicodeObj_NONCONST
! #define Tcl_NewUnicodeObj_NONCONST \
! (tclStubsPtr->tcl_NewUnicodeObj_NONCONST) /* 378 */
#endif
! #ifndef Tcl_SetUnicodeObj_NONCONST
! #define Tcl_SetUnicodeObj_NONCONST \
! (tclStubsPtr->tcl_SetUnicodeObj_NONCONST) /* 379 */
#endif
#ifndef Tcl_GetCharLength
#define Tcl_GetCharLength \
***************
*** 3434,3442 ****
#define Tcl_GetRange \
(tclStubsPtr->tcl_GetRange) /* 383 */
#endif
! #ifndef Tcl_AppendUnicodeToObj
! #define Tcl_AppendUnicodeToObj \
! (tclStubsPtr->tcl_AppendUnicodeToObj) /* 384 */
#endif
#ifndef Tcl_RegExpMatchObj
#define Tcl_RegExpMatchObj \
--- 3568,3576 ----
#define Tcl_GetRange \
(tclStubsPtr->tcl_GetRange) /* 383 */
#endif
! #ifndef Tcl_AppendUnicodeToObj_NONCONST
! #define Tcl_AppendUnicodeToObj_NONCONST \
! (tclStubsPtr->tcl_AppendUnicodeToObj_NONCONST) /* 384 */
#endif
#ifndef Tcl_RegExpMatchObj
#define Tcl_RegExpMatchObj \
***************
*** 3592,3598 ****
#endif
#ifndef Tcl_InitCustomHashTable
#define Tcl_InitCustomHashTable \
! (tclStubsPtr->Tcl_InitCustomHashTable) /* 423 */
#endif
#ifndef Tcl_InitObjHashTable
#define Tcl_InitObjHashTable \
--- 3726,3732 ----
#endif
#ifndef Tcl_InitCustomHashTable
#define Tcl_InitCustomHashTable \
! (tclStubsPtr->tcl_InitCustomHashTable) /* 423 */
#endif
#ifndef Tcl_InitObjHashTable
#define Tcl_InitObjHashTable \
***************
*** 3629,3634 ****
--- 3763,3881 ----
#ifndef Tcl_AttemptSetObjLength
#define Tcl_AttemptSetObjLength \
(tclStubsPtr->tcl_AttemptSetObjLength) /* 432 */
+ #endif
+ #ifndef Tcl_PkgProvideEx
+ #define Tcl_PkgProvideEx \
+ (tclStubsPtr->tcl_PkgProvideEx) /* 433 */
+ #endif
+ #ifndef Tcl_PkgRequireEx
+ #define Tcl_PkgRequireEx \
+ (tclStubsPtr->tcl_PkgRequireEx) /* 434 */
+ #endif
+ /* Slot 435 is reserved */
+ #ifndef Tcl_DbCkalloc
+ #define Tcl_DbCkalloc \
+ (tclStubsPtr->tcl_DbCkalloc) /* 436 */
+ #endif
+ #ifndef Tcl_DbCkfree
+ #define Tcl_DbCkfree \
+ (tclStubsPtr->tcl_DbCkfree) /* 437 */
+ #endif
+ #ifndef Tcl_DbCkrealloc
+ #define Tcl_DbCkrealloc \
+ (tclStubsPtr->tcl_DbCkrealloc) /* 438 */
+ #endif
+ #ifndef Tcl_AppendToObj
+ #define Tcl_AppendToObj \
+ (tclStubsPtr->tcl_AppendToObj) /* 439 */
+ #endif
+ #ifndef Tcl_DumpActiveMemory
+ #define Tcl_DumpActiveMemory \
+ (tclStubsPtr->tcl_DumpActiveMemory) /* 440 */
+ #endif
+ #ifndef Tcl_ValidateAllMemory
+ #define Tcl_ValidateAllMemory \
+ (tclStubsPtr->tcl_ValidateAllMemory) /* 441 */
+ #endif
+ #ifndef Tcl_DbDecrRefCount
+ #define Tcl_DbDecrRefCount \
+ (tclStubsPtr->tcl_DbDecrRefCount) /* 442 */
+ #endif
+ #ifndef Tcl_DbIncrRefCount
+ #define Tcl_DbIncrRefCount \
+ (tclStubsPtr->tcl_DbIncrRefCount) /* 443 */
+ #endif
+ #ifndef Tcl_DbIsShared
+ #define Tcl_DbIsShared \
+ (tclStubsPtr->tcl_DbIsShared) /* 444 */
+ #endif
+ #ifndef Tcl_DbNewBooleanObj
+ #define Tcl_DbNewBooleanObj \
+ (tclStubsPtr->tcl_DbNewBooleanObj) /* 445 */
+ #endif
+ #ifndef Tcl_DbNewByteArrayObj
+ #define Tcl_DbNewByteArrayObj \
+ (tclStubsPtr->tcl_DbNewByteArrayObj) /* 446 */
+ #endif
+ #ifndef Tcl_DbNewDoubleObj
+ #define Tcl_DbNewDoubleObj \
+ (tclStubsPtr->tcl_DbNewDoubleObj) /* 447 */
+ #endif
+ #ifndef Tcl_DbNewListObj
+ #define Tcl_DbNewListObj \
+ (tclStubsPtr->tcl_DbNewListObj) /* 448 */
+ #endif
+ #ifndef Tcl_DbNewLongObj
+ #define Tcl_DbNewLongObj \
+ (tclStubsPtr->tcl_DbNewLongObj) /* 449 */
+ #endif
+ #ifndef Tcl_DbNewObj
+ #define Tcl_DbNewObj \
+ (tclStubsPtr->tcl_DbNewObj) /* 450 */
+ #endif
+ #ifndef Tcl_DbNewStringObj
+ #define Tcl_DbNewStringObj \
+ (tclStubsPtr->tcl_DbNewStringObj) /* 451 */
+ #endif
+ #ifndef Tcl_PkgPresent
+ #define Tcl_PkgPresent \
+ (tclStubsPtr->tcl_PkgPresent) /* 452 */
+ #endif
+ #ifndef Tcl_PkgPresentEx
+ #define Tcl_PkgPresentEx \
+ (tclStubsPtr->tcl_PkgPresentEx) /* 453 */
+ #endif
+ #ifndef Tcl_PkgProvide
+ #define Tcl_PkgProvide \
+ (tclStubsPtr->tcl_PkgProvide) /* 454 */
+ #endif
+ #ifndef Tcl_PkgRequire
+ #define Tcl_PkgRequire \
+ (tclStubsPtr->tcl_PkgRequire) /* 455 */
+ #endif
+ #ifndef Tcl_NewByteArrayObj
+ #define Tcl_NewByteArrayObj \
+ (tclStubsPtr->tcl_NewByteArrayObj) /* 456 */
+ #endif
+ #ifndef Tcl_SetByteArrayObj
+ #define Tcl_SetByteArrayObj \
+ (tclStubsPtr->tcl_SetByteArrayObj) /* 457 */
+ #endif
+ #ifndef Tcl_SetStringObj
+ #define Tcl_SetStringObj \
+ (tclStubsPtr->tcl_SetStringObj) /* 458 */
+ #endif
+ #ifndef Tcl_NewUnicodeObj
+ #define Tcl_NewUnicodeObj \
+ (tclStubsPtr->tcl_NewUnicodeObj) /* 459 */
+ #endif
+ #ifndef Tcl_SetUnicodeObj
+ #define Tcl_SetUnicodeObj \
+ (tclStubsPtr->tcl_SetUnicodeObj) /* 460 */
+ #endif
+ #ifndef Tcl_AppendUnicodeToObj
+ #define Tcl_AppendUnicodeToObj \
+ (tclStubsPtr->tcl_AppendUnicodeToObj) /* 461 */
#endif
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
diff -cr ../tcl-010312/generic/tclListObj.c ./generic/tclListObj.c
*** ../tcl-010312/generic/tclListObj.c Tue Aug 10 17:45:12 1999
--- ./generic/tclListObj.c Sun Feb 18 18:25:50 2001
***************
*** 147,153 ****
Tcl_DbNewListObj(objc, objv, file, line)
int objc; /* Count of objects referenced by objv. */
Tcl_Obj *CONST objv[]; /* An array of pointers to Tcl objects. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 147,153 ----
Tcl_DbNewListObj(objc, objv, file, line)
int objc; /* Count of objects referenced by objv. */
Tcl_Obj *CONST objv[]; /* An array of pointers to Tcl objects. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 186,192 ****
Tcl_DbNewListObj(objc, objv, file, line)
int objc; /* Count of objects referenced by objv. */
Tcl_Obj *CONST objv[]; /* An array of pointers to Tcl objects. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 186,192 ----
Tcl_DbNewListObj(objc, objv, file, line)
int objc; /* Count of objects referenced by objv. */
Tcl_Obj *CONST objv[]; /* An array of pointers to Tcl objects. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
diff -cr ../tcl-010312/generic/tclObj.c ./generic/tclObj.c
*** ../tcl-010312/generic/tclObj.c Thu Jan 18 14:09:56 2001
--- ./generic/tclObj.c Sun Feb 18 18:27:34 2001
***************
*** 491,497 ****
Tcl_Obj *
Tcl_DbNewObj(file, line)
! register char *file; /* The name of the source file calling this
* procedure; used for debugging. */
register int line; /* Line number in the source file; used
* for debugging. */
--- 491,497 ----
Tcl_Obj *
Tcl_DbNewObj(file, line)
! register CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
register int line; /* Line number in the source file; used
* for debugging. */
***************
*** 521,527 ****
Tcl_Obj *
Tcl_DbNewObj(file, line)
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 521,527 ----
Tcl_Obj *
Tcl_DbNewObj(file, line)
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 894,900 ****
Tcl_Obj *
Tcl_DbNewBooleanObj(boolValue, file, line)
register int boolValue; /* Boolean used to initialize new object. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 894,900 ----
Tcl_Obj *
Tcl_DbNewBooleanObj(boolValue, file, line)
register int boolValue; /* Boolean used to initialize new object. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 914,920 ****
Tcl_Obj *
Tcl_DbNewBooleanObj(boolValue, file, line)
register int boolValue; /* Boolean used to initialize new object. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 914,920 ----
Tcl_Obj *
Tcl_DbNewBooleanObj(boolValue, file, line)
register int boolValue; /* Boolean used to initialize new object. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 1252,1258 ****
Tcl_Obj *
Tcl_DbNewDoubleObj(dblValue, file, line)
register double dblValue; /* Double used to initialize the object. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 1252,1258 ----
Tcl_Obj *
Tcl_DbNewDoubleObj(dblValue, file, line)
register double dblValue; /* Double used to initialize the object. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 1272,1278 ****
Tcl_Obj *
Tcl_DbNewDoubleObj(dblValue, file, line)
register double dblValue; /* Double used to initialize the object. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 1272,1278 ----
Tcl_Obj *
Tcl_DbNewDoubleObj(dblValue, file, line)
register double dblValue; /* Double used to initialize the object. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 1884,1890 ****
Tcl_DbNewLongObj(longValue, file, line)
register long longValue; /* Long integer used to initialize the
* new object. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 1884,1890 ----
Tcl_DbNewLongObj(longValue, file, line)
register long longValue; /* Long integer used to initialize the
* new object. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 1905,1911 ****
Tcl_DbNewLongObj(longValue, file, line)
register long longValue; /* Long integer used to initialize the
* new object. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 1905,1911 ----
Tcl_DbNewLongObj(longValue, file, line)
register long longValue; /* Long integer used to initialize the
* new object. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 2018,2024 ****
Tcl_DbIncrRefCount(objPtr, file, line)
register Tcl_Obj *objPtr; /* The object we are registering a
* reference to. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 2018,2024 ----
Tcl_DbIncrRefCount(objPtr, file, line)
register Tcl_Obj *objPtr; /* The object we are registering a
* reference to. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 2058,2064 ****
Tcl_DbDecrRefCount(objPtr, file, line)
register Tcl_Obj *objPtr; /* The object we are releasing a reference
* to. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 2058,2064 ----
Tcl_DbDecrRefCount(objPtr, file, line)
register Tcl_Obj *objPtr; /* The object we are releasing a reference
* to. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 2099,2105 ****
int
Tcl_DbIsShared(objPtr, file, line)
register Tcl_Obj *objPtr; /* The object to test for being shared. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 2099,2105 ----
int
Tcl_DbIsShared(objPtr, file, line)
register Tcl_Obj *objPtr; /* The object to test for being shared. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
diff -cr ../tcl-010312/generic/tclPkg.c ./generic/tclPkg.c
*** ../tcl-010312/generic/tclPkg.c Mon Sep 20 23:20:42 1999
--- ./generic/tclPkg.c Sun Feb 18 23:19:06 2001
***************
*** 51,61 ****
*/
static int CheckVersion _ANSI_ARGS_((Tcl_Interp *interp,
! char *string));
! static int ComparePkgVersions _ANSI_ARGS_((char *v1, char *v2,
int *satPtr));
static Package * FindPackage _ANSI_ARGS_((Tcl_Interp *interp,
! char *name));
/*
*----------------------------------------------------------------------
--- 51,62 ----
*/
static int CheckVersion _ANSI_ARGS_((Tcl_Interp *interp,
! CONST char *string));
! static int ComparePkgVersions _ANSI_ARGS_((CONST char *v1,
! CONST char *v2,
int *satPtr));
static Package * FindPackage _ANSI_ARGS_((Tcl_Interp *interp,
! CONST char *name));
/*
*----------------------------------------------------------------------
***************
*** 84,91 ****
Tcl_PkgProvide(interp, name, version)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! char *name; /* Name of package. */
! char *version; /* Version string for package. */
{
return Tcl_PkgProvideEx(interp, name, version, (ClientData) NULL);
}
--- 85,92 ----
Tcl_PkgProvide(interp, name, version)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! CONST char *name; /* Name of package. */
! CONST char *version; /* Version string for package. */
{
return Tcl_PkgProvideEx(interp, name, version, (ClientData) NULL);
}
***************
*** 94,101 ****
Tcl_PkgProvideEx(interp, name, version, clientData)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! char *name; /* Name of package. */
! char *version; /* Version string for package. */
ClientData clientData; /* clientdata for this package (normally
* used for C callback function table) */
{
--- 95,102 ----
Tcl_PkgProvideEx(interp, name, version, clientData)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! CONST char *name; /* Name of package. */
! CONST char *version; /* Version string for package. */
ClientData clientData; /* clientdata for this package (normally
* used for C callback function table) */
{
***************
*** 148,159 ****
*----------------------------------------------------------------------
*/
! char *
Tcl_PkgRequire(interp, name, version, exact)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! char *name; /* Name of desired package. */
! char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
--- 149,160 ----
*----------------------------------------------------------------------
*/
! CONST char *
Tcl_PkgRequire(interp, name, version, exact)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! CONST char *name; /* Name of desired package. */
! CONST char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
***************
*** 163,174 ****
return Tcl_PkgRequireEx(interp, name, version, exact, (ClientData *) NULL);
}
! char *
Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! char *name; /* Name of desired package. */
! char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
--- 164,175 ----
return Tcl_PkgRequireEx(interp, name, version, exact, (ClientData *) NULL);
}
! CONST char *
Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! CONST char *name; /* Name of desired package. */
! CONST char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
***************
*** 350,361 ****
*----------------------------------------------------------------------
*/
! char *
Tcl_PkgPresent(interp, name, version, exact)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! char *name; /* Name of desired package. */
! char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
--- 351,362 ----
*----------------------------------------------------------------------
*/
! CONST char *
Tcl_PkgPresent(interp, name, version, exact)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! CONST char *name; /* Name of desired package. */
! CONST char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
***************
*** 365,376 ****
return Tcl_PkgPresentEx(interp, name, version, exact, (ClientData *) NULL);
}
! char *
Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! char *name; /* Name of desired package. */
! char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
--- 366,377 ----
return Tcl_PkgPresentEx(interp, name, version, exact, (ClientData *) NULL);
}
! CONST char *
Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr)
Tcl_Interp *interp; /* Interpreter in which package is now
* available. */
! CONST char *name; /* Name of desired package. */
! CONST char *version; /* Version string for desired version;
* NULL means use the latest version
* available. */
int exact; /* Non-zero means that only the particular
***************
*** 485,491 ****
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
Tcl_HashTable *tablePtr;
! char *version, *argv2, *argv3, *argv4;
if (objc < 2) {
Tcl_WrongNumArgs(interp, 1, objv, "option ?arg arg ...?");
--- 486,493 ----
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
Tcl_HashTable *tablePtr;
! CONST char *version;
! char *argv2, *argv3, *argv4;
if (objc < 2) {
Tcl_WrongNumArgs(interp, 1, objv, "option ?arg arg ...?");
***************
*** 619,625 ****
if (version == NULL) {
return TCL_ERROR;
}
! Tcl_SetResult(interp, version, TCL_VOLATILE);
break;
}
case PKG_PROVIDE: {
--- 621,627 ----
if (version == NULL) {
return TCL_ERROR;
}
! Tcl_SetObjResult( interp, Tcl_NewStringObj( version, -1 ) );
break;
}
case PKG_PROVIDE: {
***************
*** 674,680 ****
if (version == NULL) {
return TCL_ERROR;
}
! Tcl_SetResult(interp, version, TCL_VOLATILE);
break;
}
case PKG_UNKNOWN: {
--- 676,682 ----
if (version == NULL) {
return TCL_ERROR;
}
! Tcl_SetObjResult( interp, Tcl_NewStringObj( version, -1 ) );
break;
}
case PKG_UNKNOWN: {
***************
*** 776,782 ****
static Package *
FindPackage(interp, name)
Tcl_Interp *interp; /* Interpreter to use for package lookup. */
! char *name; /* Name of package to fine. */
{
Interp *iPtr = (Interp *) interp;
Tcl_HashEntry *hPtr;
--- 778,784 ----
static Package *
FindPackage(interp, name)
Tcl_Interp *interp; /* Interpreter to use for package lookup. */
! CONST char *name; /* Name of package to fine. */
{
Interp *iPtr = (Interp *) interp;
Tcl_HashEntry *hPtr;
***************
*** 866,876 ****
static int
CheckVersion(interp, string)
Tcl_Interp *interp; /* Used for error reporting. */
! char *string; /* Supposedly a version number, which is
* groups of decimal digits separated
* by dots. */
{
! char *p = string;
char prevChar;
if (!isdigit(UCHAR(*p))) { /* INTL: digit */
--- 868,878 ----
static int
CheckVersion(interp, string)
Tcl_Interp *interp; /* Used for error reporting. */
! CONST char *string; /* Supposedly a version number, which is
* groups of decimal digits separated
* by dots. */
{
! CONST char *p = string;
char prevChar;
if (!isdigit(UCHAR(*p))) { /* INTL: digit */
***************
*** 915,921 ****
static int
ComparePkgVersions(v1, v2, satPtr)
! char *v1, *v2; /* Versions strings, of form 2.1.3 (any
* number of version numbers). */
int *satPtr; /* If non-null, the word pointed to is
* filled in with a 0/1 value. 1 means
--- 917,924 ----
static int
ComparePkgVersions(v1, v2, satPtr)
! CONST char *v1;
! CONST char *v2; /* Versions strings, of form 2.1.3 (any
* number of version numbers). */
int *satPtr; /* If non-null, the word pointed to is
* filled in with a 0/1 value. 1 means
diff -cr ../tcl-010312/generic/tclStringObj.c ./generic/tclStringObj.c
*** ../tcl-010312/generic/tclStringObj.c Thu Sep 14 13:42:32 2000
--- ./generic/tclStringObj.c Mon Feb 19 10:15:28 2001
***************
*** 42,56 ****
*/
static void AppendUnicodeToUnicodeRep _ANSI_ARGS_((
! Tcl_Obj *objPtr, Tcl_UniChar *unicode,
int appendNumChars));
static void AppendUnicodeToUtfRep _ANSI_ARGS_((
! Tcl_Obj *objPtr, Tcl_UniChar *unicode,
int numChars));
static void AppendUtfToUnicodeRep _ANSI_ARGS_((Tcl_Obj *objPtr,
! char *bytes, int numBytes));
static void AppendUtfToUtfRep _ANSI_ARGS_((Tcl_Obj *objPtr,
! char *bytes, int numBytes));
static void FillUnicodeRep _ANSI_ARGS_((Tcl_Obj *objPtr));
--- 42,56 ----
*/
static void AppendUnicodeToUnicodeRep _ANSI_ARGS_((
! Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
int appendNumChars));
static void AppendUnicodeToUtfRep _ANSI_ARGS_((
! Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
int numChars));
static void AppendUtfToUnicodeRep _ANSI_ARGS_((Tcl_Obj *objPtr,
! CONST char *bytes, int numBytes));
static void AppendUtfToUtfRep _ANSI_ARGS_((Tcl_Obj *objPtr,
! CONST char *bytes, int numBytes));
static void FillUnicodeRep _ANSI_ARGS_((Tcl_Obj *objPtr));
***************
*** 250,256 ****
* when initializing the new object. If
* negative, use bytes up to the first
* NULL byte. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 250,256 ----
* when initializing the new object. If
* negative, use bytes up to the first
* NULL byte. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 275,281 ****
* when initializing the new object. If
* negative, use bytes up to the first
* NULL byte. */
! char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
--- 275,281 ----
* when initializing the new object. If
* negative, use bytes up to the first
* NULL byte. */
! CONST char *file; /* The name of the source file calling this
* procedure; used for debugging. */
int line; /* Line number in the source file; used
* for debugging. */
***************
*** 306,312 ****
Tcl_Obj *
Tcl_NewUnicodeObj(unicode, numChars)
! Tcl_UniChar *unicode; /* The unicode string used to initialize
* the new object. */
int numChars; /* Number of characters in the unicode
* string. */
--- 306,312 ----
Tcl_Obj *
Tcl_NewUnicodeObj(unicode, numChars)
! CONST Tcl_UniChar *unicode; /* The unicode string used to initialize
* the new object. */
int numChars; /* Number of characters in the unicode
* string. */
***************
*** 617,623 ****
void
Tcl_SetStringObj(objPtr, bytes, length)
register Tcl_Obj *objPtr; /* Object whose internal rep to init. */
! char *bytes; /* Points to the first of the length bytes
* used to initialize the object. */
register int length; /* The number of bytes to copy from "bytes"
* when initializing the object. If
--- 617,623 ----
void
Tcl_SetStringObj(objPtr, bytes, length)
register Tcl_Obj *objPtr; /* Object whose internal rep to init. */
! CONST char *bytes; /* Points to the first of the length bytes
* used to initialize the object. */
register int length; /* The number of bytes to copy from "bytes"
* when initializing the object. If
***************
*** 827,833 ****
void
Tcl_SetUnicodeObj(objPtr, unicode, numChars)
Tcl_Obj *objPtr; /* The object to set the string of. */
! Tcl_UniChar *unicode; /* The unicode string used to initialize
* the object. */
int numChars; /* Number of characters in the unicode
* string. */
--- 827,833 ----
void
Tcl_SetUnicodeObj(objPtr, unicode, numChars)
Tcl_Obj *objPtr; /* The object to set the string of. */
! CONST Tcl_UniChar *unicode; /* The unicode string used to initialize
* the object. */
int numChars; /* Number of characters in the unicode
* string. */
***************
*** 889,895 ****
void
Tcl_AppendToObj(objPtr, bytes, length)
register Tcl_Obj *objPtr; /* Points to the object to append to. */
! char *bytes; /* Points to the bytes to append to the
* object. */
register int length; /* The number of bytes to append from
* "bytes". If < 0, then append all bytes
--- 889,895 ----
void
Tcl_AppendToObj(objPtr, bytes, length)
register Tcl_Obj *objPtr; /* Points to the object to append to. */
! CONST char *bytes; /* Points to the bytes to append to the
* object. */
register int length; /* The number of bytes to append from
* "bytes". If < 0, then append all bytes
***************
*** 946,952 ****
void
Tcl_AppendUnicodeToObj(objPtr, unicode, length)
register Tcl_Obj *objPtr; /* Points to the object to append to. */
! Tcl_UniChar *unicode; /* The unicode string to append to the
* object. */
int length; /* Number of chars in "unicode". */
{
--- 946,952 ----
void
Tcl_AppendUnicodeToObj(objPtr, unicode, length)
register Tcl_Obj *objPtr; /* Points to the object to append to. */
! CONST Tcl_UniChar *unicode; /* The unicode string to append to the
* object. */
int length; /* Number of chars in "unicode". */
{
***************
*** 1084,1092 ****
static void
AppendUnicodeToUnicodeRep(objPtr, unicode, appendNumChars)
! Tcl_Obj *objPtr; /* Points to the object to append to. */
! Tcl_UniChar *unicode; /* String to append. */
! int appendNumChars; /* Number of chars of "unicode" to append. */
{
String *stringPtr, *tmpString;
size_t numChars;
--- 1084,1092 ----
static void
AppendUnicodeToUnicodeRep(objPtr, unicode, appendNumChars)
! Tcl_Obj *objPtr; /* Points to the object to append to. */
! CONST Tcl_UniChar *unicode; /* String to append. */
! int appendNumChars; /* Number of chars of "unicode" to append. */
{
String *stringPtr, *tmpString;
size_t numChars;
***************
*** 1160,1168 ****
static void
AppendUnicodeToUtfRep(objPtr, unicode, numChars)
! Tcl_Obj *objPtr; /* Points to the object to append to. */
! Tcl_UniChar *unicode; /* String to convert to UTF. */
! int numChars; /* Number of chars of "unicode" to convert. */
{
Tcl_DString dsPtr;
char *bytes;
--- 1160,1168 ----
static void
AppendUnicodeToUtfRep(objPtr, unicode, numChars)
! Tcl_Obj *objPtr; /* Points to the object to append to. */
! CONST Tcl_UniChar *unicode; /* String to convert to UTF. */
! int numChars; /* Number of chars of "unicode" to convert. */
{
Tcl_DString dsPtr;
char *bytes;
***************
*** 1204,1210 ****
static void
AppendUtfToUnicodeRep(objPtr, bytes, numBytes)
Tcl_Obj *objPtr; /* Points to the object to append to. */
! char *bytes; /* String to convert to Unicode. */
int numBytes; /* Number of bytes of "bytes" to convert. */
{
Tcl_DString dsPtr;
--- 1204,1210 ----
static void
AppendUtfToUnicodeRep(objPtr, bytes, numBytes)
Tcl_Obj *objPtr; /* Points to the object to append to. */
! CONST char *bytes; /* String to convert to Unicode. */
int numBytes; /* Number of bytes of "bytes" to convert. */
{
Tcl_DString dsPtr;
***************
*** 1245,1251 ****
static void
AppendUtfToUtfRep(objPtr, bytes, numBytes)
Tcl_Obj *objPtr; /* Points to the object to append to. */
! char *bytes; /* String to append. */
int numBytes; /* Number of bytes of "bytes" to append. */
{
String *stringPtr;
--- 1245,1251 ----
static void
AppendUtfToUtfRep(objPtr, bytes, numBytes)
Tcl_Obj *objPtr; /* Points to the object to append to. */
! CONST char *bytes; /* String to append. */
int numBytes; /* Number of bytes of "bytes" to append. */
{
String *stringPtr;
Only in ./generic: tclStringObj.c.orig
diff -cr ../tcl-010312/generic/tclStubInit.c ./generic/tclStubInit.c
*** ../tcl-010312/generic/tclStubInit.c Thu Jan 18 14:09:56 2001
--- ./generic/tclStubInit.c Mon Feb 19 10:25:02 2001
***************
*** 43,48 ****
--- 43,64 ----
*/
/* !BEGIN!: Do not edit below this line. */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
TclIntStubs tclIntStubs = {
TCL_STUB_MAGIC,
***************
*** 243,248 ****
--- 259,270 ----
TclChannelTransform, /* 161 */
TclChannelEventScriptInvoker, /* 162 */
};
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #ifdef MAC_TCL
+ #endif /* MAC_TCL */
TclIntPlatStubs tclIntPlatStubs = {
TCL_STUB_MAGIC,
***************
*** 317,322 ****
--- 339,348 ----
TclMacChmod, /* 25 */
#endif /* MAC_TCL */
};
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #ifdef MAC_TCL
+ #endif /* MAC_TCL */
TclPlatStubs tclPlatStubs = {
TCL_STUB_MAGIC,
***************
*** 337,342 ****
--- 363,619 ----
strcasecmp, /* 8 */
#endif /* MAC_TCL */
};
+ int
+ Tcl_PkgProvideEx_NONCONST( interp, name, version, clientData )
+ Tcl_Interp* interp;
+ char* name;
+ char* version;
+ ClientData clientData;
+ {
+ return ( int ) Tcl_PkgProvideEx( interp, name, version, clientData );
+ }
+ char *
+ Tcl_PkgRequireEx_NONCONST( interp, name, version, exact, clientDataPtr )
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+ ClientData * clientDataPtr;
+ {
+ return ( char * ) Tcl_PkgRequireEx( interp, name, version, exact, clientDataPtr );
+ }
+ char *
+ Tcl_DbCkalloc_NONCONST( size, file, line )
+ unsigned int size;
+ char * file;
+ int line;
+ {
+ return ( char * ) Tcl_DbCkalloc( size, file, line );
+ }
+ int
+ Tcl_DbCkfree_NONCONST( ptr, file, line )
+ char * ptr;
+ char * file;
+ int line;
+ {
+ return ( int ) Tcl_DbCkfree( ptr, file, line );
+ }
+ char *
+ Tcl_DbCkrealloc_NONCONST( ptr, size, file, line )
+ char * ptr;
+ unsigned int size;
+ char * file;
+ int line;
+ {
+ return ( char * ) Tcl_DbCkrealloc( ptr, size, file, line );
+ }
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ void
+ Tcl_AppendToObj_NONCONST( objPtr, bytes, length )
+ Tcl_Obj* objPtr;
+ char* bytes;
+ int length;
+ {
+ Tcl_AppendToObj( objPtr, bytes, length );
+ }
+ void
+ Tcl_DbDecrRefCount_NONCONST( objPtr, file, line )
+ Tcl_Obj * objPtr;
+ char * file;
+ int line;
+ {
+ Tcl_DbDecrRefCount( objPtr, file, line );
+ }
+ void
+ Tcl_DbIncrRefCount_NONCONST( objPtr, file, line )
+ Tcl_Obj * objPtr;
+ char * file;
+ int line;
+ {
+ Tcl_DbIncrRefCount( objPtr, file, line );
+ }
+ int
+ Tcl_DbIsShared_NONCONST( objPtr, file, line )
+ Tcl_Obj * objPtr;
+ char * file;
+ int line;
+ {
+ return ( int ) Tcl_DbIsShared( objPtr, file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewBooleanObj_NONCONST( boolValue, file, line )
+ int boolValue;
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewBooleanObj( boolValue, file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewByteArrayObj_NONCONST( bytes, length, file, line )
+ unsigned char * bytes;
+ int length;
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewByteArrayObj( bytes, length, file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewDoubleObj_NONCONST( doubleValue, file, line )
+ double doubleValue;
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewDoubleObj( doubleValue, file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewListObj_NONCONST( objc, objv, file, line )
+ int objc;
+ Tcl_Obj *CONST1 * objv;
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewListObj( objc, objv, file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewLongObj_NONCONST( longValue, file, line )
+ long longValue;
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewLongObj( longValue, file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewObj_NONCONST( file, line )
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewObj( file, line );
+ }
+ Tcl_Obj *
+ Tcl_DbNewStringObj_NONCONST( bytes, length, file, line )
+ CONST1 char * bytes;
+ int length;
+ char * file;
+ int line;
+ {
+ return ( Tcl_Obj * ) Tcl_DbNewStringObj( bytes, length, file, line );
+ }
+ Tcl_Obj *
+ Tcl_NewByteArrayObj_NONCONST( bytes, length )
+ unsigned char* bytes;
+ int length;
+ {
+ return ( Tcl_Obj * ) Tcl_NewByteArrayObj( bytes, length );
+ }
+ void
+ Tcl_SetByteArrayObj_NONCONST( objPtr, bytes, length )
+ Tcl_Obj * objPtr;
+ unsigned char * bytes;
+ int length;
+ {
+ Tcl_SetByteArrayObj( objPtr, bytes, length );
+ }
+ void
+ Tcl_SetStringObj_NONCONST( objPtr, bytes, length )
+ Tcl_Obj* objPtr;
+ char* bytes;
+ int length;
+ {
+ Tcl_SetStringObj( objPtr, bytes, length );
+ }
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ int
+ Tcl_DumpActiveMemory_NONCONST( fileName )
+ char * fileName;
+ {
+ return ( int ) Tcl_DumpActiveMemory( fileName );
+ }
+ void
+ Tcl_ValidateAllMemory_NONCONST( file, line )
+ char * file;
+ int line;
+ {
+ Tcl_ValidateAllMemory( file, line );
+ }
+ char *
+ Tcl_PkgPresent_NONCONST( interp, name, version, exact )
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+ {
+ return ( char * ) Tcl_PkgPresent( interp, name, version, exact );
+ }
+ char *
+ Tcl_PkgPresentEx_NONCONST( interp, name, version, exact, clientDataPtr )
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+ ClientData * clientDataPtr;
+ {
+ return ( char * ) Tcl_PkgPresentEx( interp, name, version, exact, clientDataPtr );
+ }
+ int
+ Tcl_PkgProvide_NONCONST( interp, name, version )
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ {
+ return ( int ) Tcl_PkgProvide( interp, name, version );
+ }
+ char *
+ Tcl_PkgRequire_NONCONST( interp, name, version, exact )
+ Tcl_Interp * interp;
+ char * name;
+ char * version;
+ int exact;
+ {
+ return ( char * ) Tcl_PkgRequire( interp, name, version, exact );
+ }
+ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
+ #endif /* UNIX */
+ #ifdef __WIN32__
+ #endif /* __WIN32__ */
+ Tcl_Obj *
+ Tcl_NewUnicodeObj_NONCONST( unicode, numChars )
+ Tcl_UniChar * unicode;
+ int numChars;
+ {
+ return ( Tcl_Obj * ) Tcl_NewUnicodeObj( unicode, numChars );
+ }
+ void
+ Tcl_SetUnicodeObj_NONCONST( objPtr, unicode, numChars )
+ Tcl_Obj * objPtr;
+ Tcl_UniChar * unicode;
+ int numChars;
+ {
+ Tcl_SetUnicodeObj( objPtr, unicode, numChars );
+ }
+ void
+ Tcl_AppendUnicodeToObj_NONCONST( objPtr, unicode, length )
+ Tcl_Obj * objPtr;
+ Tcl_UniChar * unicode;
+ int length;
+ {
+ Tcl_AppendUnicodeToObj( objPtr, unicode, length );
+ }
static TclStubHooks tclStubHooks = {
&tclPlatStubs,
***************
*** 347,361 ****
TclStubs tclStubs = {
TCL_STUB_MAGIC,
&tclStubHooks,
! Tcl_PkgProvideEx, /* 0 */
! Tcl_PkgRequireEx, /* 1 */
Tcl_Panic, /* 2 */
Tcl_Alloc, /* 3 */
Tcl_Free, /* 4 */
Tcl_Realloc, /* 5 */
! Tcl_DbCkalloc, /* 6 */
! Tcl_DbCkfree, /* 7 */
! Tcl_DbCkrealloc, /* 8 */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
Tcl_CreateFileHandler, /* 9 */
#endif /* UNIX */
--- 624,638 ----
TclStubs tclStubs = {
TCL_STUB_MAGIC,
&tclStubHooks,
! Tcl_PkgProvideEx_NONCONST, /* 0 */
! Tcl_PkgRequireEx_NONCONST, /* 1 */
Tcl_Panic, /* 2 */
Tcl_Alloc, /* 3 */
Tcl_Free, /* 4 */
Tcl_Realloc, /* 5 */
! Tcl_DbCkalloc_NONCONST, /* 6 */
! Tcl_DbCkfree_NONCONST, /* 7 */
! Tcl_DbCkrealloc_NONCONST, /* 8 */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
Tcl_CreateFileHandler, /* 9 */
#endif /* UNIX */
***************
*** 379,397 ****
Tcl_WaitForEvent, /* 13 */
Tcl_AppendAllObjTypes, /* 14 */
Tcl_AppendStringsToObj, /* 15 */
! Tcl_AppendToObj, /* 16 */
Tcl_ConcatObj, /* 17 */
Tcl_ConvertToType, /* 18 */
! Tcl_DbDecrRefCount, /* 19 */
! Tcl_DbIncrRefCount, /* 20 */
! Tcl_DbIsShared, /* 21 */
! Tcl_DbNewBooleanObj, /* 22 */
! Tcl_DbNewByteArrayObj, /* 23 */
! Tcl_DbNewDoubleObj, /* 24 */
! Tcl_DbNewListObj, /* 25 */
! Tcl_DbNewLongObj, /* 26 */
! Tcl_DbNewObj, /* 27 */
! Tcl_DbNewStringObj, /* 28 */
Tcl_DuplicateObj, /* 29 */
TclFreeObj, /* 30 */
Tcl_GetBoolean, /* 31 */
--- 656,674 ----
Tcl_WaitForEvent, /* 13 */
Tcl_AppendAllObjTypes, /* 14 */
Tcl_AppendStringsToObj, /* 15 */
! Tcl_AppendToObj_NONCONST, /* 16 */
Tcl_ConcatObj, /* 17 */
Tcl_ConvertToType, /* 18 */
! Tcl_DbDecrRefCount_NONCONST, /* 19 */
! Tcl_DbIncrRefCount_NONCONST, /* 20 */
! Tcl_DbIsShared_NONCONST, /* 21 */
! Tcl_DbNewBooleanObj_NONCONST, /* 22 */
! Tcl_DbNewByteArrayObj_NONCONST, /* 23 */
! Tcl_DbNewDoubleObj_NONCONST, /* 24 */
! Tcl_DbNewListObj_NONCONST, /* 25 */
! Tcl_DbNewLongObj_NONCONST, /* 26 */
! Tcl_DbNewObj_NONCONST, /* 27 */
! Tcl_DbNewStringObj_NONCONST, /* 28 */
Tcl_DuplicateObj, /* 29 */
TclFreeObj, /* 30 */
Tcl_GetBoolean, /* 31 */
***************
*** 413,419 ****
Tcl_ListObjLength, /* 47 */
Tcl_ListObjReplace, /* 48 */
Tcl_NewBooleanObj, /* 49 */
! Tcl_NewByteArrayObj, /* 50 */
Tcl_NewDoubleObj, /* 51 */
Tcl_NewIntObj, /* 52 */
Tcl_NewListObj, /* 53 */
--- 690,696 ----
Tcl_ListObjLength, /* 47 */
Tcl_ListObjReplace, /* 48 */
Tcl_NewBooleanObj, /* 49 */
! Tcl_NewByteArrayObj_NONCONST, /* 50 */
Tcl_NewDoubleObj, /* 51 */
Tcl_NewIntObj, /* 52 */
Tcl_NewListObj, /* 53 */
***************
*** 422,434 ****
Tcl_NewStringObj, /* 56 */
Tcl_SetBooleanObj, /* 57 */
Tcl_SetByteArrayLength, /* 58 */
! Tcl_SetByteArrayObj, /* 59 */
Tcl_SetDoubleObj, /* 60 */
Tcl_SetIntObj, /* 61 */
Tcl_SetListObj, /* 62 */
Tcl_SetLongObj, /* 63 */
Tcl_SetObjLength, /* 64 */
! Tcl_SetStringObj, /* 65 */
Tcl_AddErrorInfo, /* 66 */
Tcl_AddObjErrorInfo, /* 67 */
Tcl_AllowExceptions, /* 68 */
--- 699,711 ----
Tcl_NewStringObj, /* 56 */
Tcl_SetBooleanObj, /* 57 */
Tcl_SetByteArrayLength, /* 58 */
! Tcl_SetByteArrayObj_NONCONST, /* 59 */
Tcl_SetDoubleObj, /* 60 */
Tcl_SetIntObj, /* 61 */
Tcl_SetListObj, /* 62 */
Tcl_SetLongObj, /* 63 */
Tcl_SetObjLength, /* 64 */
! Tcl_SetStringObj_NONCONST, /* 65 */
Tcl_AddErrorInfo, /* 66 */
Tcl_AddObjErrorInfo, /* 67 */
Tcl_AllowExceptions, /* 68 */
***************
*** 660,675 ****
Tcl_VarTraceInfo2, /* 262 */
Tcl_Write, /* 263 */
Tcl_WrongNumArgs, /* 264 */
! Tcl_DumpActiveMemory, /* 265 */
! Tcl_ValidateAllMemory, /* 266 */
Tcl_AppendResultVA, /* 267 */
Tcl_AppendStringsToObjVA, /* 268 */
Tcl_HashStats, /* 269 */
Tcl_ParseVar, /* 270 */
! Tcl_PkgPresent, /* 271 */
! Tcl_PkgPresentEx, /* 272 */
! Tcl_PkgProvide, /* 273 */
! Tcl_PkgRequire, /* 274 */
Tcl_SetErrorCodeVA, /* 275 */
Tcl_VarEvalVA, /* 276 */
Tcl_WaitPid, /* 277 */
--- 937,952 ----
Tcl_VarTraceInfo2, /* 262 */
Tcl_Write, /* 263 */
Tcl_WrongNumArgs, /* 264 */
! Tcl_DumpActiveMemory_NONCONST, /* 265 */
! Tcl_ValidateAllMemory_NONCONST, /* 266 */
Tcl_AppendResultVA, /* 267 */
Tcl_AppendStringsToObjVA, /* 268 */
Tcl_HashStats, /* 269 */
Tcl_ParseVar, /* 270 */
! Tcl_PkgPresent_NONCONST, /* 271 */
! Tcl_PkgPresentEx_NONCONST, /* 272 */
! Tcl_PkgProvide_NONCONST, /* 273 */
! Tcl_PkgRequire_NONCONST, /* 274 */
Tcl_SetErrorCodeVA, /* 275 */
Tcl_VarEvalVA, /* 276 */
Tcl_WaitPid, /* 277 */
***************
*** 781,793 ****
Tcl_UniCharIsPunct, /* 375 */
Tcl_RegExpExecObj, /* 376 */
Tcl_RegExpGetInfo, /* 377 */
! Tcl_NewUnicodeObj, /* 378 */
! Tcl_SetUnicodeObj, /* 379 */
Tcl_GetCharLength, /* 380 */
Tcl_GetUniChar, /* 381 */
Tcl_GetUnicode, /* 382 */
Tcl_GetRange, /* 383 */
! Tcl_AppendUnicodeToObj, /* 384 */
Tcl_RegExpMatchObj, /* 385 */
Tcl_SetNotifier, /* 386 */
Tcl_GetAllocMutex, /* 387 */
--- 1058,1070 ----
Tcl_UniCharIsPunct, /* 375 */
Tcl_RegExpExecObj, /* 376 */
Tcl_RegExpGetInfo, /* 377 */
! Tcl_NewUnicodeObj_NONCONST, /* 378 */
! Tcl_SetUnicodeObj_NONCONST, /* 379 */
Tcl_GetCharLength, /* 380 */
Tcl_GetUniChar, /* 381 */
Tcl_GetUnicode, /* 382 */
Tcl_GetRange, /* 383 */
! Tcl_AppendUnicodeToObj_NONCONST, /* 384 */
Tcl_RegExpMatchObj, /* 385 */
Tcl_SetNotifier, /* 386 */
Tcl_GetAllocMutex, /* 387 */
***************
*** 836,841 ****
--- 1113,1147 ----
Tcl_AttemptRealloc, /* 430 */
Tcl_AttemptDbCkrealloc, /* 431 */
Tcl_AttemptSetObjLength, /* 432 */
+ Tcl_PkgProvideEx, /* 433 */
+ Tcl_PkgRequireEx, /* 434 */
+ NULL, /* 435 */
+ Tcl_DbCkalloc, /* 436 */
+ Tcl_DbCkfree, /* 437 */
+ Tcl_DbCkrealloc, /* 438 */
+ Tcl_AppendToObj, /* 439 */
+ Tcl_DumpActiveMemory, /* 440 */
+ Tcl_ValidateAllMemory, /* 441 */
+ Tcl_DbDecrRefCount, /* 442 */
+ Tcl_DbIncrRefCount, /* 443 */
+ Tcl_DbIsShared, /* 444 */
+ Tcl_DbNewBooleanObj, /* 445 */
+ Tcl_DbNewByteArrayObj, /* 446 */
+ Tcl_DbNewDoubleObj, /* 447 */
+ Tcl_DbNewListObj, /* 448 */
+ Tcl_DbNewLongObj, /* 449 */
+ Tcl_DbNewObj, /* 450 */
+ Tcl_DbNewStringObj, /* 451 */
+ Tcl_PkgPresent, /* 452 */
+ Tcl_PkgPresentEx, /* 453 */
+ Tcl_PkgProvide, /* 454 */
+ Tcl_PkgRequire, /* 455 */
+ Tcl_NewByteArrayObj, /* 456 */
+ Tcl_SetByteArrayObj, /* 457 */
+ Tcl_SetStringObj, /* 458 */
+ Tcl_NewUnicodeObj, /* 459 */
+ Tcl_SetUnicodeObj, /* 460 */
+ Tcl_AppendUnicodeToObj, /* 461 */
};
/* !END!: Do not edit above this line. */
diff -cr ../tcl-010312/generic/tclStubLib.c ./generic/tclStubLib.c
*** ../tcl-010312/generic/tclStubLib.c Mon May 24 20:00:28 1999
--- ./generic/tclStubLib.c Sun Feb 18 23:10:46 2001
***************
*** 80,92 ****
#undef Tcl_InitStubs
#endif
! char *
Tcl_InitStubs (interp, version, exact)
Tcl_Interp *interp;
! char *version;
int exact;
{
! char *actualVersion;
TclStubs *tmp;
if (!tclStubsPtr) {
--- 80,92 ----
#undef Tcl_InitStubs
#endif
! CONST char *
Tcl_InitStubs (interp, version, exact)
Tcl_Interp *interp;
! CONST char *version;
int exact;
{
! CONST char *actualVersion;
TclStubs *tmp;
if (!tclStubsPtr) {
diff -cr ../tcl-010312/tools/genStubs.tcl ./tools/genStubs.tcl
*** ../tcl-010312/tools/genStubs.tcl Wed Jun 9 23:29:02 1999
--- ./tools/genStubs.tcl Mon Feb 19 05:59:06 2001
***************
*** 117,122 ****
--- 117,125 ----
# This function is used in the declarations file to declare a new
# interface entry.
#
+ # Usage:
+ # declare index ?-nonconst index? {platform...} {decl}
+ #
# Arguments:
# index The index number of the interface.
# platform The platform the interface belongs to. Should be one
***************
*** 126,140 ****
#
# Results:
# None.
proc genStubs::declare {args} {
variable stubs
variable curName
! if {[llength $args] != 3} {
puts stderr "wrong # args: declare $args"
}
! lassign $args index platformList decl
# Check for duplicate declarations, then add the declaration and
# bump the lastNum counter if necessary.
--- 129,157 ----
#
# Results:
# None.
+ #
+ # To declare that the non-CONST version of the interface accepts
+ # a constant parameter, use CONST1 instead of CONST in its
+ # specification.
proc genStubs::declare {args} {
variable stubs
variable curName
! if { [llength $args] < 3 } {
! puts stderr "wrong \# args: declare $args"
! }
! set index [lindex $args 0]
! if { [lindex $args 1] == "-nonconst" } {
! set nonConstIndex [lindex $args 2]
! set rest [lrange $args 3 end]
! } else {
! set rest [lrange $args 1 end]
! }
! if { [llength $rest] != 2 } {
puts stderr "wrong # args: declare $args"
}
! lassign $rest platformList decl
# Check for duplicate declarations, then add the declaration and
# bump the lastNum counter if necessary.
***************
*** 154,159 ****
--- 171,183 ----
|| ($index > $stubs($curName,$platform,lastNum))} {
set stubs($curName,$platform,lastNum) $index
}
+ if { [info exists nonConstIndex] } {
+ set stubs($curName,$platform,$nonConstIndex) \
+ [nonConstDecl $decl]
+ if { $nonConstIndex > $stubs($curName,$platform,lastNum) } {
+ set stubs($curName,$platform,$lastNum) $nonConstIndex
+ }
+ }
}
}
return
***************
*** 307,312 ****
--- 331,364 ----
return [list $rtype $fname $args]
}
+ # genStubs::nonConstDecl --
+ #
+ # Make the 'non-constant' legacy version of a declaration
+ #
+ # Arguments:
+ # decl -- Three element list comprising the return type
+ # of a function, the name of the function, and
+ # a list of pairs comprising parameter type and
+ # parameter name.
+ #
+ # Results:
+ # Returns the legacy declaration, with CONST qualifiers
+ # removed from the return type all parameters
+
+ proc genStubs::nonConstDecl { decl } {
+
+ foreach { rType name params } $decl break
+ regsub -all {\mCONST[[:space:]]+} $rType {} rType
+ append name _NONCONST
+ foreach pair $params {
+ foreach { paramType paramName } $pair break
+ regsub -all {\mCONST[[:space:]]+} $paramType {} paramType
+ lappend newParams [list $paramType $paramName]
+ }
+ return [list $rType $name $newParams]
+
+ }
+
# genStubs::parseArg --
#
# This function parses a function argument into a type and name.
***************
*** 561,566 ****
--- 613,664 ----
return $text
}
+ # genStubs::makeNonConst
+ #
+ # Generate the non-constant wrapper for a function
+ #
+ # Arguments:
+ # name The interface name
+ # decl The function declaration
+ # index The slot index for this function
+ #
+ # Results:
+ # Returns a C definition for the non-constant wrapper, or
+ # the empty string if no wrapper is needed.
+
+ proc genStubs::makeNonConst { name decl index } {
+
+ set text {}
+
+ lassign $decl rtype fname args
+ if { [regexp {(.*)_NONCONST$} $fname -> basename] } {
+ set sep ""
+ foreach arg $args {
+ foreach { argType argName } $arg break
+ append paramList $sep $argType " " $argName
+ append argList $sep $argName
+ append argDecls " " $argType " " $argName ";\n"
+ set sep ", "
+ }
+ # declaration is already in fooDecls.h, don't repeat it here.
+ #append text $rtype " " $fname " _ANSI_ARGS_(( " \
+ # $paramList " ));" \n
+ append text $rtype "\n" $fname "( " $argList " )\n"
+ foreach arg $args {
+ foreach { argType argName } $arg break
+ append text " " $argType " " $argName ";\n"
+ }
+ append text "{\n "
+ if {[string compare $rtype "void"]} {
+ append text "return ( " $rtype " ) "
+ }
+ append text $basename "( " $argList " );\n" \
+ "}\n"
+ }
+
+ return $text
+ }
+
# genStubs::forAllStubs --
#
# This function iterates over all of the platforms and invokes
***************
*** 774,779 ****
--- 872,879 ----
set capName [string toupper [string index $name 0]]
append capName [string range $name 1 end]
+
+ forAllStubs $name makeNonConst 0 text {}
if {[info exists hooks($name)]} {
append text "\nstatic ${capName}StubHooks ${name}StubHooks = \{\n"