Tcl Source Code

Artifact [b56fd8620e]
Login

Artifact b56fd8620e2740d980cc900dc582206793f9e1e0:

Attachment "const2.patch" to ticket [404026ffff] added by hobbs 2001-03-13 07:18:12.
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 Mar 12 12:23:06 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.
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 Mon Mar 12 12:25:22 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 Mon Mar 12 12:25:42 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 Mon Mar 12 12:26:00 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 Mar 12 12:26:18 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 Mar 12 18:35:28 2001
***************
*** 27,38 ****
  # 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, ...)
--- 27,39 ----
  # to preserve backwards compatibility.
  
  declare 0 generic {
!     int Tcl_PkgProvideEx( Tcl_Interp* interp, CONST char* name,
!                           CONST char* version, ClientData clientData )
  }
  declare 1 generic {
!     CONST char * Tcl_PkgRequireEx( Tcl_Interp *interp, CONST char *name,
!                                    CONST char *version,
! 	                           int exact, ClientData *clientDataPtr )
  }
  declare 2 generic {
      void Tcl_Panic(char *format, ...)
***************
*** 47,59 ****
      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,
--- 48,61 ----
      char * Tcl_Realloc(char *ptr, unsigned int size)
  }
  declare 6 generic {
!     char * Tcl_DbCkalloc(unsigned int size, CONST char *file, int line)
  }
  declare 7 generic {
!     int Tcl_DbCkfree(char *ptr, CONST char *file, int line)
  }
  declare 8 generic {
!     char * Tcl_DbCkrealloc(char *ptr, unsigned int size,
!                            CONST char *file, int line)
  }
  
  # Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix,
***************
*** 84,90 ****
      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[])
--- 86,92 ----
      void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...)
  }
  declare 16 generic {
!     void Tcl_AppendToObj( Tcl_Obj* objPtr, CONST char* bytes, int length )
  }
  declare 17 generic {
      Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[])
***************
*** 94,130 ****
  	    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)
--- 96,133 ----
  	    Tcl_ObjType *typePtr)
  }
  declare 19 generic {
!     void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
  }
  declare 20 generic {
!     void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, CONST char *file, int line)
  }
  declare 21 generic {
!     int Tcl_DbIsShared(Tcl_Obj *objPtr, CONST char *file, int line)
  }
  declare 22 generic {
!     Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, CONST char *file, int line)
  }
  declare 23 generic {
!     Tcl_Obj * Tcl_DbNewByteArrayObj(CONST unsigned char *bytes, int length, \
! 	    CONST char *file, int line)
  }
  declare 24 generic {
!     Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue,
!                                  CONST char *file, int line)
  }
  declare 25 generic {
!     Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST *objv, 
!                                CONST char *file, int line)
  }
  declare 26 generic {
!     Tcl_Obj * Tcl_DbNewLongObj(long longValue, CONST char *file, int line)
  }
  declare 27 generic {
!     Tcl_Obj * Tcl_DbNewObj(CONST char *file, int line)
  }
  declare 28 generic {
!     Tcl_Obj * Tcl_DbNewStringObj(CONST char *bytes, int length,
!                                  CONST char *file, int line)
  }
  declare 29 generic {
      Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr)
***************
*** 198,204 ****
      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)
--- 201,208 ----
      Tcl_Obj * Tcl_NewBooleanObj(int boolValue)
  }
  declare 50 generic {
!     Tcl_Obj * Tcl_NewByteArrayObj( CONST unsigned char* bytes,
! 	                           int length )
  }
  declare 51 generic {
      Tcl_Obj * Tcl_NewDoubleObj(double doubleValue)
***************
*** 225,231 ****
      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)
--- 229,236 ----
      unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length)
  }
  declare 59 generic {
!     void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, CONST unsigned char *bytes,
!                              int length)
  }
  declare 60 generic {
      void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue)
***************
*** 243,249 ****
      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)
