At 01:18 PM 07/06/2004, Sven Neumann wrote:
We talked about script-fu and tiny-fu at GIMPCon and agreed that we'd
like to see Script-Fu removed from the GIMP source tree as soon as
Tiny-Fu is available as a separate package that can replace it.

The Tiny-Fu tarball can exist in the GIMP source tree just as Script-Fu does now since its of a comparable size. Having it as a separate package would make it easier for others to try it who aren't building GIMP from source.

could happen for GIMP 2.2 provided that Tiny-Fu is ready by that time.

It would be helpful to know of anything that might block this. Other than the lack of support for binary data (ie. it can't work with GIMP parasites) at the moment, and the translation files need to be updated, I think Tiny-Fu is in as good a shape (if not better in some ways) than Script-Fu.

I have a couple of questions about Tiny-Fu.

No, problem. I don't really have an FAQ yet so your questions can help me create one.

(1) Is Tiny-Fu supposed to run scripts written for Script-Fu?

The answer is yes, however...

I wanted to keep Script-Fu on my machine while working on Tiny-Fu. As a result, I had to make them co-exist. The scripts run by Tiny-Fu must end in .sct rather than .scm as they do for Script-Fu. Also, any references to Script-Fu in scripts must be changed to Tiny-Fu (preserving case).

Once those changes have been done, some scripts will work as is. Some scripts need to have variables defined before first use. Some scripts (especially those that work with GIMP parasites, use arrays, or use features of Scheme unique to the SIOD interpreter) will need other changes. The web page contains some information about updating a Script-Fu script for use with Tiny-Fu.

If so,
    will this be some kind of compatibility layer or perhaps just a
    script that helps to convert old scripts?

A script could be created to handle the simpler changes required to make a Script-Fu script work with Tiny-Fu but some scripts will still require changes to be made by hand.

(2) Is Tiny-Fu supposed to run as a permanent extension like the
    current Script-Fu implementation or will it start a new
    interpreter when needed and exit when the script is done?

I made a full copy of Script-Fu as the starting point for Tiny-Fu. It currently works just like Script-Fu does but that doesn't meant it can't (or won't) change in the future.

(3) Somewhat related to question (2), will Tiny-Fu allow scripts to be
    run concurrently?
 That would put more pressure on making the
    core reentrant.

This quote from the TinyScheme authors web site might help. "As an embedded interpreter, it [TinyScheme] allows multiple interpreter states to coexist in the same program, without any interference between them."

With the recent changes to GIMP regarding context and the fact I access all features of the TinyScheme interpreter via its interface mechanism, it should be possible to have scripts run concurrently.


Kevin.  (

Owner of Elecraft K2 #2172        |"What are we going to do today, Borg?"
E-mail:kcozens at interlog dot com|"Same thing we always do, Pinkutus:
Packet:[EMAIL PROTECTED]|  Try to assimilate the world!"
#include <disclaimer/favourite>   |              -Pinkutus & the Borg

Gimp-developer mailing list

Reply via email to