These macros should not be used as they are prone to misuse. There are
no occurrences of them in CPAN. The single use of either of them in
core has recently been removed (commit
8d40577bdbdfa85ed3293f84bf26a313b1b92f55), because it was a misuse.
Instead code should use isIDFIRST_lazy_if or isWORDCHAR_lazy_if
(isALNUM_lazy_if is also available, but can be confused with the Posix
alnum, which it doesn't mean).
ADMpPR |bool |is_uni_xdigit |UV c
AMp |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp
AMp |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp
+iDMpPR |bool |isIDFIRST_lazy |NN const char* p
+iDMpPR |bool |isALNUM_lazy |NN const char* p
#ifdef PERL_IN_UTF8_C
sR |U8 |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
#endif
#define intro_my() Perl_intro_my(aTHX)
#define invert(a) Perl_invert(aTHX_ a)
#define io_close(a,b) Perl_io_close(aTHX_ a,b)
+#define isALNUM_lazy(a) S_isALNUM_lazy(aTHX_ a)
+#define isIDFIRST_lazy(a) S_isIDFIRST_lazy(aTHX_ a)
#define jmaybe(a) Perl_jmaybe(aTHX_ a)
#define keyword(a,b,c) Perl_keyword(aTHX_ a,b,c)
#define list(a) Perl_list(aTHX_ a)
#ifdef __clang__
#pragma clang diagnostic pop
#endif
+
+/* ------------------------------- utf8.h ------------------------------- */
+
+/* These exist only to replace the macros they formerly were so that their use
+ * can be deprecated */
+
+PERL_STATIC_INLINE bool
+S_isIDFIRST_lazy(pTHX_ const char* p)
+{
+ PERL_ARGS_ASSERT_ISIDFIRST_LAZY;
+
+ return isIDFIRST_lazy_if(p,1);
+}
+
+PERL_STATIC_INLINE bool
+S_isALNUM_lazy(pTHX_ const char* p)
+{
+ PERL_ARGS_ASSERT_ISALNUM_LAZY;
+
+ return isALNUM_lazy_if(p,1);
+}
#define PERL_ARGS_ASSERT_IO_CLOSE \
assert(io)
+PERL_STATIC_INLINE bool S_isALNUM_lazy(pTHX_ const char* p)
+ __attribute__deprecated__
+ __attribute__warn_unused_result__
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_ISALNUM_LAZY \
+ assert(p)
+
+PERL_STATIC_INLINE bool S_isIDFIRST_lazy(pTHX_ const char* p)
+ __attribute__deprecated__
+ __attribute__warn_unused_result__
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY \
+ assert(p)
+
PERL_CALLCONV bool Perl_is_ascii_string(const U8 *s, STRLEN len)
__attribute__nonnull__(1);
#define PERL_ARGS_ASSERT_IS_ASCII_STRING \
: isWORDCHAR_utf8((const U8*)p))
#define isALNUM_lazy_if(p,UTF) isWORDCHAR_lazy_if(p,UTF)
-#define isIDFIRST_lazy(p) isIDFIRST_lazy_if(p,1)
-#define isALNUM_lazy(p) isALNUM_lazy_if(p,1)
-
#define UTF8_MAXLEN UTF8_MAXBYTES
/* A Unicode character can fold to up to 3 characters */