Hi,

Frederick Cheung wrote:
> Hi,
> 
> Consider this code
> 
> module Foo
> end
> 
> def do_stuff_to_foo(&block)
>   Foo.module_eval &block
> end
> 
> do_stuff_to_foo {def greeting; 'hello'; end}
> 
> If you paste this into irb on 1.9 (r14600, compiled a few minutes ago)
> the greeting method is not added to Foo, but to the top level.
> On 1.8 it's added to Foo, as I would expect.
> 
> Is this change intentional ? I haven't been able to find anything
> written about it. I've had a quick scan back through the source and this
> isn't a particularly recent change - r11500 exhibits the same behaviour.
> I'd be curious to hear the rationale if this is indeed intentional

This is a bug.  If you write a block in method do_stuff_to_foo
directly, it's work fine.  I'll fix it.

-- 
// SASADA Koichi at atdot dot net