|
From: SourceForge.net <no...@so...> - 2011-09-22 10:48:51
|
Bugs item #3185009, was opened at 2011-02-17 16:52 Message generated for change (Comment added) made by dkf You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=3185009&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 35. TclOO Package Group: obsolete: 8.6b1.1 >Status: Closed >Resolution: Fixed Priority: 9 Private: No Submitted By: Koen Danckaert (danckaert) Assigned to: Donal K. Fellows (dkf) Summary: TclOO variable unset problem Initial Comment: There is a problem when configuring object variables using objdefine->variable, and unsetting such a variable: oo::object create p oo::objdefine p variable x oo::objdefine p method set {v} {set x $v} oo::objdefine p method unset {} {unset x} oo::objdefine p method exists {} {info exists x} oo::objdefine p method get {} {return $x} p exists ; # returns 0 (ok) p set 7 p exists ; # returns 1 (ok) p get ; # returns 7 (ok) p unset p exists ; # returns 1 (wrong) p get ; # Segmentation fault The above is when running interactively. In non-interactive mode, it already aborts on the second "info exists", with: malformed bucket chain in Tcl_DeleteHashEntry Abort ---------------------------------------------------------------------- >Comment By: Donal K. Fellows (dkf) Date: 2011-09-22 11:48 Message: Confirming that all the fixes are where they need to be; just forgot to close this issue. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2011-03-11 11:48 Message: Fixed in TclOO, but not yet pushed to a public fossil repo. (Need one set up on core.tcl.tk...) ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2011-03-05 01:32 Message: Fixed on HEAD. Needed to maintain a reference to a namespace variable from the TclOO resolver record, and not just a pointer. Keeping open for port to TclOO-as-package. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2011-02-17 23:00 Message: Reproduced. It seems to be something to do with the unset and cleaning up a stack frame. Maybe also with the variable resolver. :-( ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=3185009&group_id=10894 |