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.