On Fri, 13 Oct 2006 11:42:25 -0400, Kevin Cozens <[EMAIL PROTECTED]> wrote:
> My source tree of CVS GIMP now contains a Tiny-Fu'd version of Script-Fu. The
> changes are available as patch files ready to be reviewed. I am now waiting on
> a final ok before the changes will be commited to CVS.

Consider this to be a conditional OK from my side.  I have discovered a
number of bugs in your patches, but they can be fixed easily so I trust
you for fixing them before committing them.

> Sven suggested I provide the URL to where I have placed information and 
> patches regarding updating Script-Fu as some other people may wish to review 
> the changes.
> The URL is http://www.interlog.com/~kcozens/software/gimp/patches/.
> At that location you will find a README file and three patches. The README 
> file contains some basic information about the patch files and how they are 
> to 
> be used. As stated in the README, you will also need three directories and a 
> few other files from Tiny-Fu. The total size of the patch files is about 928k.

Anybody who tries to apply these patches would be well advised to pay close
attention to the README file first.  ;-)  Maybe it will be updated to cover
some of the points that I will mention in this message, but for the moment
you also have to take care of the following:
- script-fu.patch and wrapper.patch have to be applied from one level above
  your top gimp dir, or from the top dir using "-p1"
- But scripts.patch should be applied from within plug-ins/script-fu/scripts
- The README does not mention that you also have to copy contactsheet.scm,
  tiny-fu-set-cmap.scm, ts-helloworld.scm from tiny-fu's scripts dir (and
  rename tinu-fu=* to script-fu-*)
- You have to run "make" at least once from the top-level directory so that
  configure rebuilds your Makefiles (if you are in maintainer mode).  You can
  also re-rerun autogen.sh.

Once this is done, you will probably discover a couple of bugs (they might
be fixed by the time you read this):
- gimp-labels.scm is missing a quote at the end of lines 130 and 145
- sota-chrome-logo.scm has a "e" instead of "(" before line 200
- Some scripts such as waves-anim.scm or spinning-globe.scm do not
  initialize some variables that should be initialized to 0.  When you
  run them, you will get an error saying that ">" or "<" is used with
  an argument that is not numeric.  This is easy to fix by searching for
  the operation ">" or "<" and making sure that the variable is correctly
  initialized to 0.

Regarding the latter bug (which occurs in more than one file), this is also
related to a stylistic change that I do not like very much.  Basically,
declarations like this:
  (let ((var1 (expr1))
        (var2 (expr2)
were rewritten in the following way:
  (let ((var1)
   (set! var1 (expr1))
   (set! var2 (expr2))
I prefer the old style, especially when the expressions are relatively
short.  This didn't worry very much when these changes were in Tiny-Fu CVS
because I thought that it would be changed back later, but now it looks like
these changes are here to stay.  The old style makes the code more compact
and easier to read (IMHO).  Besides, my old LISP professor told me to avoid
(set! ...) whenever possible and claimed that LISP machines worked better
when the declarations were in the (let ...).  I have never verified that
dubious claim, but I still try to avoid set! whenever possible.

Anyway, I assume that these bugs will be fixed soon because most of them are
rather minor.  Once they have fixed, you have my OK for committing (unless
someone else objects).  I will probably be away for about one week so I will
not be able to comment further on this in the next few days.

Gimp-developer mailing list

Reply via email to