A compiler-warning-fix and an ignored return.

An ignored return - if VariableTablePut() failed, EvalContextVariablePut() would claim to have succeeded, none the less.
I also cleaned up the function; it had a log of long lines and a big of defensive programming.
An function was only used subject to #if-ery; so only define it subject to matching #if-ery.