Adding truthy check for variable that errors when parsing max()

I'm not sure what the case is behind this, but I'm seeing the parser
error because it's trying to call def.join() when def is undefined. When
inspecting what state the parser is in during this error, it appears to
be trying to inspect a function call in the glsl source "max" as in
"max( 1.0, 2.0 )"
Merge branches 'strutz', 'array-subexp', 'ackrc', 'preprocessor-updates' and 'def-no-def' into bleeding-edge