Review: Rake bug fixes


#1
  •     Changed some uses of MutableString.Empty (like Array#join with 
    

empty array) to create a new empty string as the user could validly
mutate it.

  •      Renamed MutableString.Empty to MutableString.FixedEmpty to 
    

make it clear that the instance should be shared in limited scenarios

  •     Fixes to Module#instance_method per Tomas's feedback from 
    

previous code review

  •     File.extname(".foo") should return "", not ".foo"
    
  •     Removes to_proc hack from Libs\hacks.rb
    

Files changed

Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/file/extname_tags.txt
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/file/split_tags.txthttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-1
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/module/instance_method_tags.txthttp://github.com/shri/ironruby/tree/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/module/instance_method_tags.txt
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/file/extname_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-3
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/file/split_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-4
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/module/fixtures/classes.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-5
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/module/instance_method_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-6
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-7
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/ModuleOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-8
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/MutableStringOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-9
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/UnboundMethod.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-10
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/IListOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-11
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/ParseTree/IronRubyParseTreeOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-12
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringScanner/StringScanner.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-13
*
Merlin/Main/Languages/Ruby/Libs/hacks.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-14
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/MatchData.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-15
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/MutableString.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-16
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-17
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyModule.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-18
*
Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-19
*
Merlin/Main/Languages/Ruby/Scripts/irtests.bathttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-20
*
Merlin/Main/Languages/Ruby/Tests/Interop/uncategorized_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-21
Thanks,
Shri


#2

Looks good!

Tomas

From: Shri B.
Sent: Tuesday, May 12, 2009 4:48 PM
To: removed_email_address@domain.invalid; IronRuby External Code R.
Subject: Review: Rake bug fixes

http://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740

  •     Changed some uses of MutableString.Empty (like Array#join with 
    

empty array) to create a new empty string as the user could validly
mutate it.

  •      Renamed MutableString.Empty to MutableString.FixedEmpty to 
    

make it clear that the instance should be shared in limited scenarios

  •     Fixes to Module#instance_method per Tomas's feedback from 
    

previous code review

  •     File.extname(".foo") should return "", not ".foo"
    
  •     Removes to_proc hack from Libs\hacks.rb
    

Files changed

Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/file/extname_tags.txt
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/file/split_tags.txthttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-1
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/module/instance_method_tags.txthttp://github.com/shri/ironruby/tree/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/module/instance_method_tags.txt
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/file/extname_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-3
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/file/split_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-4
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/module/fixtures/classes.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-5
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/module/instance_method_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-6
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-7
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/ModuleOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-8
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/MutableStringOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-9
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/UnboundMethod.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-10
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/IListOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-11
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/ParseTree/IronRubyParseTreeOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-12
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringScanner/StringScanner.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-13
*
Merlin/Main/Languages/Ruby/Libs/hacks.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-14
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/MatchData.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-15
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/MutableString.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-16
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-17
*
Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyModule.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-18
*
Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cshttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-19
*
Merlin/Main/Languages/Ruby/Scripts/irtests.bathttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-20
*
Merlin/Main/Languages/Ruby/Tests/Interop/uncategorized_spec.rbhttp://github.com/shri/ironruby/commit/94a7a95fb6eba0a8f19dd74b866dbe6ff7dd6740#diff-21
Thanks,
Shri