This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix input type on isFOO macros
authorKarl Williamson <khw@cpan.org>
Mon, 14 Sep 2020 04:03:39 +0000 (22:03 -0600)
committerKarl Williamson <khw@cpan.org>
Mon, 14 Sep 2020 15:33:26 +0000 (09:33 -0600)
These macros accept any UV as input, but not a signed number

handy.h

diff --git a/handy.h b/handy.h
index 9b4b256..bf6b81e 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -818,14 +818,14 @@ character is malformed in some way, the program may croak, or the function may
 return FALSE, at the discretion of the implementation, and subject to change in
 future releases.
 
-=for apidoc Am|bool|isALPHA|int ch
-=for apidoc_item ||isALPHA_A|int ch
-=for apidoc_item ||isALPHA_L1|int ch
-=for apidoc_item ||isALPHA_uvchr|int ch
+=for apidoc Am|bool|isALPHA|UV ch
+=for apidoc_item ||isALPHA_A|UV ch
+=for apidoc_item ||isALPHA_L1|UV ch
+=for apidoc_item ||isALPHA_uvchr|UV ch
 =for apidoc_item ||isALPHA_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isALPHA_utf8|U8 * s|U8 * end
-=for apidoc_item ||isALPHA_LC|int ch
-=for apidoc_item ||isALPHA_LC_uvchr|int ch
+=for apidoc_item ||isALPHA_LC|UV ch
+=for apidoc_item ||isALPHA_LC_uvchr|UV ch
 =for apidoc_item ||isALPHA_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified input is one of C<[A-Za-z]>,
 analogous to C<m/[[:alpha:]]/>.
@@ -837,20 +837,20 @@ the variants.
 Here and below, we add the protoypes of these macros for downstream programs
 that would be interested in them, such as Devel::PPPort
 
-=for apidoc Am|bool|isALPHANUMERIC|int ch
-=for apidoc_item ||isALPHANUMERIC_A|int ch
-=for apidoc_item ||isALPHANUMERIC_L1|int ch
-=for apidoc_item ||isALPHANUMERIC_uvchr|int ch
+=for apidoc Am|bool|isALPHANUMERIC|UV ch
+=for apidoc_item ||isALPHANUMERIC_A|UV ch
+=for apidoc_item ||isALPHANUMERIC_L1|UV ch
+=for apidoc_item ||isALPHANUMERIC_uvchr|UV ch
 =for apidoc_item ||isALPHANUMERIC_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isALPHANUMERIC_utf8|U8 * s|U8 * end
-=for apidoc_item ||isALPHANUMERIC_LC|int ch
-=for apidoc_item ||isALPHANUMERIC_LC_uvchr|int ch
+=for apidoc_item ||isALPHANUMERIC_LC|UV ch
+=for apidoc_item ||isALPHANUMERIC_LC_uvchr|UV ch
 =for apidoc_item ||isALPHANUMERIC_LC_utf8_safe|U8 * s| U8 *end
-=for apidoc_item ||isALNUMC|int ch
-=for apidoc_item ||isALNUMC_A|int ch
-=for apidoc_item ||isALNUMC_L1|int ch
-=for apidoc_item ||isALNUMC_LC|int ch
-=for apidoc_item ||isALNUMC_LC_uvchr|int ch
+=for apidoc_item ||isALNUMC|UV ch
+=for apidoc_item ||isALNUMC_A|UV ch
+=for apidoc_item ||isALNUMC_L1|UV ch
+=for apidoc_item ||isALNUMC_LC|UV ch
+=for apidoc_item ||isALNUMC_LC_uvchr|UV ch
 Returns a boolean indicating whether the specified character is one of
 C<[A-Za-z0-9]>, analogous to C<m/[[:alnum:]]/>.
 See the L<top of this section|/Character classification> for an explanation of
@@ -862,14 +862,14 @@ there are the variants
 C<isALNUMC_A>, C<isALNUMC_L1>
 C<isALNUMC_LC>, and C<isALNUMC_LC_uvchr>.
 
-=for apidoc Am|bool|isASCII|int ch
-=for apidoc_item ||isASCII_A|int ch
-=for apidoc_item ||isASCII_L1|int ch
-=for apidoc_item ||isASCII_uvchr|int ch
+=for apidoc Am|bool|isASCII|UV ch
+=for apidoc_item ||isASCII_A|UV ch
+=for apidoc_item ||isASCII_L1|UV ch
+=for apidoc_item ||isASCII_uvchr|UV ch
 =for apidoc_item ||isASCII_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isASCII_utf8|U8 * s|U8 * end
