Tcl Source Code

Check-in [8f90660f49]
Login

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

Overview
Comment:Extend the public stub table with dummy NULL entries, up to the size of the Tcl 8.6 stub tables. This makes it easier to debug extensions which use Tcl 8.6 features but (erroneously) are attempted to be loaded in Tcl 8.5.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: 8f90660f4928b722538c44d4647e2c7ed2dd6bcd
User & Date: jan.nijtmans 2013-01-07 11:16:50
Context
2013-01-08
10:17
[Bug 3092089]: [file normalize] can remove path components. [Bug 3587096] win vista/7: "can't find i... check-in: 55b5e89e13 user: jan.nijtmans tags: core-8-5-branch
2013-01-07
13:00
merge-mark. Hoping trunk is OK now, again ;-( check-in: 212c2767fe user: jan.nijtmans tags: trunk
12:52
Thanks Don, just noticed that mig's previous commit was REMOVED, therefore this merge-mark is indeed... Closed-Leaf check-in: a0a507e2f0 user: jan.nijtmans tags: mistake
11:16
Extend the public stub table with dummy NULL entries, up to the size of the Tcl 8.6 stub tables. Th... check-in: 8f90660f49 user: jan.nijtmans tags: core-8-5-branch
11:06
Extend the public and private stub tables with dummy NULL entries, up to the size of the Tcl 8.6 stu... check-in: c59364b9c7 user: jan.nijtmans tags: core-8-4-branch
2013-01-05
00:33
adjust stub library version number check-in: 84e3fcb1ea user: jan.nijtmans tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.








1
2
3
4
5
6
7







2013-01-02  Miguel Sofer  <[email protected]>

	* generic/tclEnsemble.c:  Remove stray calls to Tcl_Alloc and
	* generic/tclExecute.c:   friends: the core should only use ckalloc
	* generic/tclIORTrans.c:  to allow MEM_DEBUG to work properly
	* generic/tclTomMathInterface.c:

>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
2013-01-07  Jan Nijtmans  <[email protected]>

	* generic/tcl.decls: Extend the public stub table with dummy NULL
	entries, up to the size of the Tcl 8.6 stub tables. This makes it
	easier to debug extensions which use Tcl 8.6 features but (erroneously)
	are attempted to be loaded in Tcl 8.5.

2013-01-02  Miguel Sofer  <[email protected]>

	* generic/tclEnsemble.c:  Remove stray calls to Tcl_Alloc and
	* generic/tclExecute.c:   friends: the core should only use ckalloc
	* generic/tclIORTrans.c:  to allow MEM_DEBUG to work properly
	* generic/tclTomMathInterface.c:

Changes to generic/tcl.decls.

2104
2105
2106
2107
2108
2109
2110



2111
2112
2113
2114
2115
2116
2117
}
declare 578 {
    Tcl_Obj *Tcl_ObjPrintf(const char *format, ...)
}
declare 579 {
    void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr, const char *format, ...)
}




##############################################################################

# Define the platform specific public Tcl interface. These functions are only
# available on the designated platform.

interface tclPlat







>
>
>







2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
}
declare 578 {
    Tcl_Obj *Tcl_ObjPrintf(const char *format, ...)
}
declare 579 {
    void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr, const char *format, ...)
}
declare 630 {
    void TclUnusedStubEntry(void)
}

##############################################################################

# Define the platform specific public Tcl interface. These functions are only
# available on the designated platform.

interface tclPlat

Changes to generic/tclDecls.h.

3404
3405
3406
3407
3408
3409
3410























































3411
3412
3413
3414
3415
3416
3417
#endif
#ifndef Tcl_AppendPrintfToObj_TCL_DECLARED
#define Tcl_AppendPrintfToObj_TCL_DECLARED
/* 579 */
EXTERN void		Tcl_AppendPrintfToObj(Tcl_Obj *objPtr,
				CONST char *format, ...);
#endif
























































typedef struct TclStubHooks {
    struct TclPlatStubs *tclPlatStubs;
    struct TclIntStubs *tclIntStubs;
    struct TclIntPlatStubs *tclIntPlatStubs;
} TclStubHooks;








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
#endif
#ifndef Tcl_AppendPrintfToObj_TCL_DECLARED
#define Tcl_AppendPrintfToObj_TCL_DECLARED
/* 579 */
EXTERN void		Tcl_AppendPrintfToObj(Tcl_Obj *objPtr,
				CONST char *format, ...);
