diff options
| author | dkf <donal.k.fellows@manchester.ac.uk> | 2025-06-23 07:39:13 (GMT) |
|---|---|---|
| committer | dkf <donal.k.fellows@manchester.ac.uk> | 2025-06-23 07:39:13 (GMT) |
| commit | 2d48fa2684a8c71b0267f65e8d35a2bc982318a9 (patch) | |
| tree | 7b2c1b70fe7593cebcf31be08ad19a6963fcee44 | |
| parent | c8a2ab1879d3110cf0068aff74b93d2d5801284f (diff) | |
| download | tcl-2d48fa2684a8c71b0267f65e8d35a2bc982318a9.zip tcl-2d48fa2684a8c71b0267f65e8d35a2bc982318a9.tar.gz tcl-2d48fa2684a8c71b0267f65e8d35a2bc982318a9.tar.bz2 | |
Mark some commands as needing bytecode compilation. Capitalise some function names to follow Tcl style
| -rw-r--r-- | generic/tclBasic.c | 62 | ||||
| -rw-r--r-- | generic/tclExecute.c | 11 | ||||
| -rw-r--r-- | generic/tclIOUtil.c | 4 | ||||
| -rw-r--r-- | generic/tclTrace.c | 38 |
4 files changed, 58 insertions, 57 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index e5ec22c..9aeaf5b 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -296,7 +296,7 @@ typedef struct { */ static int -procObjCmd( +ProcObjCmd( void *clientData, Tcl_Interp *interp, int objc, @@ -307,7 +307,7 @@ procObjCmd( static const CmdInfo builtInCmds[] = { /* - * Commands in the generic core. + * Commands in the generic core. All are safe. */ {"append", Tcl_AppendObjCmd, TclCompileAppendCmd, NULL, CMD_IS_SAFE}, @@ -333,13 +333,13 @@ static const CmdInfo builtInCmds[] = { {"join", Tcl_JoinObjCmd, NULL, NULL, CMD_IS_SAFE}, {"lappend", Tcl_LappendObjCmd, TclCompileLappendCmd, NULL, CMD_IS_SAFE|CMD_COMPILES_EXPANDED}, {"lassign", Tcl_LassignObjCmd, TclCompileLassignCmd, NULL, CMD_IS_SAFE}, - {"ledit", Tcl_LeditObjCmd, NULL, NULL, CMD_IS_SAFE}, + {"ledit", Tcl_LeditObjCmd, NULL, NULL, CMD_IS_SAFE}, // TODO: compile {"lindex", Tcl_LindexObjCmd, TclCompileLindexCmd, NULL, CMD_IS_SAFE}, {"linsert", Tcl_LinsertObjCmd, TclCompileLinsertCmd, NULL, CMD_IS_SAFE}, {"list", Tcl_ListObjCmd, TclCompileListCmd, NULL, CMD_IS_SAFE|CMD_COMPILES_EXPANDED}, {"llength", Tcl_LlengthObjCmd, TclCompileLlengthCmd, NULL, CMD_IS_SAFE}, {"lmap", Tcl_LmapObjCmd, TclCompileLmapCmd, TclNRLmapCmd, CMD_IS_SAFE}, - {"lpop", Tcl_LpopObjCmd, NULL, NULL, CMD_IS_SAFE}, + {"lpop", Tcl_LpopObjCmd, NULL, NULL, CMD_IS_SAFE}, // TODO: compile {"lrange", Tcl_LrangeObjCmd, TclCompileLrangeCmd, NULL, CMD_IS_SAFE}, {"lremove", Tcl_LremoveObjCmd, NULL, NULL, CMD_IS_SAFE}, {"lrepeat", Tcl_LrepeatObjCmd, NULL, NULL, CMD_IS_SAFE}, @@ -350,7 +350,7 @@ static const CmdInfo builtInCmds[] = { {"lset", Tcl_LsetObjCmd, TclCompileLsetCmd, NULL, CMD_IS_SAFE}, {"lsort", Tcl_LsortObjCmd, NULL, NULL, CMD_IS_SAFE}, {"package", Tcl_PackageObjCmd, NULL, TclNRPackageObjCmd, CMD_IS_SAFE}, - {"proc", procObjCmd, NULL, NULL, CMD_IS_SAFE}, + {"proc", ProcObjCmd, NULL, NULL, CMD_IS_SAFE}, {"regexp", Tcl_RegexpObjCmd, TclCompileRegexpCmd, NULL, CMD_IS_SAFE}, {"regsub", Tcl_RegsubObjCmd, TclCompileRegsubCmd, NULL, CMD_IS_SAFE}, {"rename", Tcl_RenameObjCmd, NULL, NULL, CMD_IS_SAFE}, @@ -365,7 +365,7 @@ static const CmdInfo builtInCmds[] = { {"trace", Tcl_TraceObjCmd, NULL, NULL, CMD_IS_SAFE}, {"try", Tcl_TryObjCmd, TclCompileTryCmd, TclNRTryObjCmd, CMD_IS_SAFE}, {"unset", Tcl_UnsetObjCmd, TclCompileUnsetCmd, NULL, CMD_IS_SAFE}, - {"uplevel", Tcl_UplevelObjCmd, NULL, TclNRUplevelObjCmd, CMD_IS_SAFE}, + {"uplevel", Tcl_UplevelObjCmd, NULL, TclNRUplevelObjCmd, CMD_IS_SAFE}, // TODO: compile {"upvar", Tcl_UpvarObjCmd, TclCompileUpvarCmd, NULL, CMD_IS_SAFE}, {"variable", Tcl_VariableObjCmd, TclCompileVariableCmd, NULL, CMD_IS_SAFE}, {"while", Tcl_WhileObjCmd, TclCompileWhileCmd, TclNRWhileObjCmd, CMD_IS_SAFE}, @@ -647,7 +647,7 @@ TclFinalizeEvaluation(void) /* *---------------------------------------------------------------------- * - * buildInfoObjCmd -- + * BuildInfoObjCmd -- * * Implements tcl::build-info command. * @@ -661,7 +661,7 @@ TclFinalizeEvaluation(void) */ static int -buildInfoObjCmd2( +BuildInfoObjCmd2( void *clientData, Tcl_Interp *interp, /* Current interpreter. */ Tcl_Size objc, /* Number of arguments. */ @@ -773,13 +773,13 @@ buildInfoObjCmd2( } static int -buildInfoObjCmd( +BuildInfoObjCmd( void *clientData, Tcl_Interp *interp, /* Current interpreter. */ int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { - return buildInfoObjCmd2(clientData, interp, objc, objv); + return BuildInfoObjCmd2(clientData, interp, objc, objv); } /* @@ -1322,9 +1322,9 @@ Tcl_CreateInterp(void) Tcl_PkgProvideEx(interp, "tcl", TCL_PATCH_LEVEL, &tclStubs); Tcl_CmdInfo info2; Tcl_Command buildInfoCmd = Tcl_CreateObjCommand(interp, "::tcl::build-info", - buildInfoObjCmd, (void *)version, NULL); + BuildInfoObjCmd, (void *)version, NULL); Tcl_GetCommandInfoFromToken(buildInfoCmd, &info2); - info2.objProc2 = buildInfoObjCmd2; + info2.objProc2 = BuildInfoObjCmd2; info2.objClientData2 = (void *)version; Tcl_SetCommandInfoFromToken(buildInfoCmd, &info2); @@ -2721,7 +2721,7 @@ typedef struct { } CmdWrapperInfo; static int -cmdWrapperProc( +CmdWrapperProc( void *clientData, Tcl_Interp *interp, int objc, @@ -2735,7 +2735,7 @@ cmdWrapperProc( } static void -cmdWrapperDeleteProc( +CmdWrapperDeleteProc( void *clientData) { CmdWrapperInfo *info = (CmdWrapperInfo *) clientData; @@ -2771,8 +2771,8 @@ Tcl_CreateObjCommand2( info->deleteData = clientData; return Tcl_CreateObjCommand(interp, cmdName, - (proc ? cmdWrapperProc : NULL), - info, cmdWrapperDeleteProc); + (proc ? CmdWrapperProc : NULL), + info, CmdWrapperDeleteProc); } Tcl_Command @@ -3290,7 +3290,7 @@ Tcl_SetCommandInfo( */ static int -invokeObj2Command( +InvokeObj2Command( void *clientData, /* Points to command's Command structure. */ Tcl_Interp *interp, /* Current interpreter. */ Tcl_Size objc, /* Number of arguments. */ @@ -3312,7 +3312,7 @@ invokeObj2Command( } static int -cmdWrapper2Proc( +CmdWrapper2Proc( void *clientData, Tcl_Interp *interp, Tcl_Size objc, @@ -3354,10 +3354,10 @@ Tcl_SetCommandInfoFromToken( } cmdPtr->objClientData = infoPtr->objClientData; } - if (cmdPtr->deleteProc == cmdWrapperDeleteProc) { + if (cmdPtr->deleteProc == CmdWrapperDeleteProc) { CmdWrapperInfo *info = (CmdWrapperInfo *) cmdPtr->deleteData; if (infoPtr->objProc2 == NULL) { - info->proc = invokeObj2Command; + info->proc = InvokeObj2Command; info->clientData = cmdPtr; info->nreProc = NULL; } else { @@ -3370,14 +3370,14 @@ Tcl_SetCommandInfoFromToken( info->deleteProc = infoPtr->deleteProc; info->deleteData = infoPtr->deleteData; } else { - if ((infoPtr->objProc2 != NULL) && (infoPtr->objProc2 != cmdWrapper2Proc)) { + if ((infoPtr->objProc2 != NULL) && (infoPtr->objProc2 != CmdWrapper2Proc)) { CmdWrapperInfo *info = (CmdWrapperInfo *)Tcl_Alloc(sizeof(CmdWrapperInfo)); info->proc = infoPtr->objProc2; info->clientData = infoPtr->objClientData2; info->nreProc = NULL; info->deleteProc = infoPtr->deleteProc; info->deleteData = infoPtr->deleteData; - cmdPtr->deleteProc = cmdWrapperDeleteProc; + cmdPtr->deleteProc = CmdWrapperDeleteProc; cmdPtr->deleteData = info; } else { cmdPtr->deleteProc = infoPtr->deleteProc; @@ -3461,19 +3461,19 @@ Tcl_GetCommandInfoFromToken( infoPtr->objClientData = cmdPtr->objClientData; infoPtr->proc = cmdPtr->proc; infoPtr->clientData = cmdPtr->clientData; - if (cmdPtr->deleteProc == cmdWrapperDeleteProc) { + if (cmdPtr->deleteProc == CmdWrapperDeleteProc) { CmdWrapperInfo *info = (CmdWrapperInfo *)cmdPtr->deleteData; infoPtr->deleteProc = info->deleteProc; infoPtr->deleteData = info->deleteData; infoPtr->objProc2 = info->proc; infoPtr->objClientData2 = info->clientData; - if (cmdPtr->objProc == cmdWrapperProc) { + if (cmdPtr->objProc == CmdWrapperProc) { infoPtr->isNativeObjectProc = 2; } } else { infoPtr->deleteProc = cmdPtr->deleteProc; infoPtr->deleteData = cmdPtr->deleteData; - infoPtr->objProc2 = cmdWrapper2Proc; + infoPtr->objProc2 = CmdWrapper2Proc; infoPtr->objClientData2 = cmdPtr; } infoPtr->namespacePtr = (Tcl_Namespace *) cmdPtr->nsPtr; @@ -8457,7 +8457,7 @@ Tcl_NRCallObjProc( } static int -wrapperNRObjProc( +WrapperNRObjProc( void *clientData, Tcl_Interp *interp, int objc, @@ -8491,7 +8491,7 @@ Tcl_NRCallObjProc2( info->clientData = clientData; info->proc = objProc; - TclNRAddCallback(interp, Dispatch, wrapperNRObjProc, info, + TclNRAddCallback(interp, Dispatch, WrapperNRObjProc, info, INT2PTR(objc), objv); return TclNRRunCallbacks(interp, TCL_OK, rootPtr); } @@ -8525,7 +8525,7 @@ Tcl_NRCallObjProc2( */ static int -cmdWrapperNreProc( +CmdWrapperNreProc( void *clientData, Tcl_Interp *interp, int objc, @@ -8566,9 +8566,9 @@ Tcl_NRCreateCommand2( info->deleteProc = deleteProc; info->deleteData = clientData; return Tcl_NRCreateCommand(interp, cmdName, - (proc ? cmdWrapperProc : NULL), - (nreProc ? cmdWrapperNreProc : NULL), - info, cmdWrapperDeleteProc); + (proc ? CmdWrapperProc : NULL), + (nreProc ? CmdWrapperNreProc : NULL), + info, CmdWrapperDeleteProc); } Tcl_Command diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 4f7557a..ed1563d 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -719,7 +719,7 @@ static Tcl_Obj ** GrowEvaluationStack(ExecEnv *eePtr, size_t growth, static void IllegalExprOperandType(Tcl_Interp *interp, const char *ord, const unsigned char *pc, Tcl_Obj *opndPtr); static void InitByteCodeExecution(Tcl_Interp *interp); -static inline int wordSkip(void *ptr); +static inline int WordSkip(void *ptr); static void ReleaseDictIterator(Tcl_Obj *objPtr); /* Useful elsewhere, make available in tclInt.h or stubs? */ static Tcl_Obj ** StackAllocWords(Tcl_Interp *interp, size_t numWords); @@ -1005,13 +1005,12 @@ TclFinalizeExecution(void) (TCL_ALLOCALIGN/sizeof(Tcl_Obj *)) /* - * wordSkip computes how many words have to be skipped until the next aligned + * WordSkip computes how many words have to be skipped until the next aligned * word. Note that we are only interested in the low order bits of ptr, so * that any possible information loss in PTR2INT is of no consequence. */ - static inline int -wordSkip( +WordSkip( void *ptr) { int mask = TCL_ALLOCALIGN - 1; @@ -1024,7 +1023,7 @@ wordSkip( */ #define MEMSTART(markerPtr) \ - ((markerPtr) + wordSkip(markerPtr)) + ((markerPtr) + WordSkip(markerPtr)) /* *---------------------------------------------------------------------- @@ -1070,7 +1069,7 @@ GrowEvaluationStack( #ifndef PURIFY } else { Tcl_Obj **tmpMarkerPtr = esPtr->tosPtr + 1; - int offset = wordSkip(tmpMarkerPtr); + int offset = WordSkip(tmpMarkerPtr); if (needed + offset < 0) { /* diff --git a/generic/tclIOUtil.c b/generic/tclIOUtil.c index a3ac6f3..ff56d5d 100644 --- a/generic/tclIOUtil.c +++ b/generic/tclIOUtil.c @@ -3093,7 +3093,7 @@ Tcl_FSLoadFile( #endif static int -skipUnlink( +SkipUnlink( Tcl_Obj *shlibFile) { /* @@ -3344,7 +3344,7 @@ Tcl_LoadFile( * and it avoids leaving the copy laying around after exit. */ - if (!skipUnlink(copyToPtr) && + if (!SkipUnlink(copyToPtr) && (Tcl_FSDeleteFile(copyToPtr) == TCL_OK)) { Tcl_DecrRefCount(copyToPtr); diff --git a/generic/tclTrace.c b/generic/tclTrace.c index 7aa31dd..05eb7e2 100644 --- a/generic/tclTrace.c +++ b/generic/tclTrace.c @@ -81,21 +81,22 @@ typedef struct { * an internal trace. * The flag 'TCL_TRACE_DESTROYED' may also be used in command execution traces. */ - -#define TCL_TRACE_ENTER_DURING_EXEC 4 -#define TCL_TRACE_LEAVE_DURING_EXEC 8 -#define TCL_TRACE_ANY_EXEC 15 -#define TCL_TRACE_EXEC_IN_PROGRESS 0x10 -#define TCL_TRACE_EXEC_DIRECT 0x20 +enum TraceCommandInfoFlags { + TCL_TRACE_ENTER_DURING_EXEC = TCL_TRACE_ENTER_EXEC << 2, + TCL_TRACE_LEAVE_DURING_EXEC = TCL_TRACE_LEAVE_EXEC << 2, + TCL_TRACE_ANY_EXEC = 15, + TCL_TRACE_EXEC_IN_PROGRESS = 0x10, + TCL_TRACE_EXEC_DIRECT = 0x20 +}; /* * Forward declarations for functions defined in this file: */ -enum traceOptionsEnum { +typedef enum TraceOptions { TRACE_ADD, TRACE_INFO, TRACE_REMOVE -}; -typedef int (Tcl_TraceTypeObjCmd)(Tcl_Interp *interp, enum traceOptionsEnum optionIndex, +} TraceOptions; +typedef int (Tcl_TraceTypeObjCmd)(Tcl_Interp *interp, TraceOptions optionIndex, Tcl_Size objc, Tcl_Obj *const objv[]); static Tcl_TraceTypeObjCmd TraceVariableObjCmd; @@ -196,7 +197,7 @@ Tcl_TraceObjCmd( "add", "info", "remove", NULL }; - enum traceOptionsEnum optionIndex; + TraceOptions optionIndex; if (objc < 2) { Tcl_WrongNumArgs(interp, 1, objv, "option ?arg ...?"); @@ -279,7 +280,7 @@ Tcl_TraceObjCmd( static int TraceExecutionObjCmd( Tcl_Interp *interp, /* Current interpreter. */ - enum traceOptionsEnum optionIndex, /* Add, info or remove */ + TraceOptions optionIndex, /* Add, info or remove */ Tcl_Size objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { @@ -530,7 +531,7 @@ TraceExecutionObjCmd( static int TraceCommandObjCmd( Tcl_Interp *interp, /* Current interpreter. */ - enum traceOptionsEnum optionIndex, /* Add, info or remove */ + TraceOptions optionIndex, /* Add, info or remove */ Tcl_Size objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { @@ -728,7 +729,7 @@ TraceCommandObjCmd( static int TraceVariableObjCmd( Tcl_Interp *interp, /* Current interpreter. */ - enum traceOptionsEnum optionIndex, /* Add, info or remove */ + TraceOptions optionIndex, /* Add, info or remove */ Tcl_Size objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { @@ -1997,7 +1998,7 @@ typedef struct { } TraceWrapperInfo; static int -traceWrapperProc( +TraceWrapperProc( void *clientData, Tcl_Interp *interp, Tcl_Size level, @@ -2010,11 +2011,12 @@ traceWrapperProc( if (objc > INT_MAX || objc < 0) { objc = -1; /* Signal Tcl_CmdObjTraceProc that objc is out of range */ } - return info->proc(info->clientData, interp, (int)level, command, commandInfo, (int)objc, objv); + return info->proc(info->clientData, interp, (int)level, command, commandInfo, + (int)objc, objv); } static void -traceWrapperDelProc( +TraceWrapperDelProc( void *clientData) { TraceWrapperInfo *info = (TraceWrapperInfo *)clientData; @@ -2040,8 +2042,8 @@ Tcl_CreateObjTrace( info->delProc = delProc; info->clientData = clientData; return Tcl_CreateObjTrace2(interp, level, flags, - (proc ? traceWrapperProc : NULL), - info, traceWrapperDelProc); + (proc ? TraceWrapperProc : NULL), + info, TraceWrapperDelProc); } Tcl_Trace |
