Hi john, I implemented both basename and file as well. But I will build a patch without those two in it after getting your update.
Thanks. On May 8, 2008, at 3:37 PM, "John Lam (IRONRUBY)" <[EMAIL PROTECTED]> wrote: tfpt review /shelveset:bugfixes-7;REDMOND\jflam Ruby only This shelveset fixes a number of open bugs on Rubyforge and adds some features that we need to get the latest rubinius specs running. MatchDataOps: - we used to alias MatchData to System.Text.RegularExpressions.Match. However, to fully implement MatchData we need to also hold onto a reference to the original string that we matched against. A new MatchData type was created (MatchData.cs) which wraps the existing .NET Match object. This also touches MutableStringOps.cs, RubyOps.cs, RubyScope.cs, SpecialGlobalVariableInfo.cs - finished implementing all methods. 16 out of 16 specs pass - implemented to_a which closes bug #19903 RegexpOps: - added ctor overload to close bug #19927 - made some changes to return MatchData objects instead of Match objects - made some changes to return boxed integers via RuntimeHelpers.Int32ToObject() instead of explicit boxing. This also touches MutableStringOps.cs TimeOps: - removed overloaded constructors to close bug #19956. But this exposes a new problem about Type aliasing that is described by bug 20035 (referencing a System::DateTime explicitly does not allow you to call the .NET constructors - only the Ruby-defined constructors). - fixed Time#- bug - #19955 ModuleOps: - fixed some very old bugs #15996, #15995 related to including non-sensible things (include 1, include nil). RequireNonClasses() method now throws the correct Ruby exceptions. This also touches SingletonOps.cs MutableStringOps: - added an implementation of String#rindex which closes #19904. We pass all specs except for 4 which fail because of differences between .NET regex and Ruby regex. Dir.cs: - cleaned up some code here, was about to work on glob implementation (bugs #19843 #19950, but handed off to Curt) FileOps.cs: - added an implementation of File#basename which closes #19905. passes all specs except for one which is wrong, and one which is unix-specific. These things are likely bugs in Ruby. #File.basename('baz.rb', 'z.rb').should == 'ba' -- bad test #File.basename("bar.txt.exe", ".txt.exe").should == "bar" - unix-only, should be wrapped in platform - added an implementation of File.file? to close #19949 MutableString.cs: - added a static Empty MutableString - added delegation thunks to LastIndexOf() - fixed our Equals() implementation to correctly distinguish between different types of strings (CLR vs. MutableString) File.cs: - fixes a bug related to what "w+" means in .NET. - its FileMode.OpenOrCreate Thanks, -John <bugfixes-7.diff> _______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core