Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [a16752c252] Correct failure to call cmd deletion callbacks. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-5-branch |
Files: | files | file ages | folders |
SHA1: |
746ec0f768751b44b743a3f0ec6759b3 |
User & Date: | dgp 2013-08-14 17:02:41 |
Context
2013-08-15
| ||
19:55 | Make sure the errors raised by execution traces become errors raised by the traced command, as docum... check-in: f3fac8ede1 user: dgp tags: core-8-5-branch | |
2013-08-14
| ||
17:07 | [a16752c252] Correct failure to call cmd deletion callbacks. check-in: 2718a160f1 user: dgp tags: trunk | |
17:02 | [a16752c252] Correct failure to call cmd deletion callbacks. check-in: 746ec0f768 user: dgp tags: core-8-5-branch | |
2013-08-11
| ||
14:41 | Never guess non-existing timezone name "America/Brasilia" on Windows. Reported by Arnulf Wiedemann check-in: f04e2881d3 user: jan.nijtmans tags: core-8-5-branch | |
Changes
Changes to generic/tclBasic.c.
︙ | ︙ | |||
1962 1963 1964 1965 1966 1967 1968 | * Define a new object-based command in a command table. * * Results: * The return value is a token for the command, which can be used in * future calls to Tcl_GetCommandName. * * Side effects: | | < < < < | | 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 | * Define a new object-based command in a command table. * * Results: * The return value is a token for the command, which can be used in * future calls to Tcl_GetCommandName. * * Side effects: * If a command named "cmdName" already exists for interp, it is * first deleted. Then the new command is created from the arguments. * * In the future, during bytecode evaluation when "cmdName" is seen as * the name of a command by Tcl_EvalObj or Tcl_Eval, the object-based * Tcl_ObjCmdProc proc will be called. When the command is deleted from * the table, deleteProc will be called. See the manual entry for details * on the calling sequence. * |
︙ | ︙ | |||
2035 2036 2037 2038 2039 2040 2041 | hPtr = Tcl_CreateHashEntry(&nsPtr->cmdTable, tail, &isNew); TclInvalidateNsPath(nsPtr); if (!isNew) { cmdPtr = Tcl_GetHashValue(hPtr); /* | < < < < < < < < < < < < < < | | 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 | hPtr = Tcl_CreateHashEntry(&nsPtr->cmdTable, tail, &isNew); TclInvalidateNsPath(nsPtr); if (!isNew) { cmdPtr = Tcl_GetHashValue(hPtr); /* * Command already exists; delete it. Be careful to preserve any * existing import links so we can restore them down below. That way, * you can redefine a command and its import status will remain * intact. */ oldRefPtr = cmdPtr->importRefPtr; cmdPtr->importRefPtr = NULL; |
︙ | ︙ | |||
2184 2185 2186 2187 2188 2189 2190 | * structure. It simply turns around and calls the object Tcl_ObjCmdProc * in the Command structure. * * Results: * A standard Tcl string result value. * * Side effects: | | | | 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 | * structure. It simply turns around and calls the object Tcl_ObjCmdProc * in the Command structure. * * Results: * A standard Tcl string result value. * * Side effects: * Besides those side effects of the called Tcl_ObjCmdProc, * TclInvokeObjectCommand allocates and frees storage. * *---------------------------------------------------------------------- */ int TclInvokeObjectCommand( ClientData clientData, /* Points to command's Command structure. */ |
︙ | ︙ |
Changes to generic/tclTest.c.
︙ | ︙ | |||
1541 1542 1543 1544 1545 1546 1547 | } /* *---------------------------------------------------------------------- * * TestdelCmd -- * | | | | | 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 | } /* *---------------------------------------------------------------------- * * TestdelCmd -- * * This procedure implements the "testdel" command. It is used * to test calling of command deletion callbacks. * * Results: * A standard Tcl result. * * Side effects: * Creates a command. * *---------------------------------------------------------------------- */ /* ARGSUSED */ static int TestdelCmd( |
︙ | ︙ |
Changes to tests/rename.test.
︙ | ︙ | |||
131 132 133 134 135 136 137 138 139 140 141 142 143 144 | foo alias kill kill testdel foo cmd {set env(value) deleted; kill} list [catch {interp delete foo} msg] $msg $env(value) } {0 {} deleted} if {[info exists env(value)]} { unset env(value) } # Save the unknown procedure which is modified by the following test. catch {rename unknown unknown.old} test rename-5.1 {repeated rename deletion and redefinition of same command} { set SAVED_UNKNOWN "proc unknown " | > > > > > > > | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | foo alias kill kill testdel foo cmd {set env(value) deleted; kill} list [catch {interp delete foo} msg] $msg $env(value) } {0 {} deleted} if {[info exists env(value)]} { unset env(value) } test rename-4.8 {Bug a16752c252} testdel { set x broken testdel {} foo {set x ok} proc foo args {} rename foo {} return -level 0 $x[unset x] } ok # Save the unknown procedure which is modified by the following test. catch {rename unknown unknown.old} test rename-5.1 {repeated rename deletion and redefinition of same command} { set SAVED_UNKNOWN "proc unknown " |
︙ | ︙ |