The script-fu interpreter thinks you are using cond
as a variable and trying to initialize it with some sequence of misformed function calls. It doesn't appear that you need the let*
syntactic form; its syntax is (let ((<name1> <init1>) ...) body1 body2 ...)
. Notice that your code makes cond
appear as name
.
Also, don't forget that cond
is an expression; similar to the C
language <pred> ? <conseqeuent> : <alternate>
. You could thus distill your code to this:
(define (script-fu-prueba edicionInteractiva)
(edicionInteractiva (cond ((equal? edicionInteractiva "Interactivo") RUN-INTERACTIVE)
((equal? edicionInteractiva "No interactivo") RUN-NONINTERACTIVE)
(else (error "edicionInteractiva unknown")))))
Edit: As Óscar López notes, your use of edicionInteractiva
is inconsistent; apparently a string or a function, can't be both.