Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove TclSetProcessGlobalValue() "encoding" parameter: it should always be NULL |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | main |
Files: | files | file ages | folders |
SHA3-256: |
c9626e005fa67fc9ed0be98eac969f06 |
User & Date: | jan.nijtmans 2024-05-24 22:14:08 |
Context
2024-05-25
| ||
09:24 | Merge 8.7 check-in: af5b3d24cc user: jan.nijtmans tags: trunk, main | |
2024-05-24
| ||
22:14 | Remove TclSetProcessGlobalValue() "encoding" parameter: it should always be NULL check-in: c9626e005f user: jan.nijtmans tags: trunk, main | |
20:34 | merge core-8-branch check-in: c5bd3ad311 user: dkf tags: trunk, main | |
Changes
Changes to generic/tclEncoding.c.
︙ | ︙ | |||
403 404 405 406 407 408 409 | Tcl_Obj *searchPath) { Tcl_Size dummy; if (TCL_ERROR == TclListObjLength(NULL, searchPath, &dummy)) { return TCL_ERROR; } | | | 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | Tcl_Obj *searchPath) { Tcl_Size dummy; if (TCL_ERROR == TclListObjLength(NULL, searchPath, &dummy)) { return TCL_ERROR; } TclSetProcessGlobalValue(&encodingSearchPath, searchPath); return TCL_OK; } /* *--------------------------------------------------------------------------- * * FillEncodingFileMap -- |
︙ | ︙ | |||
478 479 480 481 482 483 484 | Tcl_DecrRefCount(fileObj); Tcl_DecrRefCount(encoding); } Tcl_DecrRefCount(matchFileList); Tcl_DecrRefCount(directory); } Tcl_DecrRefCount(searchPath); | | | 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 | Tcl_DecrRefCount(fileObj); Tcl_DecrRefCount(encoding); } Tcl_DecrRefCount(matchFileList); Tcl_DecrRefCount(directory); } Tcl_DecrRefCount(searchPath); TclSetProcessGlobalValue(&encodingFileMap, map); Tcl_DecrRefCount(map); } /* *--------------------------------------------------------------------------- * * TclInitEncodingSubsystem -- |
︙ | ︙ | |||
1774 1775 1776 1777 1778 1779 1780 | if (!verified) { /* * Directory no longer on the search path. Remove from cache. */ map = Tcl_DuplicateObj(map); Tcl_DictObjRemove(NULL, map, nameObj); | | | 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 | if (!verified) { /* * Directory no longer on the search path. Remove from cache. */ map = Tcl_DuplicateObj(map); Tcl_DictObjRemove(NULL, map, nameObj); TclSetProcessGlobalValue(&encodingFileMap, map); directory = NULL; } } if (NULL != directory) { /* * Got a directory from the cache. Try to use it first. |
︙ | ︙ | |||
1808 1809 1810 1811 1812 1813 1814 | if (chan != NULL) { /* * Save directory in the cache. */ map = Tcl_DuplicateObj(TclGetProcessGlobalValue(&encodingFileMap)); Tcl_DictObjPut(NULL, map, nameObj, dir[i]); | | | 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 | if (chan != NULL) { /* * Save directory in the cache. */ map = Tcl_DuplicateObj(TclGetProcessGlobalValue(&encodingFileMap)); Tcl_DictObjPut(NULL, map, nameObj, dir[i]); TclSetProcessGlobalValue(&encodingFileMap, map); } } if ((NULL == chan) && (interp != NULL)) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "unknown encoding \"%s\"", name)); Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "ENCODING", name, (void *)NULL); |
︙ | ︙ |
Changes to generic/tclInt.h.
︙ | ︙ | |||
3572 3573 3574 3575 3576 3577 3578 | void *bignumValue); MODULE_SCOPE int TclSetBooleanFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr); MODULE_SCOPE void TclSetCmdNameObj(Tcl_Interp *interp, Tcl_Obj *objPtr, Command *cmdPtr); MODULE_SCOPE void TclSetDuplicateObj(Tcl_Obj *dupPtr, Tcl_Obj *objPtr); MODULE_SCOPE void TclSetProcessGlobalValue(ProcessGlobalValue *pgvPtr, | | | 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 | void *bignumValue); MODULE_SCOPE int TclSetBooleanFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr); MODULE_SCOPE void TclSetCmdNameObj(Tcl_Interp *interp, Tcl_Obj *objPtr, Command *cmdPtr); MODULE_SCOPE void TclSetDuplicateObj(Tcl_Obj *dupPtr, Tcl_Obj *objPtr); MODULE_SCOPE void TclSetProcessGlobalValue(ProcessGlobalValue *pgvPtr, Tcl_Obj *newValue); MODULE_SCOPE void TclSignalExitThread(Tcl_ThreadId id, int result); MODULE_SCOPE void TclSpellFix(Tcl_Interp *interp, Tcl_Obj *const *objv, Tcl_Size objc, Tcl_Size subIdx, Tcl_Obj *bad, Tcl_Obj *fix); MODULE_SCOPE void * TclStackRealloc(Tcl_Interp *interp, void *ptr, TCL_HASH_TYPE numBytes); typedef int (*memCmpFn_t)(const void*, const void*, size_t); |
︙ | ︙ |
Changes to generic/tclUtil.c.
︙ | ︙ | |||
4117 4118 4119 4120 4121 4122 4123 | * *---------------------------------------------------------------------- */ void TclSetProcessGlobalValue( ProcessGlobalValue *pgvPtr, | | < | 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 | * *---------------------------------------------------------------------- */ void TclSetProcessGlobalValue( ProcessGlobalValue *pgvPtr, Tcl_Obj *newValue) { const char *bytes; Tcl_HashTable *cacheMap; Tcl_HashEntry *hPtr; int dummy; Tcl_DString ds; |
︙ | ︙ | |||
4140 4141 4142 4143 4144 4145 4146 | if (NULL != pgvPtr->value) { Tcl_Free(pgvPtr->value); } else { Tcl_CreateExitHandler(FreeProcessGlobalValue, pgvPtr); } bytes = TclGetString(newValue); pgvPtr->numBytes = newValue->length; | | | | 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 | if (NULL != pgvPtr->value) { Tcl_Free(pgvPtr->value); } else { Tcl_CreateExitHandler(FreeProcessGlobalValue, pgvPtr); } bytes = TclGetString(newValue); pgvPtr->numBytes = newValue->length; Tcl_UtfToExternalDStringEx(NULL, NULL, bytes, pgvPtr->numBytes, TCL_ENCODING_PROFILE_TCL8, &ds, NULL); pgvPtr->numBytes = Tcl_DStringLength(&ds); pgvPtr->value = (char *)Tcl_Alloc(pgvPtr->numBytes + 1); memcpy(pgvPtr->value, Tcl_DStringValue(&ds), pgvPtr->numBytes + 1); Tcl_DStringFree(&ds); if (pgvPtr->encoding) { Tcl_FreeEncoding(pgvPtr->encoding); } pgvPtr->encoding = NULL; /* * Fill the local thread copy directly with the Tcl_Obj value to avoid * loss of the internalrep. Increment newValue refCount early to handle case * where we set a PGV to itself. */ |
︙ | ︙ | |||
4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 | *---------------------------------------------------------------------- * * TclSetObjNameOfExecutable -- * * This function stores the absolute pathname of the executable file * (normally as computed by TclpFindExecutable). * * Results: * None. * * Side effects: * Stores the executable name. * *---------------------------------------------------------------------- */ void TclSetObjNameOfExecutable( Tcl_Obj *name, | > > | | | 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 | *---------------------------------------------------------------------- * * TclSetObjNameOfExecutable -- * * This function stores the absolute pathname of the executable file * (normally as computed by TclpFindExecutable). * * Starting with Tcl 9.0, encoding parameter is not used any more. * * Results: * None. * * Side effects: * Stores the executable name. * *---------------------------------------------------------------------- */ void TclSetObjNameOfExecutable( Tcl_Obj *name, TCL_UNUSED(Tcl_Encoding)) { TclSetProcessGlobalValue(&executableName, name); } /* *---------------------------------------------------------------------- * * TclGetObjNameOfExecutable -- * |
︙ | ︙ |