Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | merge trunk |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | tip-445 |
Files: | files | file ages | folders |
SHA1: |
d2ed32de622e3ae932f8e8017b8868ae |
User & Date: | dgp 2016-04-11 17:16:31.308 |
Context
2016-04-11
| ||
17:34 | merge trunk check-in: 27127619c5 user: dgp tags: tip-445 | |
17:16 | merge trunk check-in: d2ed32de62 user: dgp tags: tip-445 | |
01:07 | Revise the "end-offset" objType to use proposed routines, and not export or provide unneeded things. check-in: 64a80a7467 user: dgp tags: tip-445 | |
2016-04-10
| ||
16:01 | Fix [07d13d99b0a9]: Who broke TCL 8.6 and Tclblend ? check-in: 600555f125 user: jan.nijtmans tags: trunk | |
Changes
Changes to generic/tclObj.c.
︙ | ︙ | |||
317 318 319 320 321 322 323 | * own purposes. * * TRICKY POINT! Some extensions update this structure! (Notably, these * include TclBlend and TCom). This is highly ill-advised on their part, but * does allow them to delete a command when references to it are gone, which * is fragile but useful given their somewhat-OO style. Because of this, this * structure MUST NOT be const so that the C compiler puts the data in | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | * own purposes. * * TRICKY POINT! Some extensions update this structure! (Notably, these * include TclBlend and TCom). This is highly ill-advised on their part, but * does allow them to delete a command when references to it are gone, which * is fragile but useful given their somewhat-OO style. Because of this, this * structure MUST NOT be const so that the C compiler puts the data in * writable memory. [Bug 2558422] [Bug 07d13d99b0a9] * TODO: Provide a better API for those extensions so that they can coexist... */ Tcl_ObjType tclCmdNameType = { "cmdName", /* name */ FreeCmdNameInternalRep, /* freeIntRepProc */ DupCmdNameInternalRep, /* dupIntRepProc */ |
︙ | ︙ | |||
4355 4356 4357 4358 4359 4360 4361 | } /* * OK, must create a new internal representation (or fail) as any cache we * had is invalid one way or another. */ | > | | 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 | } /* * OK, must create a new internal representation (or fail) as any cache we * had is invalid one way or another. */ /* See [07d13d99b0a9] why we cannot call SetCmdNameFromAny() directly here. */ if (tclCmdNameType.setFromAnyProc(interp, objPtr) != TCL_OK) { return NULL; } resPtr = objPtr->internalRep.twoPtrValue.ptr1; return (Tcl_Command) (resPtr ? resPtr->cmdPtr : NULL); } /* |
︙ | ︙ |