-=for apidoc_item ||isASCII_LC|int ch
-=for apidoc_item ||isASCII_LC_uvchr|int ch
+=for apidoc_item ||isASCII_LC|UV ch
+=for apidoc_item ||isASCII_LC_uvchr|UV ch
 =for apidoc_item ||isASCII_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is one of the 128
 characters in the ASCII character set, analogous to C<m/[[:ascii:]]/>.
@@ -888,14 +888,14 @@ UTF-8 or not), C<isASCII> will give the correct results when called with any
 byte in any string encoded or not in UTF-8.  And similarly C<isASCII_utf8> and
 C<isASCII_utf8_safe> will work properly on any string encoded or not in UTF-8.
 
-=for apidoc Am|bool|isBLANK|int ch
-=for apidoc_item ||isBLANK_A|int ch
-=for apidoc_item ||isBLANK_L1|int ch
-=for apidoc_item ||isBLANK_uvchr|int ch
+=for apidoc Am|bool|isBLANK|UV ch
+=for apidoc_item ||isBLANK_A|UV ch
+=for apidoc_item ||isBLANK_L1|UV ch
+=for apidoc_item ||isBLANK_uvchr|UV ch
 =for apidoc_item ||isBLANK_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isBLANK_utf8|U8 * s|U8 * end
-=for apidoc_item ||isBLANK_LC|int ch
-=for apidoc_item ||isBLANK_LC_uvchr|int ch
+=for apidoc_item ||isBLANK_LC|UV ch
+=for apidoc_item ||isBLANK_LC_uvchr|UV ch
 =for apidoc_item ||isBLANK_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a
 character considered to be a blank, analogous to C<m/[[:blank:]]/>.
@@ -906,14 +906,14 @@ however, that some platforms do not have the C library routine
 C<isblank()>.  In these cases, the variants whose names contain C<LC> are
 the same as the corresponding ones without.
 
-=for apidoc Am|bool|isCNTRL|int ch
-=for apidoc_item ||isCNTRL_A|int ch
-=for apidoc_item ||isCNTRL_L1|int ch
-=for apidoc_item ||isCNTRL_uvchr|int ch
+=for apidoc Am|bool|isCNTRL|UV ch
+=for apidoc_item ||isCNTRL_A|UV ch
+=for apidoc_item ||isCNTRL_L1|UV ch
+=for apidoc_item ||isCNTRL_uvchr|UV ch
 =for apidoc_item ||isCNTRL_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isCNTRL_utf8|U8 * s|U8 * end
-=for apidoc_item ||isCNTRL_LC|int ch
-=for apidoc_item ||isCNTRL_LC_uvchr|int ch
+=for apidoc_item ||isCNTRL_LC|UV ch
+=for apidoc_item ||isCNTRL_LC_uvchr|UV ch
 =for apidoc_item ||isCNTRL_LC_utf8_safe|U8 * s| U8 *end
 
 Returns a boolean indicating whether the specified character is a
@@ -922,14 +922,14 @@ See the L<top of this section|/Character classification> for an explanation of
 the variants.
 On EBCDIC platforms, you almost always want to use the C<isCNTRL_L1> variant.
 
-=for apidoc Am|bool|isDIGIT|int ch
-=for apidoc_item ||isDIGIT_A|int ch
-=for apidoc_item ||isDIGIT_L1|int ch
-=for apidoc_item ||isDIGIT_uvchr|int ch
+=for apidoc Am|bool|isDIGIT|UV ch
+=for apidoc_item ||isDIGIT_A|UV ch
+=for apidoc_item ||isDIGIT_L1|UV ch
+=for apidoc_item ||isDIGIT_uvchr|UV ch
 =for apidoc_item ||isDIGIT_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isDIGIT_utf8|U8 * s|U8 * end
-=for apidoc_item ||isDIGIT_LC|int ch
-=for apidoc_item ||isDIGIT_LC_uvchr|int ch
+=for apidoc_item ||isDIGIT_LC|UV ch
+=for apidoc_item ||isDIGIT_LC_uvchr|UV ch
 =for apidoc_item ||isDIGIT_LC_utf8_safe|U8 * s| U8 *end
 
 Returns a boolean indicating whether the specified character is a