--- 248,254 ----
      void Tcl_SetObjLength(Tcl_Obj *objPtr, int length)
  }
  declare 65 generic {
!     void Tcl_SetStringObj( Tcl_Obj* objPtr, CONST char* bytes, int length )
  }
  declare 66 generic {
      void Tcl_AddErrorInfo(Tcl_Interp *interp, CONST char *message)
***************
*** 916,926 ****
  	    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)
  }
--- 921,932 ----
  	    Tcl_Obj *CONST objv[], char *message)
  }
  declare 265 generic {
!     int Tcl_DumpActiveMemory( CONST char *fileName )
  }
  declare 266 generic {
!     void Tcl_ValidateAllMemory( CONST char *file, int line )
  }
+ 
  declare 267 generic {
      void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList)
  }
***************
*** 934,952 ****
      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)
--- 940,960 ----
      char * Tcl_ParseVar(Tcl_Interp *interp, char *str, char **termPtr)
  }
  declare 271 generic {
!     CONST char * Tcl_PkgPresent(Tcl_Interp *interp, CONST char *name,
!                                 CONST char *version, int exact)
  }
  declare 272 generic {
!     CONST char * Tcl_PkgPresentEx(Tcl_Interp *interp, CONST char *name,
!                                   CONST char *version, int exact,
!                                   ClientData *clientDataPtr)
  }
  declare 273 generic {
!     int Tcl_PkgProvide(Tcl_Interp *interp, CONST char *name, 
!                        CONST char *version)
  }
  declare 274 generic {
!     CONST char * Tcl_PkgRequire(Tcl_Interp *interp, CONST char *name, 
!                                 CONST char *version, int exact)
  }
  declare 275 generic {
      void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList)
***************
*** 1309,1319 ****
      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)
--- 1317,1327 ----
      void Tcl_RegExpGetInfo(Tcl_RegExp regexp, Tcl_RegExpInfo *infoPtr)
  }
  declare 378 generic {
!     Tcl_Obj * Tcl_NewUnicodeObj(CONST Tcl_UniChar *unicode, int numChars)
  }
  declare 379 generic {
!     void Tcl_SetUnicodeObj(Tcl_Obj *objPtr, CONST Tcl_UniChar *unicode,
! 	                   int numChars)
  }
  declare 380 generic {
      int Tcl_GetCharLength (Tcl_Obj *objPtr)
***************
*** 1328,1335 ****
      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, \
--- 1336,1343 ----
      Tcl_Obj * Tcl_GetRange (Tcl_Obj *objPtr, int first, int last)
  }
  declare 384 generic {
!     void Tcl_AppendUnicodeToObj (Tcl_Obj *objPtr,
! 	                         CONST Tcl_UniChar *unicode, int length)
  }
  declare 385 generic {
      int Tcl_RegExpMatchObj(Tcl_Interp *interp, Tcl_Obj *stringObj, \
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 Mon Mar 12 18:35:52 2001
***************
*** 1817,1824 ****
   * linked into an application.
   */
  
! EXTERN char *		Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
! 			    char *version, int exact));
  
  #ifndef USE_TCL_STUBS
  
--- 1817,1824 ----
   * 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 Mon Mar 12 12:27:22 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 Mon Mar 12 12:27:38 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 Mar 12 18:48:04 2001
***************
*** 27,39 ****
   */
  
  /* 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));
  /* 3 */
--- 27,39 ----
   */
  
  /* 0 */
! EXTERN int		Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp* interp, 
! 				CONST char* name, CONST char* version, 
  				ClientData clientData));
  /* 1 */
! EXTERN CONST char *	Tcl_PkgRequireEx _ANSI_ARGS_((Tcl_Interp * interp, 
! 				CONST char * name, CONST char * version, 
! 				int exact, ClientData * clientDataPtr));
  /* 2 */
  EXTERN void		Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
  /* 3 */
***************
*** 45,57 ****
  				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 */
  EXTERN void		Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, 
--- 45,58 ----
  				unsigned int size));
  /* 6 */
  EXTERN char *		Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, 
! 				CONST char * file, int line));
  /* 7 */
