Not close bracket. I think this mistake many people did. If too much left bracket used, declared
variable treated error, and if too much right bracket used, in script-fu menu scm name doesn't come out.
Declared variable is too few. Message is "too few arguments". If used plug-ins variable is too few,
it's an error.
Syntax error. Message is "bad function".
Example
(if (= a 0) set! (a 1))
The right answer
(if (= a 0) (set! a 1))
About gimp2.6, if "Bad syntax of binding spec in let : (layer1)" showed, change (layer1) to (layer1 0).