Gem setup.rb

Still working towards executing setup.rb for gems …

After sidestepping the lack of a module_function implementation and
implementing a few dummy modules such as etc.so …

  1. Undefined method ‘extend’ (missing from Kernel)
    see attached patch file that implements Kernel::extend and related
    Module::extend_object and Module::extended methods.

  2. Undefined method ‘singleton_methods’ (missing from Kernel)

    • anyone feel like implementing this method?
  3. Expression tranformation not implemented for
    Ruby.Compiler.Ast.MemberAssignmentExpression

    • need to generate MSA for expression of the form:
      lhs.member op= rhs
      (the lhs expression needs to be written to a local temp since it is
      used twice, once to read the value of member which is 'op’ed with the
      rhs, and a second time to write the result to member).
  4. Undefined method ‘fail’ when attempting to alias

    • method fail is correctly defined in Kernel, but there is a bug in
      the method resolution algorithm used by the alias method. Inside a
      module, you can successfully call the fail method, but you can’t alias
      it:

    module Fred
    begin
    fail
    rescue
    alias fail! fail
    end
    end

When trying to call method ‘fail’, the method resolution starts looking
in the singleton class of module Fred, but when trying to alias the
method ‘fail’, it starts looking in module Fred.

(I’ll add these patches and bugs to the RubyForge tracker)

Cheers, Wayne.