This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upgrade to Params::Check 0.26
[perl5.git]
/
utf8.h
diff --git
a/utf8.h
b/utf8.h
index
18cb7b2
..
5ffee5b
100644
(file)
--- a/
utf8.h
+++ b/
utf8.h
@@
-1,6
+1,6
@@
/* utf8.h
*
/* utf8.h
*
- * Copyright (C) 2000, 2001, 2002, 2005 by Larry Wall and others
+ * Copyright (C) 2000, 2001, 2002, 2005
, 2006
by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@
-16,12
+16,17
@@
# define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
#endif
# define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
#endif
+/* Source backward compatibility. */
+#define uvuni_to_utf8(d, uv) uvuni_to_utf8_flags(d, uv, 0)
+#define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0)
+
#ifdef EBCDIC
/* The equivalent of these macros but implementing UTF-EBCDIC
are in the following header file:
*/
#include "utfebcdic.h"
#ifdef EBCDIC
/* The equivalent of these macros but implementing UTF-EBCDIC
are in the following header file:
*/
#include "utfebcdic.h"
+
#else
START_EXTERN_C
#else
START_EXTERN_C
@@
-58,8
+63,8
@@
END_EXTERN_C
#define ASCII_TO_NEED(enc,ch) (ch)
/* As there are no translations avoid the function wrapper */
#define ASCII_TO_NEED(enc,ch) (ch)
/* As there are no translations avoid the function wrapper */
-#define
Perl_utf8n_to_uvchr Perl_
utf8n_to_uvuni
-#define
Perl_uvchr_to_utf8 Perl_
uvuni_to_utf8
+#define
utf8n_to_uvchr
utf8n_to_uvuni
+#define
uvchr_to_utf8
uvuni_to_utf8
/*
/*
@@
-145,7
+150,7
@@
encoded character.
* Note: we try to be careful never to call the isXXX_utf8() functions
* unless we're pretty sure we've seen the beginning of a UTF-8 character
* (that is, the two high bits are set). Otherwise we risk loading in the
* Note: we try to be careful never to call the isXXX_utf8() functions
* unless we're pretty sure we've seen the beginning of a UTF-8 character
* (that is, the two high bits are set). Otherwise we risk loading in the
- * heavy-duty
SWASHINIT and SWASHGET
routines unnecessarily.
+ * heavy-duty
swash_init and swash_fetch
routines unnecessarily.
*/
#define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || (*((const U8*)p) < 0xc0))) \
? isIDFIRST(*(p)) \
*/
#define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || (*((const U8*)p) < 0xc0))) \
? isIDFIRST(*(p)) \
@@
-183,21
+188,23
@@
encoded character.
* SpecialCasing.txt. */
#define UTF8_MAXBYTES_CASE 6
* SpecialCasing.txt. */
#define UTF8_MAXBYTES_CASE 6
-#define IN_BYTES (
PL_curcop->op_private
& HINT_BYTES)
+#define IN_BYTES (
CopHINTS_get(PL_curcop)
& HINT_BYTES)
#define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES)
#define UTF8_ALLOW_EMPTY 0x0001
#define UTF8_ALLOW_CONTINUATION 0x0002
#define UTF8_ALLOW_NON_CONTINUATION 0x0004
#define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES)
#define UTF8_ALLOW_EMPTY 0x0001
#define UTF8_ALLOW_CONTINUATION 0x0002
#define UTF8_ALLOW_NON_CONTINUATION 0x0004
-#define UTF8_ALLOW_FE_FF 0x0008
+#define UTF8_ALLOW_FE_FF 0x0008
/* Allow above 0x7fffFFFF */
#define UTF8_ALLOW_SHORT 0x0010
#define UTF8_ALLOW_SURROGATE 0x0020
#define UTF8_ALLOW_SHORT 0x0010
#define UTF8_ALLOW_SURROGATE 0x0020
-#define UTF8_ALLOW_FFFF 0x0040 /* Allow
s also FFFE.
*/
+#define UTF8_ALLOW_FFFF 0x0040 /* Allow
UNICODE_ILLEGAL
*/
#define UTF8_ALLOW_LONG 0x0080
#define UTF8_ALLOW_ANYUV (UTF8_ALLOW_EMPTY|UTF8_ALLOW_FE_FF|\
UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
#define UTF8_ALLOW_ANY 0x00FF
#define UTF8_CHECK_ONLY 0x0200
#define UTF8_ALLOW_LONG 0x0080
#define UTF8_ALLOW_ANYUV (UTF8_ALLOW_EMPTY|UTF8_ALLOW_FE_FF|\
UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
#define UTF8_ALLOW_ANY 0x00FF
#define UTF8_CHECK_ONLY 0x0200
+#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
+ UTF8_ALLOW_ANYUV)
#define UNICODE_SURROGATE_FIRST 0xD800
#define UNICODE_SURROGATE_LAST 0xDFFF
#define UNICODE_SURROGATE_FIRST 0xD800
#define UNICODE_SURROGATE_LAST 0xDFFF
@@
-211,8
+218,8
@@
encoded character.
#define UNICODE_ALLOW_SURROGATE 0x0001 /* Allow UTF-16 surrogates (EVIL) */
#define UNICODE_ALLOW_FDD0 0x0002 /* Allow the U+FDD0...U+FDEF */
#define UNICODE_ALLOW_SURROGATE 0x0001 /* Allow UTF-16 surrogates (EVIL) */
#define UNICODE_ALLOW_FDD0 0x0002 /* Allow the U+FDD0...U+FDEF */
-#define UNICODE_ALLOW_FFFF 0x0004 /* Allow
0xFFF[EF], 0x
1FFF[EF], ... */
-#define UNICODE_ALLOW_SUPER 0x0008 /* Allow past
10x
FFFF */
+#define UNICODE_ALLOW_FFFF 0x0004 /* Allow
U+FFF[EF], U+
1FFF[EF], ... */
+#define UNICODE_ALLOW_SUPER 0x0008 /* Allow past
0x10
FFFF */
#define UNICODE_ALLOW_ANY 0x000F
#define UNICODE_IS_SURROGATE(c) ((c) >= UNICODE_SURROGATE_FIRST && \
#define UNICODE_ALLOW_ANY 0x000F
#define UNICODE_IS_SURROGATE(c) ((c) >= UNICODE_SURROGATE_FIRST && \
@@
-332,7
+339,4
@@
encoded character.
#define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
#define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
-#define uvuni_to_utf8(d, uv) uvuni_to_utf8_flags(d, uv, 0)
-#define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0)
-
#endif /* IS_UTF8_CHAR() for UTF-8 */
#endif /* IS_UTF8_CHAR() for UTF-8 */