# HG changeset patch # User Bruno Haible # Date 1307182077 -7200 # Node ID c12e3d2438e886326575ef60f3415b6a8904fa39 # Parent 66acfe2be3d578d3db0bf5f9e970b356e9603863 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. diff --git a/ChangeLog b/ChangeLog --- 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-04 Bruno Haible strerror-override: Don't disable symbol renamings. diff --git a/doc/posix-functions/setlocale.texi b/doc/posix-functions/setlocale.texi --- a/doc/posix-functions/setlocale.texi +++ b/doc/posix-functions/setlocale.texi @@ -13,9 +13,9 @@ 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 --- 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 @@ 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])