Cygwin has uselocale() etc. since version 2.6. See https://cygwin.com/ml/cygwin-announce/2016-08/msg00095.html
Let me update the documentation. 2018-12-18 Bruno Haible <br...@clisp.org> localename: Update comments regarding Cygwin. * lib/localename.c: Update comment. * doc/posix-functions/uselocale.texi: Update platforms list. * doc/posix-functions/newlocale.texi: Likewise. * doc/posix-functions/duplocale.texi: Likewise. * doc/posix-functions/freelocale.texi: Likewise. diff --git a/doc/posix-functions/duplocale.texi b/doc/posix-functions/duplocale.texi index 000300b..7be505c 100644 --- a/doc/posix-functions/duplocale.texi +++ b/doc/posix-functions/duplocale.texi @@ -21,5 +21,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. +Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin 2.5.x, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. @end itemize diff --git a/doc/posix-functions/freelocale.texi b/doc/posix-functions/freelocale.texi index e4ff00f..515baae 100644 --- a/doc/posix-functions/freelocale.texi +++ b/doc/posix-functions/freelocale.texi @@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. +Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin 2.5.x, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. @end itemize diff --git a/doc/posix-functions/newlocale.texi b/doc/posix-functions/newlocale.texi index 376f7e8..02a5c6d 100644 --- a/doc/posix-functions/newlocale.texi +++ b/doc/posix-functions/newlocale.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. +Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin 2.5.x, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. @item This function is useless because the @code{locale_t} type contains basically no information on some platforms: diff --git a/doc/posix-functions/uselocale.texi b/doc/posix-functions/uselocale.texi index 2d8b947..1343214 100644 --- a/doc/posix-functions/uselocale.texi +++ b/doc/posix-functions/uselocale.texi @@ -14,7 +14,7 @@ Portability problems not fixed by Gnulib: @itemize @item This function is missing on many platforms: -Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. +Mac OS X 10.3, FreeBSD 9.0, NetBSD 5.0, OpenBSD 6.1, Minix 3.1.8, AIX 6.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11.3, Cygwin 2.5.x, mingw, MSVC 14, Interix 3.5, BeOS, Android 4.4. @item This function is useless because the @code{locale_t} type contains basically no information on some platforms: diff --git a/lib/localename.c b/lib/localename.c index 28b3d61..735f427 100644 --- a/lib/localename.c +++ b/lib/localename.c @@ -2629,7 +2629,7 @@ get_lcid (const char *locale_name) #endif -#if HAVE_GOOD_USELOCALE /* glibc, Mac OS X, FreeBSD >= 9.1, AIX >= 7, +#if HAVE_GOOD_USELOCALE /* glibc, Mac OS X, FreeBSD >= 9.1, AIX >= 7, Cygwin >= 2.6, Solaris 11 OpenIndiana, or Solaris >= 11.4 */ /* Simple hash set of strings. We don't want to drag in lots of hash table