Tcl Source Code

Check-in [8b366f71d8]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:In Tcl 9.0, don't register oldBooleanType any more. And rename "booleanString" to "boolean" in tclBooleanType. Many extensions (e.g. sqlite) still test for "boolean", although that stopped working already for a long time. In Tcl 8.7, do the same when compiled with -DTCL_NO_DEPRECATED.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-branch
Files: files | file ages | folders
SHA3-256:8b366f71d8fb6d2d6b321ff57d4acae24a847c9a613e4691c9fd4304cdb96cad
User & Date: jan.nijtmans 2018-01-23 14:52:34
Context
2018-01-24
10:00
merge core-8-6-branch check-in: 4b20e752c0 user: jan.nijtmans tags: core-8-branch
08:47
merge core-8-branch. Improve documentation (format.n). check-in: 3046684145 user: jan.nijtmans tags: z_modifier
2018-01-23
15:51
merge core-8-branch check-in: ca785e4341 user: jan.nijtmans tags: tip-389
15:02
Don't register oldBooleanType any more. And rename "booleanString" to "boolean" in tclBooleanType. check-in: 8b82166955 user: jan.nijtmans tags: trunk
14:52
In Tcl 9.0, don't register oldBooleanType any more. And rename "booleanString" to "boolean" in tclBo... check-in: 8b366f71d8 user: jan.nijtmans tags: core-8-branch
2018-01-22
13:38
typo check-in: 800ece7d79 user: dgp tags: core-8-branch
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to generic/tclObj.c.

   238    238   /*
   239    239    * The structures below defines the Tcl object types defined in this file by
   240    240    * means of functions that can be invoked by generic object code. See also
   241    241    * tclStringObj.c, tclListObj.c, tclByteCode.c for other type manager
   242    242    * implementations.
   243    243    */
   244    244   
          245  +#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
   245    246   static const Tcl_ObjType oldBooleanType = {
   246    247       "boolean",			/* name */
   247    248       NULL,			/* freeIntRepProc */
   248    249       NULL,			/* dupIntRepProc */
   249    250       NULL,			/* updateStringProc */
   250    251       TclSetBooleanFromAny		/* setFromAnyProc */
   251    252   };
          253  +#endif
   252    254   const Tcl_ObjType tclBooleanType = {
          255  +#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
   253    256       "booleanString",		/* name */
          257  +#else
          258  +    "boolean",			/* name */
          259  +#endif
   254    260       NULL,			/* freeIntRepProc */
   255    261       NULL,			/* dupIntRepProc */
   256    262       NULL,			/* updateStringProc */
   257    263       TclSetBooleanFromAny		/* setFromAnyProc */
   258    264   };
   259    265   const Tcl_ObjType tclDoubleType = {
   260    266       "double",			/* name */
................................................................................
   402    408       Tcl_RegisterObjType(&tclDictType);
   403    409       Tcl_RegisterObjType(&tclByteCodeType);
   404    410       Tcl_RegisterObjType(&tclCmdNameType);
   405    411       Tcl_RegisterObjType(&tclRegexpType);
   406    412       Tcl_RegisterObjType(&tclProcBodyType);
   407    413   
   408    414       /* For backward compatibility only ... */
          415  +#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
   409    416       Tcl_RegisterObjType(&oldBooleanType);
          417  +#endif
   410    418   #ifndef TCL_WIDE_INT_IS_LONG
   411    419       Tcl_RegisterObjType(&tclWideIntType);
   412    420   #endif
   413    421   
   414    422   #ifdef TCL_COMPILE_STATS
   415    423       Tcl_MutexLock(&tclObjMutex);
   416    424       tclObjsAlloced = 0;