• tablelist and Ttrace packages

    From Ralf Fassel@21:1/5 to All on Wed Nov 24 11:42:42 2021
    FYI: I just found that the 'Ttrace' package (provided with TCL, https://www.tcl.tk/man/tcl/ThreadCmd/ttrace.html) interfers with the
    loading of tablelist:
    $ wish8.6
    % package require Thread
    2.8.7
    % package require Ttrace
    2.8.7
    % package require tablelist
    invalid command name "extendConfigSpecs"
    % info patchlevel
    8.6.12

    Whereas loading tablelist first works fine:
    % wish8.6
    % package require tablelist
    6.16
    % package require Thread
    2.8.7
    % package require Ttrace
    2.8.7


    I don't think this is a tablelist issue, since loading Ttrace has other
    strange sideeffects, too:
    $ wish8.6
    % package require Ttrace
    2.8.7
    % set tcl_platform
    can't read "tcl_platform": variable is array
    % parray tcl_platform
    "tcl_platform" isn't an array

    Whereas:
    $ wish8.6
    % set tcl_platform
    can't read "tcl_platform": variable is array
    % parray tcl_platform
    tcl_platform(byteOrder) = littleEndian
    tcl_platform(engine) = Tcl
    tcl_platform(machine) = x86_64
    tcl_platform(os) = Linux
    tcl_platform(osVersion) = 5.3.18-59.27-default
    tcl_platform(pathSeparator) = :
    tcl_platform(platform) = unix
    tcl_platform(pointerSize) = 8
    tcl_platform(threaded) = 1
    tcl_platform(user) = ralf
    tcl_platform(wordSize) = 8

    HTH
    R'

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nemethi@21:1/5 to All on Thu Nov 25 09:40:32 2021
    Am 24.11.21 um 11:42 schrieb Ralf Fassel:
    FYI: I just found that the 'Ttrace' package (provided with TCL, https://www.tcl.tk/man/tcl/ThreadCmd/ttrace.html) interfers with the
    loading of tablelist:
    $ wish8.6
    % package require Thread
    2.8.7
    % package require Ttrace
    2.8.7
    % package require tablelist
    invalid command name "extendConfigSpecs"
    % info patchlevel
    8.6.12

    Whereas loading tablelist first works fine:
    % wish8.6
    % package require tablelist
    6.16
    % package require Thread
    2.8.7
    % package require Ttrace
    2.8.7


    The "package require tablelist" works fine if invoked before loading the
    Ttrace package, but some Tablelist operations (e.g., moving the
    columns), will fail later on.


    I don't think this is a tablelist issue, since loading Ttrace has other strange sideeffects, too:
    $ wish8.6
    % package require Ttrace
    2.8.7
    % set tcl_platform
    can't read "tcl_platform": variable is array
    % parray tcl_platform
    "tcl_platform" isn't an array

    Whereas:
    $ wish8.6
    % set tcl_platform
    can't read "tcl_platform": variable is array
    % parray tcl_platform
    tcl_platform(byteOrder) = littleEndian
    tcl_platform(engine) = Tcl
    tcl_platform(machine) = x86_64
    tcl_platform(os) = Linux
    tcl_platform(osVersion) = 5.3.18-59.27-default
    tcl_platform(pathSeparator) = :
    tcl_platform(platform) = unix
    tcl_platform(pointerSize) = 8
    tcl_platform(threaded) = 1
    tcl_platform(user) = ralf
    tcl_platform(wordSize) = 8

    HTH
    R'


    The bug is in Ttrace. This package renames the unknown proc to
    ::tcl::unknown and provides its own unknown command implementation in
    the file .../lib/thread2.8.7/ttrace.tcl. Line #328 of this file (part
    of the new unknown proc body) reads:

    set c [catch {::eval ::tcl::unknown $args} r]

    This line must be replaced with

    set c [catch {uplevel ::tcl::unknown $args} r]

    After patching the file in this way, everything works as expected.

    I will submit a ticket regarding this bug.

    --
    Csaba Nemethi https://www.nemethi.de mailto:csaba.nemethi@t-online.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nemethi@21:1/5 to All on Thu Nov 25 12:46:47 2021
    Am 25.11.21 um 09:40 schrieb nemethi:
    Am 24.11.21 um 11:42 schrieb Ralf Fassel:
    FYI: I just found that the 'Ttrace' package (provided with TCL,
    https://www.tcl.tk/man/tcl/ThreadCmd/ttrace.html) interfers with the
    loading of tablelist:
         $ wish8.6
         % package require Thread
         2.8.7
         % package require Ttrace
         2.8.7
         % package require tablelist
         invalid command name "extendConfigSpecs"
         % info patchlevel
         8.6.12

    Whereas loading tablelist first works fine:
         % wish8.6
         % package require tablelist
         6.16
         % package require Thread
         2.8.7
         % package require Ttrace
         2.8.7


    The "package require tablelist" works fine if invoked before loading the Ttrace package, but some Tablelist operations (e.g., moving the
    columns), will fail later on.


    I don't think this is a tablelist issue, since loading Ttrace has other
    strange sideeffects, too:
         $ wish8.6
         % package require Ttrace
         2.8.7
         % set tcl_platform
         can't read "tcl_platform": variable is array
         % parray tcl_platform
         "tcl_platform" isn't an array

    Whereas:
         $ wish8.6
         % set tcl_platform
         can't read "tcl_platform": variable is array
         % parray tcl_platform
         tcl_platform(byteOrder)     = littleEndian
         tcl_platform(engine)        = Tcl
         tcl_platform(machine)       = x86_64
         tcl_platform(os)            = Linux
         tcl_platform(osVersion)     = 5.3.18-59.27-default
         tcl_platform(pathSeparator) = :
         tcl_platform(platform)      = unix
         tcl_platform(pointerSize)   = 8
         tcl_platform(threaded)      = 1
         tcl_platform(user)          = ralf
         tcl_platform(wordSize)      = 8

    HTH
    R'


    The bug is in Ttrace.  This package renames the unknown proc to ::tcl::unknown and provides its own unknown command implementation in
    the file .../lib/thread2.8.7/ttrace.tcl.  Line #328 of this file (part
    of the new unknown proc body) reads:

                set c [catch {::eval ::tcl::unknown $args} r]

    This line must be replaced with

                set c [catch {uplevel ::tcl::unknown $args} r]

    After patching the file in this way, everything works as expected.

    I will submit a ticket regarding this bug.


    Done. See

    https://core.tcl-lang.org/thread/tktview/c9b0bd2a8864b1197fbdad3f969f6537591222fe

    --
    Csaba Nemethi https://www.nemethi.de mailto:csaba.nemethi@t-online.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ralf Fassel@21:1/5 to All on Thu Nov 25 18:49:05 2021
    * nemethi <csaba.nemethi@t-online.de>
    | Am 25.11.21 um 09:40 schrieb nemethi:
    | > The bug is in Ttrace.  This package renames the unknown proc to
    | > ::tcl::unknown and provides its own unknown command implementation
    | > in the file .../lib/thread2.8.7/ttrace.tcl.  Line #328 of this file
    | > (part of the new unknown proc body) reads:
    | >
    | >             set c [catch {::eval ::tcl::unknown $args} r]
    | >
    | > This line must be replaced with
    | >
    | >             set c [catch {uplevel ::tcl::unknown $args} r]
    | >
    | > After patching the file in this way, everything works as expected.
    | >
    | > I will submit a ticket regarding this bug.
    | >

    | Done. See

    | https://core.tcl-lang.org/thread/tktview/c9b0bd2a8864b1197fbdad3f969f6537591222fe

    Great, thanks for the analysis and the ticket!

    R'

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From nemethi@21:1/5 to All on Fri Nov 26 12:05:55 2021
    Am 25.11.21 um 18:49 schrieb Ralf Fassel:
    * nemethi <csaba.nemethi@t-online.de>
    | Am 25.11.21 um 09:40 schrieb nemethi:
    | > The bug is in Ttrace.  This package renames the unknown proc to
    | > ::tcl::unknown and provides its own unknown command implementation
    | > in the file .../lib/thread2.8.7/ttrace.tcl.  Line #328 of this file
    | > (part of the new unknown proc body) reads:
    | >
    | >             set c [catch {::eval ::tcl::unknown $args} r]
    | >
    | > This line must be replaced with
    | >
    | >             set c [catch {uplevel ::tcl::unknown $args} r]
    | >
    | > After patching the file in this way, everything works as expected.
    | >
    | > I will submit a ticket regarding this bug.
    | >

    | Done. See

    | https://core.tcl-lang.org/thread/tktview/c9b0bd2a8864b1197fbdad3f969f6537591222fe

    Great, thanks for the analysis and the ticket!

    R'


    The ticket is now closed, with the resolution "Fixed". The bug-fix will
    be contained in the next Ttrace version 2.8.8.

    --
    Csaba Nemethi https://www.nemethi.de mailto:csaba.nemethi@t-online.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)