Code Review: MiscFixes.2

tfpt review “/shelveset:MiscFixes.2;REDMOND\tomat”
Comment :
(MiscFixes.2)

Fixes bugs:

  • Protocols.IsEqual should compare references first before calling ==
    method.
  • Exception#initialize should reset backtrace to nil.
  • Exception#exception should not be special-cased for argument ==
    self (filed Ruby bug http://redmine.ruby-lang.org/issues/show/1248)
  • Fixnum#<< handled overflow incorrectly.
  • System::String inspect uses single quotes instead of double quotes
    to differentiate from Ruby string.
  • Fixes L conversion in Array#unpack.

Adds RubyMetaObject and RubyMetaObject to handle functionality
common for Ruby meta-objects and derives Proc.Meta and Method.Meta from
RMO (more refactoring will follow).
Implements a conversion from Proc/Method to an arbitrary delegate.
Slightly refactors meta-object builder. More changes will follow.

Tomas