From: Bruno Haible Date: Sat, 4 Jun 2011 10:07:57 +0000 (+0200) Subject: setlocale: Enable replacement on Cygwin 1.5. X-Git-Tag: stable/20110609~32 X-Git-Url: http://erislabs.net/gitweb/?p=gnulib.git;a=commitdiff_plain;h=d9883ac2dd41e9c60f0a291f82a8984d40ab855a setlocale: Enable replacement on Cygwin 1.5. * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on Cygwin 1.5.x. * doc/posix-functions/setlocale.texi: Mention that the problem with the LC_CTYPE category also exists on Cygwin 1.5.x. (cherry picked from commit 0605107340f96045f8982a30ef5267832f3618e2) --- diff --git a/ChangeLog b/ChangeLog index 6477c1714..45861f274 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-06-04 Bruno Haible + + setlocale: Enable replacement on Cygwin 1.5. + * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on + Cygwin 1.5.x. + * doc/posix-functions/setlocale.texi: Mention that the problem with the + LC_CTYPE category also exists on Cygwin 1.5.x. + 2011-06-03 Bruno Haible Copyright: Use LGPL 2.1 instead of LGPL 2.0. diff --git a/doc/posix-functions/setlocale.texi b/doc/posix-functions/setlocale.texi index c54018e15..ee4d47790 100644 --- a/doc/posix-functions/setlocale.texi +++ b/doc/posix-functions/setlocale.texi @@ -13,9 +13,9 @@ On Windows platforms (excluding Cygwin), @code{setlocale(@var{category},NULL)} ignores the environment variables @code{LC_ALL}, @code{@var{category}}, and @code{LANG}. @item -On Windows platforms (excluding Cygwin), @code{setlocale(LC_ALL,@var{name})} -succeeds and sets the LC_CTYPE category to @samp{C} when it does not support -the encoding, instead of failing. +On Windows platforms (excluding Cygwin) and Cygwin 1.5.x, +@code{setlocale(LC_ALL,@var{name})} succeeds and sets the LC_CTYPE category to +@samp{C} when it does not support the encoding, instead of failing. @item On Windows platforms (excluding Cygwin), @code{setlocale} understands different locale names, that are not based on ISO 639 language names and ISO 3166 country diff --git a/m4/setlocale.m4 b/m4/setlocale.m4 index cc3ab776f..92f76f433 100644 --- a/m4/setlocale.m4 +++ b/m4/setlocale.m4 @@ -1,4 +1,4 @@ -# setlocale.m4 serial 2 +# setlocale.m4 serial 3 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,6 +12,13 @@ AC_DEFUN([gl_FUNC_SETLOCALE], dnl On native Windows systems, setlocale(category,NULL) does not look at dnl the environment variables LC_ALL, category, and LANG. mingw*) REPLACE_SETLOCALE=1 ;; + dnl On Cygwin 1.5.x, setlocale always succeeds but setlocale(LC_CTYPE,NULL) + dnl is then still "C". + cygwin*) + case `uname -r` in + 1.5.*) REPLACE_SETLOCALE=1 ;; + esac + ;; esac if test $REPLACE_SETLOCALE = 1; then AC_LIBOBJ([setlocale])