#351 TIP 181 (namespace unknown) implementation

TIP Implementation
closed-accepted
7
2006-02-22
2004-05-21
Neil Madden
No

Reference implementation of TIP 181 [namespace unknown],
including test suite (needs work) and documentation. Passes test
suite on Mac OS X.

Discussion

1 2 > >> (Page 1 of 2)
  • Neil Madden

    Neil Madden - 2004-05-21

    First stab reference implementation of TIP 181

     
  • Nobody/Anonymous

    New, improved, patch with added correctness.

     
  • Neil Madden

    Neil Madden - 2004-07-03

    Handfull of improvements and some changes to the TIP

     
  • Neil Madden

    Neil Madden - 2005-06-13

    Updated patch with public C-API

     
  • Neil Madden

    Neil Madden - 2005-06-13

    Logged In: YES
    user_id=102050

    Latest patch tip181-4.patch will hopefully be the last -- now includes
    documentation and C-API (+stubs etc). Passes test-suite.

     
  • Neil Madden

    Neil Madden - 2006-01-18

    Updated to current HEAD

     
  • Neil Madden

    Neil Madden - 2006-01-18

    Logged In: YES
    user_id=102050

    Updated patch to latest CVS HEAD -- tip181-5.patch is now
    the current version.

     
  • Neil Madden

    Neil Madden - 2006-01-18

    Fixed bug in Tcl_NamespaceDelete handling

     
  • Neil Madden

    Neil Madden - 2006-01-18

    Logged In: YES
    user_id=102050

    Fixed bug in the patch where Tcl_NamespaceDelete was
    decrementing the reference count on the unknownHandlerPtr of
    the namespace but not then setting it to NULL. This resulted
    in a later double free and possible segmentation fault under
    certain conditions, such as those produced by
    autoMkindex.test. Added a new test for this condition.
    Thanks to Donald Porter for pointing out problem.
    tip181-6.patch is the latest.

     
  • Don Porter

    Don Porter - 2006-02-01

    Logged In: YES
    user_id=80530

    Updated patch to HEAD.

     
  • Don Porter

    Don Porter - 2006-02-01
     
  • Don Porter

    Don Porter - 2006-02-01
    • assigned_to: msofer --> dgp
    • status: open --> closed-accepted
     
  • Don Porter

    Don Porter - 2006-02-01

    Logged In: YES
    user_id=80530

    958222.patch committed for 8.5a4

     
  • Don Porter

    Don Porter - 2006-02-09
    • assigned_to: dgp --> tallniel
     
  • Don Porter

    Don Porter - 2006-02-09

    Logged In: YES
    user_id=80530

    In the routine TclEvalObjvInternal,
    the Tcl_Obj's newObjv[1] through
    newObjv[handlerObj-1] do not have
    their refcounts bumped before the
    recursive call to TEOI. Looks unsafe
    to me.

     
  • Don Porter

    Don Porter - 2006-02-09
    • priority: 5 --> 7
     
  • Don Porter

    Don Porter - 2006-02-09

    Logged In: YES
    user_id=80530

    while merging with dgp-refactor
    branch, the question arose whether
    this patch is properly handling
    the TCL_EVAL_INVOKE and/or
    TCL_EVAL_GLOBAL cases. Needs a
    careful check, and possibly new
    tests.

     
  • Don Porter

    Don Porter - 2006-02-10

    Logged In: YES
    user_id=80530

    When the elements of the
    unknownHandlerPtr are retrieved
    within TclEvalObjvInternal, there's
    a check for valid list, and return
    of TCL_ERROR if not.

    This should not be possible. Valid
    list checks are done during storage
    of the handler value. I think it
    would be better either to not check
    for the error condition, or to check
    and react to it with a Tcl_Panic.

    As is, I think the error message
    and ::errorInfo would not be helpful
    at all.

     
  • Neil Madden

    Neil Madden - 2006-02-10

    Logged In: YES
    user_id=102050

    I wasn't sure about bumping the refcounts of the other
    elements of the unknownHandler. The safest thing to do would
    be to put the increments in.

    Regarding TCL_EVAL_DIRECT/GLOBAL, I'm not sure what is the
    correct behaviour with these flags. The current code was a
    best guess based on what was already there. Certainly, it
    could stand some reviewing.

    You are correct that the unknown handler cannot possibly be
    anything other than a valid list (or NULL). The check can be
    changed to a panic, or removed entirely.

     
  • Don Porter

    Don Porter - 2006-02-10
    • status: closed-accepted --> open-accepted
     
  • Don Porter

    Don Porter - 2006-02-10

    Logged In: YES
    user_id=80530

    Attaching supplemental patch
    addressing these issues.

    I won't commit this until I
    construct tests for the test
    suite that demo its effects.

     
  • Don Porter

    Don Porter - 2006-02-21

    Logged In: YES
    user_id=80530

    Updated patch includes more
    [namespace unknown] tests
    that illustrate the bugs fixed
    by the supplemental patch.

    please review.

    still needs trace tests.

     
  • Don Porter

    Don Porter - 2006-02-22

    Logged In: YES
    user_id=80530

    The issues with execution traces
    properly dealing with the
    TCL_EVAL_* flag values are much
    more difficult to address, and
    they're really orthogonal to
    the new [namespace unknown]
    command.

    Revised patch is limited to
    fixing [namespace unknown] bugs.
    A separate bug report will be
    filed for the trace issues.

     
  • Don Porter

    Don Porter - 2006-02-22
     
  • Don Porter

    Don Porter - 2006-02-22
    • assigned_to: tallniel --> dgp
    • status: open-accepted --> closed-accepted
     
1 2 > >> (Page 1 of 2)