On Thu, Jan 30, 2003 at 01:09:19AM +0900, Yukihiro Matsumoto wrote:
> I may drop ':=' part, i.e. 
> 
>   * block parameters are local to the block
>   * shadowing cause warnings
>   * no other way to make block local variables

Given this, then:

  def foo(&block); block.call; end
  p = proc { p x }
  foo { x = 1 }
  p.call()

Will print:

  1

but currently gets:

  NameError: undefined local variable or method `x' for #<Object:0x4028cce0>
          from (irb):2
          from (irb):2:in `call'
          from (irb):4

should it instead issue a warning, since the code is not
backward-compatible?

Paul