Review: File.expand_path


#1

Reimplemented File.expand_path such that it does not use System.IO.Path.
This allows us to get better compatibility with MRI.
The motivating reason was that RSpec does
File.expand_path(“filename:linenumber”), and the old implementation
complained that : is not valid in filenames, whereas MRI allows such
input

Fixed “[nil].uniq” - Cucumber was running into this.
Renamed scripts\ruby19.bat to ruby1.9.bat as “mspec -tr19” seems to have
changed.

List of files:

Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/file/expand_path_tags.txthttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-0
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/array/uniq_spec.rbhttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-1
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/file/expand_path_spec.rbhttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-2
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Dir.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-3
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-4
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/IListOps.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-5
*
Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyUtils.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-6
*
Merlin/Main/Languages/Ruby/Scripts/RakeTests.rbhttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-7
*
Merlin/Main/Languages/Ruby/Scripts/ruby1.9.bathttp://github.com/shri/ironruby/tree/ec9eae2e12e97ab53082dbfd35d0d57b337731b3/Merlin/Main/Languages/Ruby/Scripts/ruby1.9.bat

  • Merlin/Main/Languages/Ruby/Scripts/ruby19.bat

Merlin/Main/Runtime/Microsoft.Scripting/Utils/ArrayUtils.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-10
Thanks,
Shri


#2

Looks good.

From: Shri B.
Sent: Wednesday, June 03, 2009 11:07 AM
To: removed_email_address@domain.invalid
Cc: IronRuby External Code R.
Subject: Review: File.expand_path

http://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3

Reimplemented File.expand_path such that it does not use System.IO.Path.
This allows us to get better compatibility with MRI.
The motivating reason was that RSpec does
File.expand_path(“filename:linenumber”), and the old implementation
complained that : is not valid in filenames, whereas MRI allows such
input

Fixed “[nil].uniq” - Cucumber was running into this.
Renamed scripts\ruby19.bat to ruby1.9.bat as “mspec -tr19” seems to have
changed.

List of files:

Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/core/file/expand_path_tags.txthttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-0
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/array/uniq_spec.rbhttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-1
*
Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/core/file/expand_path_spec.rbhttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-2
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Dir.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-3
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-4
*
Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/IListOps.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-5
*
Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyUtils.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-6
*
Merlin/Main/Languages/Ruby/Scripts/RakeTests.rbhttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-7
*
Merlin/Main/Languages/Ruby/Scripts/ruby1.9.bathttp://github.com/shri/ironruby/tree/ec9eae2e12e97ab53082dbfd35d0d57b337731b3/Merlin/Main/Languages/Ruby/Scripts/ruby1.9.bat

  • Merlin/Main/Languages/Ruby/Scripts/ruby19.bat

Merlin/Main/Runtime/Microsoft.Scripting/Utils/ArrayUtils.cshttp://github.com/shri/ironruby/commit/ec9eae2e12e97ab53082dbfd35d0d57b337731b3#diff-10
Thanks,
Shri