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'
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.
* 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'
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 285 |
Nodes: | 16 (2 / 14) |
Uptime: | 34:08:48 |
Calls: | 6,449 |
Calls today: | 1 |
Files: | 12,052 |
Messages: | 5,254,995 |