After a hack to work around the previous regular expression substitution
problem, we continue ...
1) throw exception "Malformed version number" (due to $1 returning
nil after a successful match)
- fixed my previous Regexp.=== patch to set CurrentMatch in current scope,
see attached patch
2) $1 still incorrectly returns nil
- fixed trivial index range bug in RubyScope.GetCurrentMatchGroup, see
attached patch
3) Wrong number or type of arguments for method "module_eval"
- created module_eval aliases for each class_eval method in
Builtins.ModuleOps
- corrected signatures for overloads that take a code string with file name
and line number
- implemented these new methods by calling the version that takes code
string (and ignoring the other parameters)
(see attached patch)
4) Wrong number or type of arguments for method "private"
- generalized ModuleOps.SetPrivateVisibility to take param array of obects
rather than Symbols and cast them to symbols, see attached patch.
- will need to do the same for protected, public and top-level versions of
these methods
5) Wrong number or type of arguments for method "define_method"
- created overloaded version of define_method that takes method name string
and converts it to Symbol, see attached patch.
6) Undefined method "module_function"
- not yet implemented in ModuleOps.
- this one looks a little tricker, so I''ll leave it to someone with
greater knowledge of the IronRuby internals ...
Cheers, Wayne.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ModuleOps.patch
Type: application/octet-stream
Size: 4075 bytes
Desc: ModuleOps.patch
Url :
http://rubyforge.org/pipermail/ironruby-core/attachments/20080410/e02da8ca/attachment-0003.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Reqexp.patch
Type: application/octet-stream
Size: 801 bytes
Desc: Reqexp.patch
Url :
http://rubyforge.org/pipermail/ironruby-core/attachments/20080410/e02da8ca/attachment-0004.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: RubyScope.patch
Type: application/octet-stream
Size: 546 bytes
Desc: RubyScope.patch
Url :
http://rubyforge.org/pipermail/ironruby-core/attachments/20080410/e02da8ca/attachment-0005.obj
Wayne Kelly:> After a hack to work around the previous regular expression > substitution problem, we continue ... > > 1) throw exception "Malformed version number" (due to $1 returning > nil after a successful match) > - fixed my previous Regexp.=== patch to set CurrentMatch in > current scope, see attached patch > > 2) $1 still incorrectly returns nil > - fixed trivial index range bug in RubyScope.GetCurrentMatchGroup, > see attached patch > > 3) Wrong number or type of arguments for method "module_eval" > - created module_eval aliases for each class_eval method in > Builtins.ModuleOps > - corrected signatures for overloads that take a code string with > file name and line number > - implemented these new methods by calling the version that takes > code string (and ignoring the other parameters) > (see attached patch) > > 4) Wrong number or type of arguments for method "private" > - generalized ModuleOps.SetPrivateVisibility to take param array > of obects rather than Symbols and cast them to symbols, see attached > patch. > - will need to do the same for protected, public and top-level > versions of these methods > > 5) Wrong number or type of arguments for method "define_method" > - created overloaded version of define_method that takes method > name string and converts it to Symbol, see attached patch. > > 6) Undefined method "module_function" > - not yet implemented in ModuleOps. > - this one looks a little tricker, so I''ll leave it to someone > with greater knowledge of the IronRuby internals ...Thanks for making this stuff happen, Wayne! I''m working on a broad set of changes in the libraries right now. I''ll review and integrate your changes ASAP. Thanks, -John