Branch
Hash :
ac1e6fee
Author :
Date :
2025-02-14T18:04:54
isascii: stop using it * doc/pastposix-functions/isascii.texi: There is no isascii module. * m4/mbswidth.m4 (gl_MBSWIDTH): Do not check for isascii, as it no longer seems to be used here. * tests/test-c-ctype.c (test_agree_with_C_locale): Do not assume isascii exists, as POSIX no longer requires it.
@node isascii
@section @code{isascii}
@findex isascii
Removed in POSIX.1-2024.
POSIX.1-2017 specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/isascii.html}
Gnulib module: ---
Portability problems not fixed by Gnulib:
@itemize
@item
This function cannot be called from plain inline or extern inline functions
on some platforms:
macOS 10.8.
@item
This function is removed in POSIX.1-2024.
@end itemize
Note: This function's behaviour depends on the locale, but requires special
handling for the multibyte characters that occur in strings in locales with
@code{MB_CUR_MAX > 1} (this includes all the common UTF-8 locales).
There are two alternative APIs:
@table @code
@item c_isascii
@mindex c-ctype
This function operates in a locale independent way and returns true only for
ASCII characters. It is provided by the Gnulib module @samp{c-ctype}.
@item mb_isascii
@mindex mbchar
This function operates in a locale dependent way, on multibyte characters.
It is provided by the Gnulib module @samp{mbchar}.
@end table