! EXTERN int		Tcl_DbCkfree _ANSI_ARGS_((char * ptr, 
! 				CONST char * file, int line));
  /* 8 */
  EXTERN char *		Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr, 
! 				unsigned int size, CONST char * file, 
! 				int line));
  #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
  /* 9 */
  EXTERN void		Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, 
***************
*** 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 _ANSI_ARGS_((Tcl_Obj* objPtr, 
! 				CONST char* bytes, int length));
  /* 17 */
  EXTERN Tcl_Obj *	Tcl_ConcatObj _ANSI_ARGS_((int objc, 
  				Tcl_Obj *CONST objv[]));
***************
*** 83,116 ****
  				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 */
--- 84,119 ----
  				Tcl_Obj * objPtr, Tcl_ObjType * typePtr));
  /* 19 */
  EXTERN void		Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, 
! 				CONST char * file, int line));
  /* 20 */
  EXTERN void		Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, 
! 				CONST char * file, int line));
  /* 21 */
  EXTERN int		Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr, 
! 				CONST char * file, int line));
  /* 22 */
  EXTERN Tcl_Obj *	Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, 
! 				CONST char * file, int line));
  /* 23 */
  EXTERN Tcl_Obj *	Tcl_DbNewByteArrayObj _ANSI_ARGS_((
! 				CONST unsigned char * bytes, int length, 
! 				CONST char * file, int line));
  /* 24 */
  EXTERN Tcl_Obj *	Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, 
! 				CONST char * file, int line));
  /* 25 */
  EXTERN Tcl_Obj *	Tcl_DbNewListObj _ANSI_ARGS_((int objc, 
! 				Tcl_Obj *CONST * objv, CONST char * file, 
! 				int line));
  /* 26 */
  EXTERN Tcl_Obj *	Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, 
! 				CONST char * file, int line));
  /* 27 */
! EXTERN Tcl_Obj *	Tcl_DbNewObj _ANSI_ARGS_((CONST char * file, 
! 				int line));
  /* 28 */
  EXTERN Tcl_Obj *	Tcl_DbNewStringObj _ANSI_ARGS_((CONST char * bytes, 
! 				int length, CONST char * file, int line));
  /* 29 */
  EXTERN Tcl_Obj *	Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr));
  /* 30 */
***************
*** 180,186 ****
  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,189 ----
  EXTERN Tcl_Obj *	Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue));
  /* 50 */
  EXTERN Tcl_Obj *	Tcl_NewByteArrayObj _ANSI_ARGS_((
! 				CONST unsigned char* bytes, int length));
  /* 51 */
  EXTERN Tcl_Obj *	Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue));
  /* 52 */
***************
*** 203,209 ****
  				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,212 ----
  				int length));
  /* 59 */
  EXTERN void		Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr, 
! 				CONST 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));
--- 223,230 ----
  EXTERN void		Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr, 
  				int length));
  /* 65 */
! EXTERN void		Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj* objPtr, 
! 				CONST char* bytes, int length));
  /* 66 */
  EXTERN void		Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, 
  				CONST char * message));
***************
*** 851,859 ****
  				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, 
--- 854,863 ----
  				int objc, Tcl_Obj *CONST objv[], 
  				char * message));
  /* 265 */
! EXTERN int		Tcl_DumpActiveMemory _ANSI_ARGS_((
! 				CONST char * fileName));
  /* 266 */
! EXTERN void		Tcl_ValidateAllMemory _ANSI_ARGS_((CONST char * file, 
  				int line));
  /* 267 */
  EXTERN void		Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp, 
***************
*** 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));
--- 871,890 ----
  EXTERN char *		Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp, 
  				char * str, char ** termPtr));
  /* 271 */
! EXTERN CONST char *	Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp, 
! 				CONST char * name, CONST char * version, 
! 				int exact));
  /* 272 */
! EXTERN CONST char *	Tcl_PkgPresentEx _ANSI_ARGS_((Tcl_Interp * interp, 
! 				CONST char * name, CONST char * version, 
! 				int exact, ClientData * clientDataPtr));
  /* 273 */
  EXTERN int		Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp, 
