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 | trunk |
Files: | files | file ages | folders |
SHA1: |
2718a160f1117b25724a63ee02b831bb |
User & Date: | dgp 2013-08-14 17:07:00 |
Context
2013-10-22
| ||
04:39 | Merge 2718a16 check-in: c4801d3413 user: dgp tags: dgp-stack-depth-tester | |
2013-08-14
| ||
19:01 | [3610404] Re-resolution of command after enter traces invalidate epoch. Make sure context is such th... check-in: c1bc5483be user: dgp tags: trunk | |
18:44 | merge trunk Closed-Leaf check-in: 0b6624feda user: dgp tags: bug-3610404 | |
18:00 | merge trunk check-in: e3c0cec6ed user: dgp tags: bug-2502002 | |
17:08 | merge trunk check-in: adc0415eea user: dgp tags: dgp-refactor | |
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 | |
12:43 | Arrange for both execution traces and [info frame] to get their pre-subst source strings from a comm... check-in: 3648c59d0d user: dgp tags: trunk | |
Changes
Changes to generic/tclBasic.c.
︙ | ︙ | |||
2168 2169 2170 2171 2172 2173 2174 | * 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: | | < < < < | | 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 | * 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. * |
︙ | ︙ | |||
2241 2242 2243 2244 2245 2246 2247 | hPtr = Tcl_CreateHashEntry(&nsPtr->cmdTable, tail, &isNew); TclInvalidateNsPath(nsPtr); if (!isNew) { cmdPtr = Tcl_GetHashValue(hPtr); /* | < < < < < < < < < < < < < < | | 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 | 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; |
︙ | ︙ | |||
2403 2404 2405 2406 2407 2408 2409 | * structure. It simply turns around and calls the object Tcl_ObjCmdProc * in the Command structure. * * Results: * A standard Tcl string result value. * * Side effects: | | | | 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 | * 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.
︙ | ︙ | |||
1551 1552 1553 1554 1555 1556 1557 | } /* *---------------------------------------------------------------------- * * TestdelCmd -- * | | | | | 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 | } /* *---------------------------------------------------------------------- * * 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.
︙ | ︙ | |||
136 137 138 139 140 141 142 143 144 145 146 147 148 149 | 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} set SAVED_UNKNOWN "proc unknown " append SAVED_UNKNOWN [list [info args unknown.old] [info body unknown.old]] | > > > > > > > | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | 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} set SAVED_UNKNOWN "proc unknown " append SAVED_UNKNOWN [list [info args unknown.old] [info body unknown.old]] |
︙ | ︙ |