[ruby-core:68206] [Ruby trunk - Bug #10858] File.expand_path on Windows does not handle drive-current path if 2nd arg is relative

From: naruse@...
Date: 2015-02-21 03:47:41 UTC
List: ruby-core #68206
Issue #10858 has been updated by Yui NARUSE.

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE

ruby_2_2 r49671 merged revision(s) 49618,49640.

----------------------------------------
Bug #10858: File.expand_path on Windows does not handle drive-current path if 2nd arg is relative
https://bugs.ruby-lang.org/issues/10858#change-51576

* Author: Daniel Berger
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.0p43 (2015-02-06 revision 49530) [i386-mswin32_120]
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE
----------------------------------------
On Windows, if the first argument to File.expand_path is a drive-current path, and the dir argument is relative, you get a bogus result:

~~~ruby
irb(main):001:0> File.expand_path("c:foo", "bar")
=> "C:/Users/djberge/Repositories/bar/c:foo"
~~~

Compare that with Ruby 1.8:

~~~ruby
irb(main):002:0> RUBY_VERSION
=> "1.8.7"
irb(main):003:0> File.expand_path('c:foo', "bar")
=> "C:/Users/djberge/Repositories/bar/foo"
~~~



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next