! 				CONST char * name, CONST char * version));
  /* 274 */
! EXTERN CONST char *	Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp, 
! 				CONST char * name, CONST 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 */
--- 1190,1200 ----
  EXTERN void		Tcl_RegExpGetInfo _ANSI_ARGS_((Tcl_RegExp regexp, 
  				Tcl_RegExpInfo * infoPtr));
  /* 378 */
! EXTERN Tcl_Obj *	Tcl_NewUnicodeObj _ANSI_ARGS_((
! 				CONST Tcl_UniChar * unicode, int numChars));
  /* 379 */
  EXTERN void		Tcl_SetUnicodeObj _ANSI_ARGS_((Tcl_Obj * objPtr, 
! 				CONST Tcl_UniChar * unicode, int numChars));
  /* 380 */
  EXTERN int		Tcl_GetCharLength _ANSI_ARGS_((Tcl_Obj * objPtr));
  /* 381 */
***************
*** 1201,1207 ****
  				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));
--- 1207,1213 ----
  				int first, int last));
  /* 384 */
  EXTERN void		Tcl_AppendUnicodeToObj _ANSI_ARGS_((Tcl_Obj * objPtr, 
! 				CONST Tcl_UniChar * unicode, int length));
  /* 385 */
  EXTERN int		Tcl_RegExpMatchObj _ANSI_ARGS_((Tcl_Interp * interp, 
  				Tcl_Obj * stringObj, Tcl_Obj * patternObj));
***************
*** 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 */
--- 1367,1381 ----
      int magic;
      struct TclStubHooks *hooks;
  
!     int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* name, CONST char* version, ClientData clientData)); /* 0 */
!     CONST char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST 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, CONST char * file, int line)); /* 6 */
!     int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 7 */
!     char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, CONST 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 */
--- 1399,1417 ----
      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, CONST 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, CONST char * file, int line)); /* 19 */
!     void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 20 */
!     int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST char * file, int line)); /* 21 */
!     Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, CONST char * file, int line)); /* 22 */
!     Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((CONST unsigned char * bytes, int length, CONST char * file, int line)); /* 23 */
!     Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, CONST char * file, int line)); /* 24 */
!     Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST * objv, CONST char * file, int line)); /* 25 */
!     Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, CONST char * file, int line)); /* 26 */
!     Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((CONST char * file, int line)); /* 27 */
!     Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((CONST char * bytes, int length, CONST 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 */
--- 1433,1439 ----
      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_((CONST 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 */
--- 1442,1454 ----
      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, CONST 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, CONST 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 */
--- 1680,1695 ----
      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_((CONST char * fileName)); /* 265 */
!     void (*tcl_ValidateAllMemory) _ANSI_ARGS_((CONST 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 */
!     CONST char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact)); /* 271 */
!     CONST char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 272 */
!     int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version)); /* 273 */
!     CONST char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST 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 */
--- 1801,1813 ----
      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_((CONST Tcl_UniChar * unicode, int numChars)); /* 378 */
!     void (*tcl_SetUnicodeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, CONST 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, CONST 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 */
--- 1846,1852 ----
      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 */
***************
*** 3592,3598 ****
  #endif
  #ifndef Tcl_InitCustomHashTable
  #define Tcl_InitCustomHashTable \
! 	(tclStubsPtr->Tcl_InitCustomHashTable) /* 423 */
  #endif
  #ifndef Tcl_InitObjHashTable
  #define Tcl_InitObjHashTable \
--- 3598,3604 ----
  #endif
  #ifndef Tcl_InitCustomHashTable
  #define Tcl_InitCustomHashTable \
! 	(tclStubsPtr->tcl_InitCustomHashTable) /* 423 */
  #endif
  #ifndef Tcl_InitObjHashTable
  #define Tcl_InitObjHashTable \
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 Mon Mar 12 12:28:20 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 Mon Mar 12 12:28: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 Mon Mar 12 12:28:54 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 Mar 12 12:29:18 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;
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 Mon Mar 12 12:29: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) {