From: nobu@... Date: 2019-12-04T12:46:37+00:00 Subject: [ruby-core:96106] [Ruby master Bug#16391] Dir.pwd, Dir[] pathname case inconsistency 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: