Re: [Gimp-developer] devel docs

2006-10-08 Thread Kevin Cozens

Greetings.

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 

Re: [Gimp-developer] devel docs

2006-09-27 Thread Sven Neumann
Hi,

On Fri, 2006-09-15 at 13:39 +0400, Alexandre Prokoudine wrote:

 As well as I understand, the switch to TinyFu from Script-Fu for 2.4
 is quite possible (considering Tiny-Fu is already shipped with GIMP
 2.3.x for Windows by default).

It is very unlikely that 2.4 will ship with tiny-fu. The next Windows
installer will also not include it any longer. We have had the chance to
do the transition earlier but for various reasons (most of them simply
communication problems), it didn't happen. Now we should give it another
attempt at the beginning of the next development cycle.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] devel docs

2006-09-27 Thread Raphaël Quinet
On Wed, 27 Sep 2006 09:05:52 +0200, Sven Neumann [EMAIL PROTECTED] wrote:
 On Fri, 2006-09-15 at 13:39 +0400, Alexandre Prokoudine wrote:
  As well as I understand, the switch to TinyFu from Script-Fu for 2.4
  is quite possible (considering Tiny-Fu is already shipped with GIMP
  2.3.x for Windows by default).
 
 It is very unlikely that 2.4 will ship with tiny-fu. The next Windows
 installer will also not include it any longer. We have had the chance to
 do the transition earlier but for various reasons (most of them simply
 communication problems), it didn't happen. Now we should give it another
 attempt at the beginning of the next development cycle.

I disagree.  2.4 should definitely ship with Tiny-fu, as it makes
debugging and i18n easier than Script-Fu and it deals with several
features of Scheme in a better way.

You mentioned last week that you wouldn't be against switching to
Tiny-Fu in 2.4 if the remaining problems (mainly the namespace issues)
could be solved in time.  It looks like Kevin had been previously
discouraged from fixing these problems because there were
communication problems between you and him.  But now he has taken the
time to work on these changes: you will notice that Tiny-Fu can now
read *.scm scripts instead of *.sct.  I suppose that it will not take
long until Tiny-Fu can process most Script-Fu scripts unmodified
(e.g., handling script-fu-register and so on).

Since a few days ago, Tiny-Fu is now a replacement for Script-Fu
instead of being simply something that can be installed on the side:
it uses the same namespace now.  I have already started building my
GIMP with --disable-script-fu and I see that Tiny-Fu works well (as it
did before, but then it was using its own namespace).  There are still
some minor issues with old third-party scripts because the transition
from the tiny-fu to the script-fu namespace is not finished yet, but
it already works well.  And I trust Kevin for finishing the renaming
soon.

Please do not block Tiny-Fu again.  It is more mature and more stable
than several other pieces of code that have been introduced in CVS in
the last weeks.  If it can run most of the old scripts unmodified,
there is really no reason to delay this long overdue replacement of
Script-Fu.  The Windows installer has shown the right way, let's
follow it for all platforms.

-Raphaël
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] devel docs

2006-09-27 Thread Sven Neumann
Hi,

On Wed, 2006-09-27 at 15:27 +0200, Raphaël Quinet wrote:

 You mentioned last week that you wouldn't be against switching to
 Tiny-Fu in 2.4 if the remaining problems (mainly the namespace issues)
 could be solved in time.  It looks like Kevin had been previously
 discouraged from fixing these problems because there were
 communication problems between you and him.  But now he has taken the
 time to work on these changes: you will notice that Tiny-Fu can now
 read *.scm scripts instead of *.sct.  I suppose that it will not take
 long until Tiny-Fu can process most Script-Fu scripts unmodified
 (e.g., handling script-fu-register and so on).

Kevin should then tell us about this. He has not been discouraged to do
those changes. I rather had the impression that he didn't want to do
those changes because he seemed to have a different vision for tiny-fu.
I believe that he doesn't want it to replace Script-Fu but I am willing
to change my mind if he declares that this is the goal. We can then
discuss the timeframe and implementation details of such a change.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] devel docs

2006-09-26 Thread Alexander Rabtchevich
	I can foresee the next situation with the Gimp 2.4 appearing: a good 
deal of people asking, why all their scripts do not work anymore. And 
most of that poor users took these scripts from the official 
registry.gimp.org. Nobody is guilty, but the users suffer.


	If there is a strong intent to replace script-fu by tiny-fu, there 
should be some decision made in advance how to handle the upcoming 
incompatibility. There can be several steps done _before_the_fact_:
1. Of course, a well visible item at the download page about the 
incompatibility.
2. Anyway, short and understandable howto describing rewriting rules of 
Gimp script-fu scripts into tiny-fu, even automatic translation script 
if it is possible.

3. Mails sent to registry script writers with ask to rewrite their scripts.

The second item is required in any case. It is not very good to replace 
things incompatible without providing users some way to overcome it. Do 
not leave users with their troubles without help!


Just my 5c.

Kevin Cozens wrote:

Alexandre Prokoudine wrote:

Is it planned to provide documentation for script-fu developers to
help them porting their stuff to 2.4, whether the switch to Tiny-Fu
occurs or not? Will there be some updated docs like
http://www.gimp.org/docs/scheme_plugin/ for beginners?


I don't have any current plans to provide any additional documentation 
on porting scripts from Script-Fu to Tiny-Fu other than the basic 
information I already have on the web page. I am considering adding some 
extra information about dealing with the difference in how to work with 
items of type STRING_ARRAY.



What I know is that In Tiny-Fu's CVS repo there is a document that
looks like a draft:
http://cvs.gnome.org/viewcvs/gimp-tiny-fu/tinyscheme/Manual.txt and
it's 23 months old.


That file was part of the original TinyScheme source. It has some useful 
information for script writers. There is a section in the middle that is 
only of interest/use to those people working on programs that want (or 
do) embed TinyScheme in a larger program.





--
With respect
Alexander Rabtchevich
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: *** PROBABLY SPAM *** Re: [Gimp-developer] devel docs

2006-09-26 Thread gg
On Tue, 26 Sep 2006 18:06:19 +0200, Alexander Rabtchevich  
[EMAIL PROTECTED] wrote:


	I can foresee the next situation with the Gimp 2.4 appearing: a good  
deal of people asking, why all their scripts do not work anymore. And  
most of that poor users took these scripts from the official  
registry.gimp.org. Nobody is guilty, but the users suffer.


He who breaks is guilty, surely?

Users should not have to deal with this sort of situation.



	If there is a strong intent to replace script-fu by tiny-fu, there  
should be some decision made in advance how to handle the upcoming  
incompatibility. There can be several steps done _before_the_fact_:
1. Of course, a well visible item at the download page about the  
incompatibility.
2. Anyway, short and understandable howto describing rewriting rules of  
Gimp script-fu scripts into tiny-fu, even automatic translation script  
if it is possible.
3. Mails sent to registry script writers with ask to rewrite their  
scripts.




We see already how messy this could get.

The second item is required in any case. It is not very good to replace  
things incompatible without providing users some way to overcome it. Do  
not leave users with their troubles without help!


Just my 5c.



Linux is already a jungle of dependancy and compatability issues. The  
primary function of the multitudenous distros is to handle this nightmare  
on behalf of thier collective user-base. The situation should not be  
exasperated.


Bringing in such incompatiblities inside a project from one minor release  
to another seems unacceptable to me (as a user).


This will be even less acceptable to Windows users who have always been  
used to the highest level of backwards compatability.





The user should not have to deal with worse than Older format scripts  
have been found on your system, do you want to covert them now?


If that cannot be achieved, either the change should not take place or Fu  
should be retained in parallel until at least Gimp-3.0


[IMHO2c, flame-retarder, etc.]
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] devel docs

2006-09-15 Thread Alexandre Prokoudine

Greetings,

As well as I understand, the switch to TinyFu from Script-Fu for 2.4
is quite possible (considering Tiny-Fu is already shipped with GIMP
2.3.x for Windows by default).

Is it planned to provide documentation for script-fu developers to
help them porting their stuff to 2.4, whether the switch to Tiny-Fu
occurs or not? Will there be some updated docs like
http://www.gimp.org/docs/scheme_plugin/ for beginners?

What I know is that In Tiny-Fu's CVS repo there is a document that
looks like a draft:
http://cvs.gnome.org/viewcvs/gimp-tiny-fu/tinyscheme/Manual.txt and
it's 23 months old.

Thank you in advance, whatever the answer would be

Alexandre
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer