Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#4020 [info frame] test failures

obsolete: 8.6a0
miguel sofer

After committing Patch 1973096 (compilation of uplevel scripts), tests info-22.3-5 fail. This possibly points to the patch not setting up properly the frame for the newly compiled scripts. The three failures are identical:

==== info-22.3 info frame, current, relative FAILED
==== Contents of test case:

info frame 0

---- Result was:
type eval line 2 cmd {info frame 0} proc ::tcltest::RunTest
---- Result should have been (exact matching):
type eval line 2 cmd {info frame 0}
==== info-22.3 FAILED


  • Don Porter
    Don Porter

    Logged In: YES
    Originator: NO

    Would like this resolved for 8.6a1 release.

  • Don Porter
    Don Porter

    • priority: 5 --> 9
  • Logged In: YES
    Originator: NO

    Further investigation shows that a bug is present, but _not_ in the new patch.
    The bug is in the implementation of [info frame] which restricts the lookup of information for key 'proc' to bytecoded execution instead of doing it in general.
    This is in tclCmdIL.c, line 1184 and lines 1220ff. These two pieces should be run after the whole 'switch' instead of just the TCL_LOCATION_BC branch.

    • priority: 9 --> 5
  • Logged In: YES
    Originator: NO

    Updated the testsuite, the new results are the correct ones.
    Changed code, moving 'proc' lookup after the switch.
    Tested with 'uplevel' (temporarily switched back to eval-direct) that this now does the 'proc' lookup for the eval-direct path as well.
    Passes testsuite for both.
    Committed to head.

    • status: open --> closed-fixed