Repository navigation
Conversation
…X locale File names were always lowercased as Unicode text, so names such as É and é matched in the C locale, where GNU diff keeps them apart. Follow LC_CTYPE and fold only the ASCII letters in the POSIX locale.
Merging this PR will degrade performance by 4.61%2 warnings
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes |
|
The CodSpeed result looks like noise: the only change is in |
Fixes #356.
fold_file_name_casealways used Unicode lowercasing, soÉandéwere the same name with--ignore-file-name-caseeven in the C locale, where GNU only folds ASCII letters.It now checks
LC_CTYPEwith the existingis_posix_locale(LC_ALL>LC_CTYPE>LANG, C when unset) and folds ASCII only in the POSIX locale. Exit status matches GNU diff 3.12 for the locale combinations in the test.Unix only: on Windows these variables are normally unset, and I didn't want to change the folding there.