diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2007-11-24 12:57:53 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2007-11-24 12:57:53 (GMT) |
commit | 4134a8a90f2fea8c9e09365919ac922badbfa14d (patch) | |
tree | 7b7387479bb0cea105b368c78a98202f136320b6 /ChangeLog | |
parent | b7e6cdab2219ace8caafe5823ce83755572e03a7 (diff) | |
download | tcl-4134a8a90f2fea8c9e09365919ac922badbfa14d.zip tcl-4134a8a90f2fea8c9e09365919ac922badbfa14d.tar.gz tcl-4134a8a90f2fea8c9e09365919ac922badbfa14d.tar.bz2 |
Fix stack corruption in [dict append] compiler
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -1,19 +1,23 @@ +2007-11-24 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix bug in [dict + append] compiler which caused strange stack corruption. + 2007-11-23 Andreas Kupries <andreask@activestate.com> - * generic/tclIORChan.c: Fixed a problem with reflected - channels. 'chan postevent' is defined to work only from within - the interpreter containing the handler command. Sensible, we - want only handler commands to use it. It identifies the channel - by handle. The channel moves to a different interpreter or - thread. The interpreter containing the handler command doesn't - know the channel any longer. 'chan postevent' fails, not finding - the channel any longer. Uhm. - - Fixed by creating a second per-interpreter channel table, just - for reflected channels, where each interpreter remembers for - which reflected channels it has the handler command. This info - does not move with the channel itself. The table is updated by - 'chan create', and used by 'chan postevent'. + * generic/tclIORChan.c: Fixed a problem with reflected channels. 'chan + postevent' is defined to work only from within the interpreter + containing the handler command. Sensible, we want only handler + commands to use it. It identifies the channel by handle. The channel + moves to a different interpreter or thread. The interpreter containing + the handler command doesn't know the channel any longer. 'chan + postevent' fails, not finding the channel any longer. Uhm. + + Fixed by creating a second per-interpreter channel table, just for + reflected channels, where each interpreter remembers for which + reflected channels it has the handler command. This info does not move + with the channel itself. The table is updated by 'chan create', and + used by 'chan postevent'. * tests/ioCmd.test: Updated the testsuite. |