- /* Here we use LC_MESSAGES instead of LC_ALL, for two reasons.
- First, message catalogs are all of I18N Wget uses anyway.
- Second, setting LC_ALL has a dangerous potential of messing
- things up. For example, when in a foreign locale, Solaris
- strptime() fails to handle international dates correctly, which
- makes http_atotm() malfunction. */
-#ifdef LC_MESSAGES
+ /* Where possible, sets only LC_MESSAGES and LC_CTYPE. Other
+ categories, such as numeric, time, or collation, break code that
+ parses data received from the network and relies on C-locale
+ behavior of libc functions. For example, Solaris strptime fails
+ to recognize English month names in non-English locales, which
+ breaks http_atotm. Some implementations of fnmatch perform
+ unwanted case folding in non-C locales. ctype macros, while they
+ were used, provided another example against LC_ALL. */
+#if defined(LC_MESSAGES) && defined(LC_CTYPE)