Version 4 of Migration to 8.4: Internal Hash Table

Updated 2002-07-17 13:20:10

[could someone explain what, and why, tcl hash table was changed during an 8.x series?]

Michael A. Cleverly reports on comp.lang.tcl:

 #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4)
 #define Tcl_InitHashTableEx(x, y, z) Tcl_InitCustomHashTable(x, y, z)
 #endif

was needed to compile Ck.


From the tcl ChangeLog:

  2001-01-18  Andreas Kupries  <[email protected]>

        * Everything below belongs together, it fixes bug #123153.

        * generic/tcl.h (line 342): A bit more explanation about the
          default value for TCL_PRESERVE_BINARY_COMPATABILITY.

        * generic/tcl.h (line 1208): Define the macro 'Tcl_InitHashTable'
          only when TCL_PRESERVE_BINARY_COMPATIBILITY is not set
          as it kills binary compatibility to 8.3 and earlier
          versions. This is the main part of the patch/change.

        * generic/tcl.decls (line 1469):
        * generic/tclHash.c (Tcl_InitHashTable):
        * generic/tclHash.c (Tcl_InitHashTableEx):
        * generic/tclObj.c (Tcl_InitObjHashTable): Changed
          'Tcl_InitHashTableEx' to 'Tcl_InitCustomHashTable'. This change
          is more of an estethical nature, replacing the ubiquitous 'Ex'
          suffix with a more meaningful name. The introduced binary
          incompatibility is deemed acceptable as it is between alpha
          versions.  Updated callers.

        * doc/Hash.3:
        * unix/mkLinks: Changed 'Tcl_InitHashTableEx' to
          'Tcl_InitCustomHashTable'.

Changes in Tcl/Tk 8.4 Category Porting