#endif
/* Slot 580 is reserved */
/* Slot 581 is reserved */
/* Slot 582 is reserved */
/* Slot 583 is reserved */
/* Slot 584 is reserved */
/* Slot 585 is reserved */
/* Slot 586 is reserved */
/* Slot 587 is reserved */
/* Slot 588 is reserved */
/* Slot 589 is reserved */
/* Slot 590 is reserved */
/* Slot 591 is reserved */
/* Slot 592 is reserved */
/* Slot 593 is reserved */
/* Slot 594 is reserved */
/* Slot 595 is reserved */
/* Slot 596 is reserved */
/* Slot 597 is reserved */
/* Slot 598 is reserved */
/* Slot 599 is reserved */
/* Slot 600 is reserved */
/* Slot 601 is reserved */
/* Slot 602 is reserved */
/* Slot 603 is reserved */
/* Slot 604 is reserved */
/* Slot 605 is reserved */
/* Slot 606 is reserved */
/* Slot 607 is reserved */
/* Slot 608 is reserved */
/* Slot 609 is reserved */
/* Slot 610 is reserved */
/* Slot 611 is reserved */
/* Slot 612 is reserved */
/* Slot 613 is reserved */
/* Slot 614 is reserved */
/* Slot 615 is reserved */
/* Slot 616 is reserved */
/* Slot 617 is reserved */
/* Slot 618 is reserved */
/* Slot 619 is reserved */
/* Slot 620 is reserved */
/* Slot 621 is reserved */
/* Slot 622 is reserved */
/* Slot 623 is reserved */
/* Slot 624 is reserved */
/* Slot 625 is reserved */
/* Slot 626 is reserved */
/* Slot 627 is reserved */
/* Slot 628 is reserved */
/* Slot 629 is reserved */
#ifndef TclUnusedStubEntry_TCL_DECLARED
#define TclUnusedStubEntry_TCL_DECLARED
/* 630 */
EXTERN void		TclUnusedStubEntry(void);
#endif

typedef struct TclStubHooks {
    struct TclPlatStubs *tclPlatStubs;
    struct TclIntStubs *tclIntStubs;
    struct TclIntPlatStubs *tclIntPlatStubs;
} TclStubHooks;

4019
4020
4021
4022
4023
4024
4025



















































