* modules/uchar-h-c23: Renamed from modules/uchar-c23.
* lib/uchar.in.h: Update.
* doc/posix-headers/uchar.texi: Update.
* doc/posix-functions/mbrtoc32.texi: Update.
* doc/strings.texi: Update.
* modules/* (Depends-on): Update.
* modules/uchar-c23: New file.
+2024-12-27 Bruno Haible <bruno@clisp.org>
+
+ Rename module uchar-c23 to uchar-h-c23.
+ * modules/uchar-h-c23: Renamed from modules/uchar-c23.
+ * lib/uchar.in.h: Update.
+ * doc/posix-headers/uchar.texi: Update.
+ * doc/posix-functions/mbrtoc32.texi: Update.
+ * doc/strings.texi: Update.
+ * modules/* (Depends-on): Update.
+ * modules/uchar-c23: New file.
+
2024-12-27 Bruno Haible <bruno@clisp.org>
Rename module uchar to uchar-h.
Haiku 2020.
@end itemize
-@mindex uchar-c23
+@mindex uchar-h-c23
Note: If you want the guarantee that the @code{char32_t} values returned
by this function are Unicode code points, you also need to request the
-@code{uchar-c23} module.
+@code{uchar-h-c23} module.
functions @code{mbrtoc16}, @code{c16rtomb}, @code{mbrtoc32},
@code{c32rtomb}.
-Gnulib module: uchar-h or uchar-c23
+Gnulib module: uchar-h or uchar-h-c23
@mindex uchar-h
-@mindex uchar-c23
+@mindex uchar-h-c23
-Portability problems fixed by either Gnulib module @code{uchar-h} or @code{uchar-c23}:
+Portability problems fixed by either Gnulib module @code{uchar-h} or @code{uchar-h-c23}:
@itemize
@item
This header file is missing on many non-glibc platforms:
AIX 7.2 with xlclang++.
@end itemize
-Portability problems fixed by Gnulib module @code{uchar-c23}:
+Portability problems fixed by Gnulib module @code{uchar-h-c23}:
@itemize
@item
@code{char32_t} values may not be Unicode code points.
@code{*c32*} functions are optimized so that on glibc systems they
immediately redirect to the corresponding @code{*wc*} functions.
-@mindex uchar-c23
+@mindex uchar-h-c23
Gnulib implements the ISO C 23 semantics of @code{char32_t} when you
-import the @samp{uchar-c23} module. Without this module, it implements
+import the @samp{uchar-h-c23} module. Without this module, it implements
only the ISO C 11 semantics; the effect is that on some platforms
(macOS, FreeBSD, NetBSD, Solaris) a @code{char32_t} value is the same
as a @code{wchar_t} value, not a Unicode code point. Thus, when you
want to pass @code{char32_t} values to GNU libunistring or to some Unicode
-centric Gnulib functions, you need the @samp{uchar-c23} module in order
+centric Gnulib functions, you need the @samp{uchar-h-c23} module in order
to do so without portability problems.
@node The mbchar_t type
and newer, it denotes UTF-32 code points; in older versions of ISO C
it did so only on platforms on which __STDC_UTF_32__ was defined.
In gnulib, we guarantee that it denotes UTF-32 code points if and
- only if the module 'uchar-c23' is in use. */
+ only if the module 'uchar-h-c23' is in use. */
typedef uint_least32_t char32_t;
#elif @GNULIBHEADERS_OVERRIDE_CHAR32_T@
string-h
uchar-h
# The lonesome_lower array requires ISO C 23 semantics for char32_t.
-# But uchar-c23 has a global effect, therefore leave it to each package
+# But uchar-h-c23 has a global effect, therefore leave it to each package
# to enable it.
-#uchar-c23
+#uchar-h-c23
verify
wchar
xalloc
Depends-on:
uchar-h
-uchar-c23 [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
+uchar-h-c23 [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
mbrtoc32 [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
mbsinit [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
c99 [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
Description:
A <uchar.h> in which the char32_t values are always Unicode code points.
+Status:
+deprecated
+
+Notice:
+This module is deprecated. Use the module 'uchar-h-c23' instead.
+
Files:
-lib/lc-charset-unicode.h
-lib/lc-charset-unicode.c
Depends-on:
-uchar-h
-wchar
-iconv
-localcharset
-streq
-once
-tls
-mbszero
-wcrtomb
-unistr/u8-mbtouc
-unistr/u8-uctomb
-mbrtowc
+uchar-h-c23
configure.ac:
-AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([AM_ICONV])
-AC_DEFINE([GL_CHAR32_T_IS_UNICODE], [1],
- [Define if gnulib's char32_t values are always Unicode code points.])
-dnl On macOS, FreeBSD, NetBSD, Solaris, the functions mbrtoc32 and c32rtomb
-dnl need to convert between the wchar_t encoding and Unicode.
-case "$host_os" in
- darwin* | freebsd* | dragonfly* | netbsd* | solaris*)
- AC_DEFINE([GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION], [1],
- [Define if gnulib needs to convert between the wchar_t encoding and Unicode.])
- LIBC32CONV="$LIBICONV"
- LTLIBC32CONV="$LTLIBICONV"
- ;;
- *)
- LIBC32CONV=
- LTLIBC32CONV=
- ;;
-esac
-AC_SUBST([LIBC32CONV])
-AC_SUBST([LTLIBC32CONV])
Makefile.am:
-lib_SOURCES += lc-charset-unicode.c
Include:
<uchar.h>
LGPLv2+
Maintainer:
-all
--- /dev/null
+Description:
+A <uchar.h> in which the char32_t values are always Unicode code points.
+
+Files:
+lib/lc-charset-unicode.h
+lib/lc-charset-unicode.c
+
+Depends-on:
+uchar-h
+wchar
+iconv
+localcharset
+streq
+once
+tls
+mbszero
+wcrtomb
+unistr/u8-mbtouc
+unistr/u8-uctomb
+mbrtowc
+
+configure.ac:
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AM_ICONV])
+AC_DEFINE([GL_CHAR32_T_IS_UNICODE], [1],
+ [Define if gnulib's char32_t values are always Unicode code points.])
+dnl On macOS, FreeBSD, NetBSD, Solaris, the functions mbrtoc32 and c32rtomb
+dnl need to convert between the wchar_t encoding and Unicode.
+case "$host_os" in
+ darwin* | freebsd* | dragonfly* | netbsd* | solaris*)
+ AC_DEFINE([GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION], [1],
+ [Define if gnulib needs to convert between the wchar_t encoding and Unicode.])
+ LIBC32CONV="$LIBICONV"
+ LTLIBC32CONV="$LTLIBICONV"
+ ;;
+ *)
+ LIBC32CONV=
+ LTLIBC32CONV=
+ ;;
+esac
+AC_SUBST([LIBC32CONV])
+AC_SUBST([LTLIBC32CONV])
+
+Makefile.am:
+lib_SOURCES += lc-charset-unicode.c
+
+Include:
+<uchar.h>
+
+Link:
+$(LTLIBUNISTRING) when linking with libtool, $(LIBUNISTRING) otherwise
+$(LTLIBC32CONV) when linking with libtool, $(LIBC32CONV) otherwise
+
+License:
+LGPLv2+
+
+Maintainer:
+all