In article <1074231957.934503.6230.nullmailer / picachu.netlab.jp>,
  matz / ruby-lang.org (Yukihiro Matsumoto) writes:

> ああ、そうか。じゃあ、中田さんの変更でコミットしてください。

環境のブロック変数の部分が異なっていても等しいとされてしまうようです。

% ruby -e '
a = lambda {|x| lambda {} }.call(1)
b = lambda {}
p a,b
p a == b
p eval("x", a)
p eval("x", b)
'
#<Proc:0x00000000@-e:2>
#<Proc:0x00000000@-e:3>
true
1
-e:7:in `eval': (eval):1: undefined local variable or method `x' for main:Object (NameError)
        from -e:3
-- 
[田中 哲][たなか あきら][Tanaka Akira]