4026
4027
4028
4029
4030
4031
4032
    int (*tcl_PkgRequireProc) (Tcl_Interp *interp, CONST char *name, int objc, Tcl_Obj *CONST objv[], ClientData *clientDataPtr); /* 573 */
    void (*tcl_AppendObjToErrorInfo) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 574 */
    void (*tcl_AppendLimitedToObj) (Tcl_Obj *objPtr, CONST char *bytes, int length, int limit, CONST char *ellipsis); /* 575 */
    Tcl_Obj * (*tcl_Format) (Tcl_Interp *interp, CONST char *format, int objc, Tcl_Obj *CONST objv[]); /* 576 */
    int (*tcl_AppendFormatToObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, CONST char *format, int objc, Tcl_Obj *CONST objv[]); /* 577 */
    Tcl_Obj * (*tcl_ObjPrintf) (CONST char *format, ...); /* 578 */
    void (*tcl_AppendPrintfToObj) (Tcl_Obj *objPtr, CONST char *format, ...); /* 579 */



















































} TclStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TclStubs *tclStubsPtr;
#ifdef __cplusplus







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
    int (*tcl_PkgRequireProc) (Tcl_Interp *interp, CONST char *name, int objc, Tcl_Obj *CONST objv[], ClientData *clientDataPtr); /* 573 */
    void (*tcl_AppendObjToErrorInfo) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 574 */
    void (*tcl_AppendLimitedToObj) (Tcl_Obj *objPtr, CONST char *bytes, int length, int limit, CONST char *ellipsis); /* 575 */
    Tcl_Obj * (*tcl_Format) (Tcl_Interp *interp, CONST char *format, int objc, Tcl_Obj *CONST objv[]); /* 576 */
    int (*tcl_AppendFormatToObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, CONST char *format, int objc, Tcl_Obj *CONST objv[]); /* 577 */
    Tcl_Obj * (*tcl_ObjPrintf) (CONST char *format, ...); /* 578 */
    void (*tcl_AppendPrintfToObj) (Tcl_Obj *objPtr, CONST char *format, ...); /* 579 */
    VOID *reserved580;
    VOID *reserved581;
    VOID *reserved582;
    VOID *reserved583;
    VOID *reserved584;
    VOID *reserved585;
    VOID *reserved586;
    VOID *reserved587;
    VOID *reserved588;
    VOID *reserved589;
    VOID *reserved590;
    VOID *reserved591;
    VOID *reserved592;
    VOID *reserved593;
    VOID *reserved594;
    VOID *reserved595;
    VOID *reserved596;
    VOID *reserved597;
    VOID *reserved598;
    VOID *reserved599;
    VOID *reserved600;
    VOID *reserved601;
    VOID *reserved602;
    VOID *reserved603;
    VOID *reserved604;
    VOID *reserved605;
    VOID *reserved606;
    VOID *reserved607;
    VOID *reserved608;
    VOID *reserved609;
    VOID *reserved610;
    VOID *reserved611;
    VOID *reserved612;
    VOID *reserved613;
    VOID *reserved614;
    VOID *reserved615;
    VOID *reserved616;
    VOID *reserved617;
    VOID *reserved618;
    VOID *reserved619;
    VOID *reserved620;
    VOID *reserved621;
    VOID *reserved622;
    VOID *reserved623;
    VOID *reserved624;
    VOID *reserved625;
    VOID *reserved626;
    VOID *reserved627;
    VOID *reserved628;
    VOID *reserved629;
    void (*tclUnusedStubEntry) (void); /* 630 */
} TclStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TclStubs *tclStubsPtr;
#ifdef __cplusplus
6373
6374
6375
6376
6377
6378
6379






















































6380
6381
6382
6383


6384
6385
6386
6387
6388
6389
#define Tcl_ObjPrintf \
	(tclStubsPtr->tcl_ObjPrintf) /* 578 */
#endif
#ifndef Tcl_AppendPrintfToObj
#define Tcl_AppendPrintfToObj \
	(tclStubsPtr->tcl_AppendPrintfToObj) /* 579 */
#endif























































#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */

/* !END!: Do not edit above this line. */



#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TCLDECLS */








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>




>
>






6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
#define Tcl_ObjPrintf \
	(tclStubsPtr->tcl_ObjPrintf) /* 578 */
#endif
#ifndef Tcl_AppendPrintfToObj
#define Tcl_AppendPrintfToObj \
	(tclStubsPtr->tcl_AppendPrintfToObj) /* 579 */
#endif
/* Slot 580 is reserved */
/* Slot 581 is reserved */
/* Slot 582 is reserved */
/* Slot 583 is reserved */
/* Slot 584 is reserved */
/* Slot 585 is reserved */
/* Slot 586 is reserved */
/* Slot 587 is reserved */
/* Slot 588 is reserved */
/* Slot 589 is reserved */
/* Slot 590 is reserved */
/* Slot 591 is reserved */
/* Slot 592 is reserved */
/* Slot 593 is reserved */
/* Slot 594 is reserved */
/* Slot 595 is reserved */
/* Slot 596 is reserved */
/* Slot 597 is reserved */
/* Slot 598 is reserved */
/* Slot 599 is reserved */
/* Slot 600 is reserved */
/* Slot 601 is reserved */
/* Slot 602 is reserved */
/* Slot 603 is reserved */
/* Slot 604 is reserved */
/* Slot 605 is reserved */
/* Slot 606 is reserved */
/* Slot 607 is reserved */
/* Slot 608 is reserved */
/* Slot 609 is reserved */
/* Slot 610 is reserved */
/* Slot 611 is reserved */
/* Slot 612 is reserved */
/* Slot 613 is reserved */
/* Slot 614 is reserved */
/* Slot 615 is reserved */
/* Slot 616 is reserved */
/* Slot 617 is reserved */
/* Slot 618 is reserved */
/* Slot 619 is reserved */
/* Slot 620 is reserved */
/* Slot 621 is reserved */
/* Slot 622 is reserved */
/* Slot 623 is reserved */
/* Slot 624 is reserved */
/* Slot 625 is reserved */
/* Slot 626 is reserved */
/* Slot 627 is reserved */
/* Slot 628 is reserved */
/* Slot 629 is reserved */
#ifndef TclUnusedStubEntry
#define TclUnusedStubEntry \
	(tclStubsPtr->tclUnusedStubEntry) /* 630 */
