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.

Release 1.4.5 is out

Just one day after, I need to make another release… Used Tloona today for a small project at work and found some bugs in the new deployment features. So here we have 1.4.5. Nothing new, but a little polish. Most important, the deployment can only be used with Tcl 8.6… with 8.5 it seems that vfs is outdated (and I love the new try … / on … / finally … command!). At the same time I removed 1.4.3 from the download site, you are encouraged to update to 1.4.5 for the bugfixes.

At the same time I found out that the ActiveTcl installation on my ancient MacBook pro was horribly broken, and that I cannot get Tloona to work with wish8.6 from ActiveTcl (tclsh8.6 works). This is only on OSX as it seems, for me Lion. On windows it works with ActiveTcl. On the OSX box however, I get an error when trying to call “wish8.6 Tloona/main.tcl”:

tailcall cannot find the right splicing spot: should not happen!
/usr/local/bin/wish8.6: line 2: 13355 Abort trap: 6           “$(dirname $0)/../../../Library/Frameworks/Tk.framework/Versions/8.6/Resources/Wish.app/Contents/MacOS/Wish” “$@”

Hm, no idea and no time to dig into that. My guess is that it is related to itk4 or itcl4, which both have caused me trouble already last year. These trouble was solved by a package require -exact Itcl 3.4 / Itk 3.4, but maybe I should give 4.0 another try. Somewhen, somewhere…

Any help is appreciated.

Release 1.4.3 is out

This is a bugfix and small enhancements. The version number is stored in a global variable tloona_version in the REPL interpreter. Deployment is easier now via mouse click on the project. If you have written a ReleaseNotes.txt file, which is in a special format, Application Name and version are extracted and presented as default values for deploymen in the form

<ApplicationName>-<version>.kit

The version is also what you get in the REPL.

From now on, releases are deployed as starkits only (which is doubtlessly related to the “right-click deploy” thingy in Tloona itself ;-)). You can run the application with ActiveTcl as usual, since this distribution has starkit capabilities. It will not run with a tclkit I guess, because quite a few dependencies are not included in the starkit. However it is possible to extract the starkit with sdx and run the pure main.tcl script as usual.

About Tloona

Tloona is an IDE for Tcl/Tk. Its main features are a syntax highlighted editor, a code browser and a command “REPL”. Projects are directories with the ending .vfs, which can later be deployed via Tclkits. Procedures, classes etc. can be send to the integrated REPL or to another interpreter via the comm Package. Both of these features are very useful for dynamic development and testing.

The project was inspired by Eclipse and Lisp/SLIME, so the graphical environment is a mixture partly of an Eclipse IDE and the SLIME environment for Emacs. This makes it a very good fit for the development of small to large Tcl/Tk applications, desktop and web. Nevertheless it is also useful for tiny administration scripts.
Tloona is the “next generation” Tcl/Tk, and Itcl/Itk IDE. Some of the features are:

  • Project management for Tcl/Tk applications and extensions
  • Syntax highlighting for both, Tcl and Itcl and Tk/Itk
  • Code completion
  • Code Browser for procs and class hierarchies
  • REPL command console for dynamic evaluation of code definitions (procs, methods, classes, namespaces
  • Ability to send code definitions to other Tcl interpreters

Tloona runs with ActiveTcl 8.4 or 8.5 (http://www.activestate.com/activetcl). The dependencies can be installed via teacup, which can be done with the script “install_dependencies.tcl” in the main directory of Tloona. Then click on “main.tcl” to run the program.

For more info, support and news visit http://sourceforge.net/projects/tloona/.