@@ -938,50 +938,50 @@ Variants C<isDIGIT_A> and C<isDIGIT_L1> are identical to C<isDIGIT>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isGRAPH|int ch
-=for apidoc_item ||isGRAPH_A|int ch
-=for apidoc_item ||isGRAPH_L1|int ch
-=for apidoc_item ||isGRAPH_uvchr|int ch
+=for apidoc Am|bool|isGRAPH|UV ch
+=for apidoc_item ||isGRAPH_A|UV ch
+=for apidoc_item ||isGRAPH_L1|UV ch
+=for apidoc_item ||isGRAPH_uvchr|UV ch
 =for apidoc_item ||isGRAPH_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isGRAPH_utf8|U8 * s|U8 * end
-=for apidoc_item ||isGRAPH_LC|int ch
-=for apidoc_item ||isGRAPH_LC_uvchr|int ch
+=for apidoc_item ||isGRAPH_LC|UV ch
+=for apidoc_item ||isGRAPH_LC_uvchr|UV ch
 =for apidoc_item ||isGRAPH_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a
 graphic character, analogous to C<m/[[:graph:]]/>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isLOWER|int ch
-=for apidoc_item ||isLOWER_A|int ch
-=for apidoc_item ||isLOWER_L1|int ch
-=for apidoc_item ||isLOWER_uvchr|int ch
+=for apidoc Am|bool|isLOWER|UV ch
+=for apidoc_item ||isLOWER_A|UV ch
+=for apidoc_item ||isLOWER_L1|UV ch
+=for apidoc_item ||isLOWER_uvchr|UV ch
 =for apidoc_item ||isLOWER_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isLOWER_utf8|U8 * s|U8 * end
-=for apidoc_item ||isLOWER_LC|int ch
-=for apidoc_item ||isLOWER_LC_uvchr|int ch
+=for apidoc_item ||isLOWER_LC|UV ch
+=for apidoc_item ||isLOWER_LC_uvchr|UV ch
 =for apidoc_item ||isLOWER_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a
 lowercase character, analogous to C<m/[[:lower:]]/>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants
 
-=for apidoc Am|bool|isOCTAL|int ch
-=for apidoc_item ||isOCTAL_A|int ch
-=for apidoc_item ||isOCTAL_L1|int ch
+=for apidoc Am|bool|isOCTAL|UV ch
+=for apidoc_item ||isOCTAL_A|UV ch
+=for apidoc_item ||isOCTAL_L1|UV ch
 Returns a boolean indicating whether the specified character is an
 octal digit, [0-7].
 The only two variants are C<isOCTAL_A> and C<isOCTAL_L1>; each is identical to
 C<isOCTAL>.
 
-=for apidoc Am|bool|isPUNCT|int ch
-=for apidoc_item ||isPUNCT_A|int ch
-=for apidoc_item ||isPUNCT_L1|int ch
-=for apidoc_item ||isPUNCT_uvchr|int ch
+=for apidoc Am|bool|isPUNCT|UV ch
+=for apidoc_item ||isPUNCT_A|UV ch
+=for apidoc_item ||isPUNCT_L1|UV ch
+=for apidoc_item ||isPUNCT_uvchr|UV ch
 =for apidoc_item ||isPUNCT_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isPUNCT_utf8|U8 * s|U8 * end
-=for apidoc_item ||isPUNCT_LC|int ch
-=for apidoc_item ||isPUNCT_LC_uvchr|int ch
+=for apidoc_item ||isPUNCT_LC|UV ch
+=for apidoc_item ||isPUNCT_LC_uvchr|UV ch
 =for apidoc_item ||isPUNCT_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a
 punctuation character, analogous to C<m/[[:punct:]]/>.
@@ -991,14 +991,14 @@ Classes> for details.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isSPACE|int ch
-=for apidoc_item ||isSPACE_A|int ch
-=for apidoc_item ||isSPACE_L1|int ch
-=for apidoc_item ||isSPACE_uvchr|int ch
+=for apidoc Am|bool|isSPACE|UV ch
+=for apidoc_item ||isSPACE_A|UV ch
+=for apidoc_item ||isSPACE_L1|UV ch
+=for apidoc_item ||isSPACE_uvchr|UV ch
 =for apidoc_item ||isSPACE_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isSPACE_utf8|U8 * s|U8 * end
-=for apidoc_item ||isSPACE_LC|int ch
-=for apidoc_item ||isSPACE_LC_uvchr|int ch
+=for apidoc_item ||isSPACE_LC|UV ch
+=for apidoc_item ||isSPACE_LC_uvchr|UV ch
 =for apidoc_item ||isSPACE_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a
 whitespace character.  This is analogous
