Script fu 'unbound variable' error on arguments

Joe Staines picture Joe Staines · Mar 6, 2014 · Viewed 7.3k times · Source

So i tried to run the batch code from this tutorial: http://www.gimp.org/tutorials/Basic_Batch/

I copied and saved this to the .gimp-2.8 scripts folder

  (define (batch-unsharp-mask pattern
                              radius
                              amount
                              threshold)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE
                                              filename filename)))
                  (drawable (car (gimp-image-get-active-layer image))))
             (plug-in-unsharp-mask RUN-NONINTERACTIVE
                                   image drawable radius amount threshold)
             (gimp-file-save RUN-NONINTERACTIVE
                             image drawable filename filename)
             (gimp-image-delete image))
           (set! filelist (cdr filelist)))))

And ran the command:

gimp-2.8 -i -b '(batch-unsharp-mask "*.png" 5.0 0.5 0)' -b '(gimp-quit 0)'

But i get the error

Error: ( : 1) eval: unbound variable: *.png

This doesn't seem to be a problem with the script; probably the way i am calling it or i am missing something but i cant figure it out.

Answer

mmrtnt picture mmrtnt · Jul 6, 2014

I know it's been four long months, but I was just fighting with a gimp (2.8) script I had written and getting a recurring

batch command experienced an execution error:
Error: ( : 32578) eval: unbound variable: while 

It turns out that, in my haste to consolidate script directories, I had removed the reference to /usr/share/gimp/2.0/scripts. Apparently there's something in that directory that defines "while"

Edit->Preferences->Folders->Scripts