Merge changes 4101,4102

* changes:
  Allow local variables to be declared anywhere in a block.
  Support variable initialization.