@@ -1011,14 +1011,14 @@ in the non-locale variants, was that C<isSPACE()> did not match a vertical tab.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isPSXSPC|int ch
-=for apidoc_item ||isPSXSPC_A|int ch
-=for apidoc_item ||isPSXSPC_L1|int ch
-=for apidoc_item ||isPSXSPC_uvchr|int ch
+=for apidoc Am|bool|isPSXSPC|UV ch
+=for apidoc_item ||isPSXSPC_A|UV ch
+=for apidoc_item ||isPSXSPC_L1|UV ch
+=for apidoc_item ||isPSXSPC_uvchr|UV ch
 =for apidoc_item ||isPSXSPC_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isPSXSPC_utf8|U8 * s|U8 * end
-=for apidoc_item ||isPSXSPC_LC|int ch
-=for apidoc_item ||isPSXSPC_LC_uvchr|int ch
+=for apidoc_item ||isPSXSPC_LC|UV ch
+=for apidoc_item ||isPSXSPC_LC_uvchr|UV ch
 =for apidoc_item ||isPSXSPC_LC_utf8_safe|U8 * s| U8 *end
 (short for Posix Space)
 Starting in 5.18, this is identical in all its forms to the
@@ -1032,47 +1032,47 @@ C<m/[[:space:]]/> matches in a regular expression.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isUPPER|int ch
-=for apidoc_item ||isUPPER_A|int ch
-=for apidoc_item ||isUPPER_L1|int ch
-=for apidoc_item ||isUPPER_uvchr|int ch
+=for apidoc Am|bool|isUPPER|UV ch
+=for apidoc_item ||isUPPER_A|UV ch
+=for apidoc_item ||isUPPER_L1|UV ch
+=for apidoc_item ||isUPPER_uvchr|UV ch
 =for apidoc_item ||isUPPER_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isUPPER_utf8|U8 * s|U8 * end
-=for apidoc_item ||isUPPER_LC|int ch
-=for apidoc_item ||isUPPER_LC_uvchr|int ch
+=for apidoc_item ||isUPPER_LC|UV ch
+=for apidoc_item ||isUPPER_LC_uvchr|UV ch
 =for apidoc_item ||isUPPER_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is an
 uppercase character, analogous to C<m/[[:upper:]]/>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isPRINT|int ch
-=for apidoc_item ||isPRINT_A|int ch
-=for apidoc_item ||isPRINT_L1|int ch
-=for apidoc_item ||isPRINT_uvchr|int ch
+=for apidoc Am|bool|isPRINT|UV ch
+=for apidoc_item ||isPRINT_A|UV ch
+=for apidoc_item ||isPRINT_L1|UV ch
+=for apidoc_item ||isPRINT_uvchr|UV ch
 =for apidoc_item ||isPRINT_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isPRINT_utf8|U8 * s|U8 * end
-=for apidoc_item ||isPRINT_LC|int ch
-=for apidoc_item ||isPRINT_LC_uvchr|int ch
+=for apidoc_item ||isPRINT_LC|UV ch
+=for apidoc_item ||isPRINT_LC_uvchr|UV ch
 =for apidoc_item ||isPRINT_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a
 printable character, analogous to C<m/[[:print:]]/>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isWORDCHAR|int ch
-=for apidoc_item ||isWORDCHAR_A|int ch
-=for apidoc_item ||isWORDCHAR_L1|int ch
-=for apidoc_item ||isWORDCHAR_uvchr|int ch
+=for apidoc Am|bool|isWORDCHAR|UV ch
+=for apidoc_item ||isWORDCHAR_A|UV ch
+=for apidoc_item ||isWORDCHAR_L1|UV ch
+=for apidoc_item ||isWORDCHAR_uvchr|UV ch
 =for apidoc_item ||isWORDCHAR_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isWORDCHAR_utf8|U8 * s|U8 * end
-=for apidoc_item ||isWORDCHAR_LC|int ch
-=for apidoc_item ||isWORDCHAR_LC_uvchr|int ch
+=for apidoc_item ||isWORDCHAR_LC|UV ch
+=for apidoc_item ||isWORDCHAR_LC_uvchr|UV ch
 =for apidoc_item ||isWORDCHAR_LC_utf8_safe|U8 * s| U8 *end