#endif

#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TclUnusedStubEntry

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TCLDECLS */

Changes to generic/tclStubInit.c.

29
30
31
32
33
34
35

36
37
38
39
40
41
42
#undef Tcl_NewStringObj
#undef Tcl_DumpActiveMemory
#undef Tcl_ValidateAllMemory
#undef Tcl_FindHashEntry
#undef Tcl_CreateHashEntry
#undef TclpGetPid
#undef TclSockMinimumBuffers


/*
 * Keep a record of the original Notifier procedures, created in the
 * same compilation unit as the stub tables so we can later do reliable,
 * portable comparisons to see whether a Tcl_SetNotifier() call swapped
 * new routines into the stub table.
 */







>







29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#undef Tcl_NewStringObj
#undef Tcl_DumpActiveMemory
#undef Tcl_ValidateAllMemory
#undef Tcl_FindHashEntry
#undef Tcl_CreateHashEntry
#undef TclpGetPid
#undef TclSockMinimumBuffers
#define TclUnusedStubEntry NULL

/*
 * Keep a record of the original Notifier procedures, created in the
 * same compilation unit as the stub tables so we can later do reliable,
 * portable comparisons to see whether a Tcl_SetNotifier() call swapped
 * new routines into the stub table.
 */
1250
1251
1252
1253
1254
1255
1256



















































1257
1258
1259
    Tcl_PkgRequireProc, /* 573 */
    Tcl_AppendObjToErrorInfo, /* 574 */
    Tcl_AppendLimitedToObj, /* 575 */
    Tcl_Format, /* 576 */
    Tcl_AppendFormatToObj, /* 577 */
    Tcl_ObjPrintf, /* 578 */
    Tcl_AppendPrintfToObj, /* 579 */



















































};

/* !END!: Do not edit above this line. */







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>



1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
    Tcl_PkgRequireProc, /* 573 */
    Tcl_AppendObjToErrorInfo, /* 574 */
    Tcl_AppendLimitedToObj, /* 575 */
    Tcl_Format, /* 576 */
    Tcl_AppendFormatToObj, /* 577 */
    Tcl_ObjPrintf, /* 578 */
    Tcl_AppendPrintfToObj, /* 579 */
    NULL, /* 580 */
    NULL, /* 581 */
    NULL, /* 582 */
    NULL, /* 583 */
    NULL, /* 584 */
    NULL, /* 585 */
    NULL, /* 586 */
    NULL, /* 587 */
    NULL, /* 588 */
    NULL, /* 589 */
    NULL, /* 590 */
    NULL, /* 591 */
    NULL, /* 592 */
    NULL, /* 593 */
    NULL, /* 594 */
    NULL, /* 595 */
    NULL, /* 596 */
    NULL, /* 597 */
    NULL, /* 598 */
    NULL, /* 599 */
    NULL, /* 600 */
    NULL, /* 601 */
    NULL, /* 602 */
    NULL, /* 603 */
    NULL, /* 604 */
    NULL, /* 605 */
    NULL, /* 606 */
    NULL, /* 607 */
    NULL, /* 608 */
    NULL, /* 609 */
    NULL, /* 610 */
    NULL, /* 611 */
    NULL, /* 612 */
    NULL, /* 613 */
    NULL, /* 614 */
    NULL, /* 615 */
    NULL, /* 616 */
    NULL, /* 617 */
    NULL, /* 618 */
    NULL, /* 619 */
    NULL, /* 620 */
    NULL, /* 621 */
    NULL, /* 622 */
    NULL, /* 623 */
    NULL, /* 624 */
    NULL, /* 625 */
    NULL, /* 626 */
    NULL, /* 627 */
    NULL, /* 628 */
    NULL, /* 629 */
    TclUnusedStubEntry, /* 630 */
};

/* !END!: Do not edit above this line. */