Eric Cooper <[EMAIL PROTECTED]> wrote: > Package: coreutils > Version: 6.10-3 > Severity: normal > > The --time-style=locale option to ls no longer behaves as documented. > > $ locale > LANG=en_US.UTF-8 ... > > $ ls --version > ls (GNU coreutils) 6.10 > ... > > $ /bin/ls --time-style=locale -l passwd > -rw-r--r-- 1 root root 765 2007-12-07 12:42 passwd > > It worked fine in version 5.97: > > $ ls --version > ls (GNU coreutils) 5.97 > ... > > $ /bin/ls --time-style=locale -l passwd > -rw-r--r-- 1 root root 765 Dec 7 17:42 passwd
Thanks for the report. Interestingly, that does work for any non-English locale. >From comparing strace output with en_US and with any non-English locale, this appears to be because coreutils doesn't provide any English ("en") translations (fyi, actually upstream gets its translations from translationproject.org, and they don't have English ones). $ ls /usr/share/locale/en*/LC_TIME/coreutils.mo zsh: no matches found: /usr/share/locale/en*/LC_TIME/coreutils.mo [Exit 1] $ ls /usr/share/locale/fr/LC_TIME/coreutils.mo /usr/share/locale/fr/LC_TIME/coreutils.mo@ It works fine for all other locales: $ LC_ALL=fr_FR /bin/ls --time-style=locale -ldgo / drwxr-xr-x 42 1024 mar 13 12:02 / $ LC_ALL=de_DE /bin/ls --time-style=locale -ldgo / drwxr-xr-x 42 1024 13. Mär 12:02 / A work-around, from "info coreutils ls": The `LC_TIME' locale category specifies the timestamp format. The default POSIX locale uses timestamps like `Mar 30 2002' and `Mar 30 23:45'; in this locale, the following two `ls' invocations are equivalent: newline=' ' ls -l --time-style="+%b %e %Y$newline%b %e %H:%M" ls -l --time-style="locale" Odd. I see that with LC_ALL=en, it *does* work: LC_ALL=en ./ls --time-style=locale -dl / drwxr-xr-x 42 root root 1024 Mar 13 12:02 / I probably won't address this for the upcoming release, but if someone else is interested, suggestions/patches are welcome. _______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils