Issue #16391 has been updated by nobu (Nobuyoshi Nakada).

Description updated

`Dir.pwd` returns `'C:/Users/...'`, not `'C:/users/...'` for me.

> Unfortunately, `File.fnmatch` seems to be case sensitive,
> so this is not a workaround.

`File::Constants` has two constants for `File.fnmatch`

* `FNM_CASEFOLD`:
  Makes `File.fnmatch` patterns case insensitive (but not `Dir.glob` patterns).

* `FNM_SYSCASE`:
  System default case insensitiveness, equals to `FNM_CASEFOLD` or 0.


----------------------------------------
Bug #16391: Dir.pwd, Dir[] pathname case inconsistency
https://bugs.ruby-lang.org/issues/16391#change-82965

* Author: dbuck (Dave Buck)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x64-mingw32]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Directory globbing case sensitivity is os-dependent
(https://ruby-doc.org/core-2.6.5/Dir.html, glob,
"Case sensitivity depends on your system");
On Windows 10, directory globbing is case insensitive,
and may return glob matches that do
not match the case of the query.
Unfortunately, `File.fnmatch` seems to be case sensitive,
so this is not a workaround.

Expected:
If `Dir.pwd` => `'C:/users/dave/Documents'` (lower case for users)
then `Dir[Dir.pwd+'/*']` => `['C:/users/dave/Documents/...',...]`
(lower case for users), not `[C:/Users/dave/Documents/...',...]` (upper case Users)

Impact:
Rails 6.0 Activeview implementation has an assumption that
case in pwd will match that in glob

---Files--------------------------------
dlbdirbug.rb (1.65 KB)


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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>