see Starpal - TCL Development and Starkit generation
20Jan05 jcw - Latest SDX can now be used as library, see [L1 ] for an example.
Duoas Hey there. Recent versions of tcl seem to like the wonky X.YaZ version numbers, which 'package vcompare' can't quite comprehend --> resulting in a crashed tclkit whenever an attempt to source it is made. I've "repaired" my sdx.kit by changing the "sdx.vfs/main.tcl" file to read:
package require starkit # old tclkits have broken "sourced" symlink detection (in their "starkit" pkg) # let SDX work in older ones but don't allow sourcing, which is a new feature if {[starkit::startup] eq "sourced" && [package vcompare [lindex 0 [regsub \[a-z\] [info patchlevel] { }]] 8.4.9] >= 0} return package require app-sdx
The thing I am not sure about is whether I am handling the version number correctly. Should it instead read:
[package vcompare [regsub \[a-z\] [info patchlevel] .] 8.4.9] >= 0} return
In other words, does 8.5a4 == 8.5.4?
Lars H: No, "a" is more like ".-2.", i.e., 8.5a4 < 8.5.0. See TIP#268 [L2 ].
Either way, this needs to be addressed in the sdx.kit distribution.