added missing macro flags to inner functions
made eval error clearer