I've known for a long time that there will be some differences between
Script-Fu and Tiny-Fu and some of those changes are unavoidable. I have tried
to minimize the number of differences. The script-fu-compat.init file was
created specifically to address some of the differences between the SIOD and
TinyScheme interpreters. Some differences between SIOD and TinyScheme can not
be handled by some compatability routines some SIOD functions are in direct
conflict with the Scheme standards or are extensions of the standard and are
not supported by TinyScheme.
A switch to Tiny-Fu will affect some of the scripts available in the registry
as well as others floating around the net. When this issue was raised in this
thread I took a look at the registry. The registry did not seem to indicate
with which version of GIMP a given Script-Fu script was meant to be used. I
think you will find some scripts in the registry that won't run properly (if
at all) when using Script-Fu and a 2.2 or 2.3/CVS version of GIMP.
Before claiming a given script fails to run due to a switch to Tiny-Fu the
script would need to be tested using Script-Fu and a current version of GIMP.
A number of older scripts (such as ones written for GIMP versions prior to
2.0) will likely fail with Script-Fu and a current version of GIMP and,
therefore, would also fail when run with Tiny-Fu.
In e-mails I have sent in the past, I tried to suggest steps towards a change
to Tiny-Fu that would provide a period of transition where users would be able
to start using Tiny-Fu while still having the ability to use Script-Fu should
someone really need to use Script-Fu. It was only recently that I learned that
the plan was to not provide a transition period.
The switch to Tiny-Fu could be held off until the 3.0 version of GIMP is
released. My guess (based on what I think is the general route to 3.0) is that
a switch to Tiny-Fu would be delayed by as much as another two years. The 2.4
version is coming soon, then 2.6 which will have the SoC projects and other
items that were too late for 2.4, followed by a major shakeup in the code when
GEGL is integrated with GIMP. I would expect this last stage to require the
largest amount of development on the road to 3.0.
Regardless of how and when the change will occur, a notice about the change
should be made in the GIMP release announcement and on the web site. If I can
find a simple script (or portion of a script) that I could see about putting
together an example of how to adapt a script to Tiny-Fu. This still won't help
the users who don't see the notice or don't bother to read it. There will
always be some people who don't pay attention to such notices.
At the moment, there is no way to know a user is running an old script whether
it is being run by Script-Fu or Tiny-Fu. Automatic conversion of a script
to make it work with Tiny-Fu is also something that could not be easily done.
Dealing with issues such as a local variable being accessed as a global are
more easily fixed by hand.
The last message from Sven in this thread is an example of how he and I seem
to have these failures to communicate regarding Tiny-Fu. Reading his comments
would make you think he hasn't read the Tiny-Fu web page or some of the
previous e-mails about Tiny-Fu or that he has simply forgotten some of the
information about it. The web site and some of the e-mails about Tiny-Fu
should have made it clear that my intentions towards Tiny-Fu have always been,
and still remain, that it would be able to (and eventually will) replace
Script-Fu. It has been a long standing question as to exactly how and when
such a change would take place.
I had been discouraged from making the namespace changes to Tiny-Fu in the
past partly due to the communication problems but also due to the resistance
to the idea of pulling Script-Fu out of the GIMP source tree in to a separate
module (which was the plan a couple of years ago).
In order to develop Tiny-Fu I needed to install it alongside Script-Fu in
order to verify that both plug-ins provided identical results when running the
same script. To do that required the use of a different namespace for Tiny-Fu.
Once Tiny-Fu was able to run all of the original Script-Fu scripts and there
was a configuration flag I could use to prevent the building and installation
of Script-Fu it was possible to have Tiny-Fu use the same namespace as
Script-Fu. The changes to the Tiny-Fu source needed to use the same namespace
as Script-Fu have been made. This also means it is no longer possible (or at
the very least, not recommended) to have the Script-Fu and Tiny-Fu plug-ins
installed at the same time in a 2.3/CVS version of GIMP.
Another message thread has started which is suggesting how a change to Tiny-Fu
could be done and that such a change might be accepted for the 2.4 version of
GIMP. I'm not going to get too excited or hopeful about this just yet. I've
been down this road before (twice before IIRC) only to find out a little later
that it was decided to put off the change until a later release.
Stay tuned to gimp-devel to find out if the change will make in to the next
release this time or not. :-)
http://www.interlog.com/~kcozens/ |"What are we going to do today, Borg?"
Owner of Elecraft K2 #2172 |"Same thing we always do, Pinkutus:
| Try to assimilate the world!"
#include <disclaimer/favourite> | -Pinkutus & the Borg
Gimp-developer mailing list