Move to Git & Snit

It seems that recent updates of Tcl 8.6 introduce nasty incompatibilities with Itcl and Itk 3.4. Whenever I try to run Tloona on top of Tcl 8.6 using Itcl/Itk 3.4, the interpreter or tclkit crashes. On my ancient MacBook this crash is something about a “tailcall cannot find the right splicing spot”, on Windows the well known error dialog appears telling that something is wrong in wish application. With Tcl 8.5 there is no problem. And since Tloona is kit-ready on Windows and Mac OSX (contains all binary dependencies) it is advisable to run it with a Tclkit 8.5 on both platforms. This works at least ;-).

Consequently it is time for a decision. Itk is very old and seems not well supported anymore. There is a new version, running with Itcl 4, which itself seems to be built on top of TclOO, but it introduces even more incompatibilities and strange behaviour. I tried to convert Tloona and the core TMW widget set to run with Itk 4, but did not manage to get far. Running on the old 3.4 version is also no option in the long term, I don’t want to chase on Tcl 8.6 with bugfixes in this old version (don’t have the time either. So I choose to move over to snit . It is not very actively developed, but it seems stable and well documented. I think there is even a version now on top of TclOO, or at least there can be built one very easily.

However, this move is not done in one shot from today to tomorrow. Itk is deeply entangled within Tloona, being the framework I counted on in the past because I knew it best. The snit parser is quite fresh in Tloona, I just enhanced it in latest (not official) versions. It cannot be done at once either, I have to take small step. So after enhancingthe snit parser, I will start to work on a branch and slowly convert the TMW widgets to snit::widget’s. Once all of that is done, Tloona is ready to run on Tcl 8.6… not earlier. Meanwhile you can continue to use Tloona with Tcl/Tclkit 8.5.

Ah apropos branch: I moved over from SVN to Git on sourceforge. This makes the branching easier… and a lot of other things too.