Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Even better: Remove TclInvokeObjectCommand completely: it isn't supposed to be called by anyone |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk | main |
Files: | files | file ages | folders |
SHA3-256: |
5a28eecf3519c64564fc5b81ac7a13be |
User & Date: | jan.nijtmans 2023-10-06 09:40:23.800 |
References
2025-02-08
| ||
13:40 | amend to [5a28eecf3519c645]: reset cmpPtr->clientData (it must be not cmpPtr, since cmpPtr->proc is ... check-in: e4f09c5206 user: sebres tags: trunk, main | |
2024-08-22
| ||
18:43 | Merge [5a28eecf3519c645]: Even better: Remove TclInvokeObjectCommand completely: it isn't supposed t... check-in: 735a357f71 user: pooryorick tags: unchained, INCOMPATIBLE_LICENSE | |
Context
2024-08-22
| ||
18:43 | Merge [5a28eecf3519c645]: Even better: Remove TclInvokeObjectCommand completely: it isn't supposed t... check-in: 735a357f71 user: pooryorick tags: unchained, INCOMPATIBLE_LICENSE | |
2023-10-08
| ||
03:31 | Merge 8.7 - Have zipfs claim all paths under zipfs root. See [93eb73784a]. check-in: 77ff1459db user: apnadkarni tags: trunk, main | |
2023-10-06
| ||
17:03 | Merge 9.0 check-in: 7d52993233 user: jan.nijtmans tags: tip-626 | |
09:40 | Even better: Remove TclInvokeObjectCommand completely: it isn't supposed to be called by anyone check-in: 5a28eecf35 user: jan.nijtmans tags: trunk, main | |
09:21 | Make TclInvokeObjectCommand/TclInvokeStringCommand static functions. They are not needed/useful for ... check-in: 1431a2f80b user: jan.nijtmans tags: trunk, main | |
Changes
Changes to generic/tclBasic.c.
︙ | ︙ | |||
209 210 211 212 213 214 215 | static Tcl_ObjCmdProc ExprWideFunc; static Tcl_ObjCmdProc FloatClassifyObjCmd; static void MathFuncWrongNumArgs(Tcl_Interp *interp, int expected, int actual, Tcl_Obj *const *objv); static Tcl_NRPostProc NRCoroutineCallerCallback; static Tcl_NRPostProc NRCoroutineExitCallback; static Tcl_NRPostProc NRCommand; | < | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | static Tcl_ObjCmdProc ExprWideFunc; static Tcl_ObjCmdProc FloatClassifyObjCmd; static void MathFuncWrongNumArgs(Tcl_Interp *interp, int expected, int actual, Tcl_Obj *const *objv); static Tcl_NRPostProc NRCoroutineCallerCallback; static Tcl_NRPostProc NRCoroutineExitCallback; static Tcl_NRPostProc NRCommand; static void ProcessUnexpectedResult(Tcl_Interp *interp, int returnCode); static int RewindCoroutine(CoroutineData *corPtr, int result); static void TEOV_SwitchVarFrame(Tcl_Interp *interp); static void TEOV_PushExceptionHandlers(Tcl_Interp *interp, int objc, Tcl_Obj *const objv[], int flags); |
︙ | ︙ | |||
1068 1069 1070 1071 1072 1073 1074 | /* * Create the core commands. Do it here, rather than calling * Tcl_CreateCommand, because it's faster (there's no need to check for a * preexisting command by the same name). If a command has a Tcl_CmdProc * but no Tcl_ObjCmdProc, set the Tcl_ObjCmdProc to * InvokeStringCommand. This is an object-based wrapper function that * extracts strings, calls the string function, and creates an object for | | | | | 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 | /* * Create the core commands. Do it here, rather than calling * Tcl_CreateCommand, because it's faster (there's no need to check for a * preexisting command by the same name). If a command has a Tcl_CmdProc * but no Tcl_ObjCmdProc, set the Tcl_ObjCmdProc to * InvokeStringCommand. This is an object-based wrapper function that * extracts strings, calls the string function, and creates an object for * the result. If a command has a Tcl_ObjCmdProc but no * Tcl_CmdProc, set the Tcl_CmdProc to NULL. */ for (cmdInfoPtr = builtInCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) { if ((cmdInfoPtr->objProc == NULL) && (cmdInfoPtr->compileProc == NULL) && (cmdInfoPtr->nreProc == NULL)) { Tcl_Panic("builtin command with NULL object command proc and a NULL compile proc"); } hPtr = Tcl_CreateHashEntry(&iPtr->globalNsPtr->cmdTable, cmdInfoPtr->name, &isNew); if (isNew) { cmdPtr = (Command *)Tcl_Alloc(sizeof(Command)); cmdPtr->hPtr = hPtr; cmdPtr->nsPtr = iPtr->globalNsPtr; cmdPtr->refCount = 1; cmdPtr->cmdEpoch = 0; cmdPtr->compileProc = cmdInfoPtr->compileProc; cmdPtr->proc = NULL; cmdPtr->clientData = cmdPtr; cmdPtr->objProc = cmdInfoPtr->objProc; cmdPtr->objClientData = NULL; cmdPtr->deleteProc = NULL; cmdPtr->deleteData = NULL; cmdPtr->flags = 0; if (cmdInfoPtr->flags & CMD_COMPILES_EXPANDED) { |
︙ | ︙ | |||
2908 2909 2910 2911 2912 2913 2914 | cmdPtr->hPtr = hPtr; cmdPtr->nsPtr = nsPtr; cmdPtr->refCount = 1; cmdPtr->cmdEpoch = 0; cmdPtr->compileProc = NULL; cmdPtr->objProc = proc; cmdPtr->objClientData = clientData; | | | 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 | cmdPtr->hPtr = hPtr; cmdPtr->nsPtr = nsPtr; cmdPtr->refCount = 1; cmdPtr->cmdEpoch = 0; cmdPtr->compileProc = NULL; cmdPtr->objProc = proc; cmdPtr->objClientData = clientData; cmdPtr->proc = NULL; cmdPtr->clientData = cmdPtr; cmdPtr->deleteProc = deleteProc; cmdPtr->deleteData = clientData; cmdPtr->flags = 0; cmdPtr->importRefPtr = NULL; cmdPtr->tracePtr = NULL; cmdPtr->nreProc = NULL; |
︙ | ︙ | |||
2993 2994 2995 2996 2997 2998 2999 | */ result = cmdPtr->proc(cmdPtr->clientData, interp, objc, argv); TclStackFree(interp, (void *) argv); return result; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 | */ result = cmdPtr->proc(cmdPtr->clientData, interp, objc, argv); TclStackFree(interp, (void *) argv); return result; } /* *---------------------------------------------------------------------- * * TclRenameCommand -- * * Called to give an existing Tcl command a different name. Both the old |
︙ | ︙ |