Tcl Source Code

Check-in [8b366f71d8]
Login

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
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.056
References
2022-09-06
04:40 New ticket [3bb3bcf2da] Adding support for 8.7/9.0 to Tcl.pm. artifact: 13ceb6c1d0 user: chrstphrchvz
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
Unified Diff Ignore Whitespace Patch
Changes to generic/tclObj.c.
238
239
240
241
242
243
244

245
246
247
248
249
250
251

252

253



254
255
256
257
258
259
260
/*
 * The structures below defines the Tcl object types defined in this file by
 * means of functions that can be invoked by generic object code. See also
 * tclStringObj.c, tclListObj.c, tclByteCode.c for other type manager
 * implementations.
 */


static const Tcl_ObjType oldBooleanType = {
    "boolean",			/* name */
    NULL,			/* freeIntRepProc */
    NULL,			/* dupIntRepProc */
    NULL,			/* updateStringProc */
    TclSetBooleanFromAny		/* setFromAnyProc */
};

const Tcl_ObjType tclBooleanType = {

    "booleanString",		/* name */



    NULL,			/* freeIntRepProc */
    NULL,			/* dupIntRepProc */
    NULL,			/* updateStringProc */
    TclSetBooleanFromAny		/* setFromAnyProc */
};
const Tcl_ObjType tclDoubleType = {
    "double",			/* name */







>







>

>

>
>
>







238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
/*
 * The structures below defines the Tcl object types defined in this file by
 * means of functions that can be invoked by generic object code. See also
 * tclStringObj.c, tclListObj.c, tclByteCode.c for other type manager
 * implementations.
 */

#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
static const Tcl_ObjType oldBooleanType = {
    "boolean",			/* name */
    NULL,			/* freeIntRepProc */
    NULL,			/* dupIntRepProc */
    NULL,			/* updateStringProc */
    TclSetBooleanFromAny		/* setFromAnyProc */
};
#endif
const Tcl_ObjType tclBooleanType = {
#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
    "booleanString",		/* name */
#else
    "boolean",			/* name */
#endif
    NULL,			/* freeIntRepProc */
    NULL,			/* dupIntRepProc */
    NULL,			/* updateStringProc */
    TclSetBooleanFromAny		/* setFromAnyProc */
};
const Tcl_ObjType tclDoubleType = {
    "double",			/* name */
402
403
404
405
406
407
408

409

410
411
412
413
414
415
416
    Tcl_RegisterObjType(&tclDictType);
    Tcl_RegisterObjType(&tclByteCodeType);
    Tcl_RegisterObjType(&tclCmdNameType);
    Tcl_RegisterObjType(&tclRegexpType);
    Tcl_RegisterObjType(&tclProcBodyType);

    /* For backward compatibility only ... */

    Tcl_RegisterObjType(&oldBooleanType);

#ifndef TCL_WIDE_INT_IS_LONG
    Tcl_RegisterObjType(&tclWideIntType);
#endif

#ifdef TCL_COMPILE_STATS
    Tcl_MutexLock(&tclObjMutex);
    tclObjsAlloced = 0;







>

>







408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
    Tcl_RegisterObjType(&tclDictType);
    Tcl_RegisterObjType(&tclByteCodeType);
    Tcl_RegisterObjType(&tclCmdNameType);
    Tcl_RegisterObjType(&tclRegexpType);
    Tcl_RegisterObjType(&tclProcBodyType);

    /* For backward compatibility only ... */
#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
    Tcl_RegisterObjType(&oldBooleanType);
#endif
#ifndef TCL_WIDE_INT_IS_LONG
    Tcl_RegisterObjType(&tclWideIntType);
#endif

#ifdef TCL_COMPILE_STATS
    Tcl_MutexLock(&tclObjMutex);
    tclObjsAlloced = 0;