I found some strange behaviour with the binding method today, first
comes the issue, afterwards my solution.
I would like to know if i should file a bug for this on redmine.

== Problem ==

sigma ~ % cat send_binding.rb
class A
end

binding = A.new.__send__(:binding)
binding.eval('p self => self.class')

sigma ~ % ruby -v send_binding.rb
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
{#<A:0x7f5b1d32f7b0>=>A}

sigma ~ % ruby19 -v send_binding.rb
ruby 1.9.1p5000 (2009-01-26 trunk 21781) [x86_64-linux]
{main=>Object}

== Solution ==

sigma ~ % cat send_binding_fix.rb
class A
  def binding; super; end
  private :binding
end

binding = A.new.__send__(:binding)
binding.eval('p self => self.class')

sigma ~ % ruby -v send_binding_fix.rb
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
{#<A:0x7f9d63518508>=>A}

sigma ~ % ruby19 -v send_binding_fix.rb
ruby 1.9.1p5000 (2009-01-26 trunk 21781) [x86_64-linux]
{#<A:0x000000027074a0>=>A}