-=for apidoc_item ||isALNUM|int ch
-=for apidoc_item ||isALNUM_A|int ch
-=for apidoc_item ||isALNUM_LC|int ch
-=for apidoc_item ||isALNUM_LC_uvchr|int ch
+=for apidoc_item ||isALNUM|UV ch
+=for apidoc_item ||isALNUM_A|UV ch
+=for apidoc_item ||isALNUM_LC|UV ch
+=for apidoc_item ||isALNUM_LC_uvchr|UV ch
 Returns a boolean indicating whether the specified character is a character
 that is a word character, analogous to what C<m/\w/> and C<m/[[:word:]]/> match
 in a regular expression.  A word character is an alphabetic character, a
@@ -1088,14 +1088,14 @@ C<isWORDCHAR_LC>, C<isWORDCHAR_LC_uvchr>, C<isWORDCHAR_LC_utf8>, and
 C<isWORDCHAR_LC_utf8_safe> are also as described there, but additionally
 include the platform's native underscore.
 
-=for apidoc Am|bool|isXDIGIT|int ch
-=for apidoc_item ||isXDIGIT_A|int ch
-=for apidoc_item ||isXDIGIT_L1|int ch
-=for apidoc_item ||isXDIGIT_uvchr|int ch
+=for apidoc Am|bool|isXDIGIT|UV ch
+=for apidoc_item ||isXDIGIT_A|UV ch
+=for apidoc_item ||isXDIGIT_L1|UV ch
+=for apidoc_item ||isXDIGIT_uvchr|UV ch
 =for apidoc_item ||isXDIGIT_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isXDIGIT_utf8|U8 * s|U8 * end
-=for apidoc_item ||isXDIGIT_LC|int ch
-=for apidoc_item ||isXDIGIT_LC_uvchr|int ch
+=for apidoc_item ||isXDIGIT_LC|UV ch
+=for apidoc_item ||isXDIGIT_LC_uvchr|UV ch
 =for apidoc_item ||isXDIGIT_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character is a hexadecimal
 digit.  In the ASCII range these are C<[0-9A-Fa-f]>.  Variants C<isXDIGIT_A()>
@@ -1103,14 +1103,14 @@ and C<isXDIGIT_L1()> are identical to C<isXDIGIT()>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isIDFIRST|int ch
-=for apidoc_item ||isIDFIRST_A|int ch
-=for apidoc_item ||isIDFIRST_L1|int ch
-=for apidoc_item ||isIDFIRST_uvchr|int ch
+=for apidoc Am|bool|isIDFIRST|UV ch
+=for apidoc_item ||isIDFIRST_A|UV ch
+=for apidoc_item ||isIDFIRST_L1|UV ch
+=for apidoc_item ||isIDFIRST_uvchr|UV ch
 =for apidoc_item ||isIDFIRST_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isIDFIRST_utf8|U8 * s|U8 * end
-=for apidoc_item ||isIDFIRST_LC|int ch
-=for apidoc_item ||isIDFIRST_LC_uvchr|int ch
+=for apidoc_item ||isIDFIRST_LC|UV ch
+=for apidoc_item ||isIDFIRST_LC_uvchr|UV ch
 =for apidoc_item ||isIDFIRST_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character can be the first
 character of an identifier.  This is very close to, but not quite the same as
@@ -1119,14 +1119,14 @@ returns true only if the input character also matches L</isWORDCHAR>.
 See the L<top of this section|/Character classification> for an explanation of
 the variants.
 
-=for apidoc Am|bool|isIDCONT|int ch
-=for apidoc_item ||isIDCONT_A|int ch
-=for apidoc_item ||isIDCONT_L1|int ch
-=for apidoc_item ||isIDCONT_uvchr|int ch
+=for apidoc Am|bool|isIDCONT|UV ch
+=for apidoc_item ||isIDCONT_A|UV ch
+=for apidoc_item ||isIDCONT_L1|UV ch
+=for apidoc_item ||isIDCONT_uvchr|UV ch
 =for apidoc_item ||isIDCONT_utf8_safe|U8 * s|U8 * end
 =for apidoc_item ||isIDCONT_utf8|U8 * s|U8 * end
-=for apidoc_item ||isIDCONT_LC|int ch
-=for apidoc_item ||isIDCONT_LC_uvchr|int ch
+=for apidoc_item ||isIDCONT_LC|UV ch
+=for apidoc_item ||isIDCONT_LC_uvchr|UV ch
 =for apidoc_item ||isIDCONT_LC_utf8_safe|U8 * s| U8 *end
 Returns a boolean indicating whether the specified character can be the
 second or succeeding character of an identifier.  This is very close to, but