generate smarter code for constructs like "" . expr 0 + expr val = literal
also revisit global variable locking
*** This bug has been marked as a duplicate of 2060 ***