In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/ba707cdc782d882662421af06658ff4afdf31003?hp=e6704a40e007cf599527cad0675d63c2ca3e423d>
- Log ----------------------------------------------------------------- commit ba707cdc782d882662421af06658ff4afdf31003 Author: Karl Williamson <k...@cpan.org> Date: Wed May 13 17:57:06 2015 -0600 Change wording of warning due to Unicode Standard change Non-characters are no longer forbidden as of Unicode 7.0; they are just "not recommended". The wording of the warning changes accordingly. ----------------------------------------------------------------------- Summary of changes: ext/XS-APItest/t/utf8.t | 2 +- pod/perldiag.pod | 2 +- t/lib/warnings/utf8 | 80 ++++++++++++++++++++++++------------------------- utf8.c | 6 ++-- 4 files changed, 45 insertions(+), 45 deletions(-) diff --git a/ext/XS-APItest/t/utf8.t b/ext/XS-APItest/t/utf8.t index 8322cb9..798380f 100644 --- a/ext/XS-APItest/t/utf8.t +++ b/ext/XS-APItest/t/utf8.t @@ -163,7 +163,7 @@ my @tests = ( ], [ "non-character code point", "\xEF\xB7\x90", $UTF8_WARN_NONCHAR, $UTF8_DISALLOW_NONCHAR, 'nonchar', 0xFDD0, 3, - qr/Unicode non-character.*is illegal for open interchange/ + qr/Unicode non-character.*is not recommended for open interchange/ ], [ "begins with FE", "\xfe\x82\x80\x80\x80\x80\x80", diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 6ac8ee8..159b9ac 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -6121,7 +6121,7 @@ There should be an operator before the C<"(">, as there's no indication as to how the digits are to be combined with the characters in the Lao and Thai scripts. -=item Unicode non-character U+%X is illegal for open interchange +=item Unicode non-character U+%X is not recommended for open interchange (S nonchar) Certain codepoints, such as U+FFFE and U+FFFF, are defined by the Unicode standard to be non-characters. Those diff --git a/t/lib/warnings/utf8 b/t/lib/warnings/utf8 index 2dfb4cb..955ac55 100644 --- a/t/lib/warnings/utf8 +++ b/t/lib/warnings/utf8 @@ -408,42 +408,42 @@ close $fh; EXPECT Unicode surrogate U+D800 is illegal in UTF-8 at - line 6. Unicode surrogate U+DFFF is illegal in UTF-8 at - line 7. -Unicode non-character U+FDD0 is illegal for open interchange at - line 10. -Unicode non-character U+FDEF is illegal for open interchange at - line 11. -Unicode non-character U+FFFE is illegal for open interchange at - line 15. -Unicode non-character U+FFFF is illegal for open interchange at - line 16. -Unicode non-character U+1FFFE is illegal for open interchange at - line 18. -Unicode non-character U+1FFFF is illegal for open interchange at - line 19. -Unicode non-character U+2FFFE is illegal for open interchange at - line 20. -Unicode non-character U+2FFFF is illegal for open interchange at - line 21. -Unicode non-character U+3FFFE is illegal for open interchange at - line 22. -Unicode non-character U+3FFFF is illegal for open interchange at - line 23. -Unicode non-character U+4FFFE is illegal for open interchange at - line 24. -Unicode non-character U+4FFFF is illegal for open interchange at - line 25. -Unicode non-character U+5FFFE is illegal for open interchange at - line 26. -Unicode non-character U+5FFFF is illegal for open interchange at - line 27. -Unicode non-character U+6FFFE is illegal for open interchange at - line 28. -Unicode non-character U+6FFFF is illegal for open interchange at - line 29. -Unicode non-character U+7FFFE is illegal for open interchange at - line 30. -Unicode non-character U+7FFFF is illegal for open interchange at - line 31. -Unicode non-character U+8FFFE is illegal for open interchange at - line 32. -Unicode non-character U+8FFFF is illegal for open interchange at - line 33. -Unicode non-character U+9FFFE is illegal for open interchange at - line 34. -Unicode non-character U+9FFFF is illegal for open interchange at - line 35. -Unicode non-character U+AFFFE is illegal for open interchange at - line 36. -Unicode non-character U+AFFFF is illegal for open interchange at - line 37. -Unicode non-character U+BFFFE is illegal for open interchange at - line 38. -Unicode non-character U+BFFFF is illegal for open interchange at - line 39. -Unicode non-character U+CFFFE is illegal for open interchange at - line 40. -Unicode non-character U+CFFFF is illegal for open interchange at - line 41. -Unicode non-character U+DFFFE is illegal for open interchange at - line 42. -Unicode non-character U+DFFFF is illegal for open interchange at - line 43. -Unicode non-character U+EFFFE is illegal for open interchange at - line 44. -Unicode non-character U+EFFFF is illegal for open interchange at - line 45. -Unicode non-character U+FFFFE is illegal for open interchange at - line 46. -Unicode non-character U+FFFFF is illegal for open interchange at - line 47. -Unicode non-character U+10FFFE is illegal for open interchange at - line 49. -Unicode non-character U+10FFFF is illegal for open interchange at - line 50. +Unicode non-character U+FDD0 is not recommended for open interchange at - line 10. +Unicode non-character U+FDEF is not recommended for open interchange at - line 11. +Unicode non-character U+FFFE is not recommended for open interchange at - line 15. +Unicode non-character U+FFFF is not recommended for open interchange at - line 16. +Unicode non-character U+1FFFE is not recommended for open interchange at - line 18. +Unicode non-character U+1FFFF is not recommended for open interchange at - line 19. +Unicode non-character U+2FFFE is not recommended for open interchange at - line 20. +Unicode non-character U+2FFFF is not recommended for open interchange at - line 21. +Unicode non-character U+3FFFE is not recommended for open interchange at - line 22. +Unicode non-character U+3FFFF is not recommended for open interchange at - line 23. +Unicode non-character U+4FFFE is not recommended for open interchange at - line 24. +Unicode non-character U+4FFFF is not recommended for open interchange at - line 25. +Unicode non-character U+5FFFE is not recommended for open interchange at - line 26. +Unicode non-character U+5FFFF is not recommended for open interchange at - line 27. +Unicode non-character U+6FFFE is not recommended for open interchange at - line 28. +Unicode non-character U+6FFFF is not recommended for open interchange at - line 29. +Unicode non-character U+7FFFE is not recommended for open interchange at - line 30. +Unicode non-character U+7FFFF is not recommended for open interchange at - line 31. +Unicode non-character U+8FFFE is not recommended for open interchange at - line 32. +Unicode non-character U+8FFFF is not recommended for open interchange at - line 33. +Unicode non-character U+9FFFE is not recommended for open interchange at - line 34. +Unicode non-character U+9FFFF is not recommended for open interchange at - line 35. +Unicode non-character U+AFFFE is not recommended for open interchange at - line 36. +Unicode non-character U+AFFFF is not recommended for open interchange at - line 37. +Unicode non-character U+BFFFE is not recommended for open interchange at - line 38. +Unicode non-character U+BFFFF is not recommended for open interchange at - line 39. +Unicode non-character U+CFFFE is not recommended for open interchange at - line 40. +Unicode non-character U+CFFFF is not recommended for open interchange at - line 41. +Unicode non-character U+DFFFE is not recommended for open interchange at - line 42. +Unicode non-character U+DFFFF is not recommended for open interchange at - line 43. +Unicode non-character U+EFFFE is not recommended for open interchange at - line 44. +Unicode non-character U+EFFFF is not recommended for open interchange at - line 45. +Unicode non-character U+FFFFE is not recommended for open interchange at - line 46. +Unicode non-character U+FFFFF is not recommended for open interchange at - line 47. +Unicode non-character U+10FFFE is not recommended for open interchange at - line 49. +Unicode non-character U+10FFFF is not recommended for open interchange at - line 50. Code point 0x110000 is not Unicode, may not be portable at - line 51. ######## require "../test.pl"; @@ -456,7 +456,7 @@ print $fh "\x{110000}", "\n"; close $fh; EXPECT Unicode surrogate U+D800 is illegal in UTF-8 at - line 5. -Unicode non-character U+FFFF is illegal for open interchange at - line 6. +Unicode non-character U+FFFF is not recommended for open interchange at - line 6. Code point 0x110000 is not Unicode, may not be portable at - line 7. ######## require "../test.pl"; @@ -469,7 +469,7 @@ print $fh "\x{FFFF}", "\n"; print $fh "\x{110000}", "\n"; close $fh; EXPECT -Unicode non-character U+FFFF is illegal for open interchange at - line 7. +Unicode non-character U+FFFF is not recommended for open interchange at - line 7. Code point 0x110000 is not Unicode, may not be portable at - line 8. ######## require "../test.pl"; @@ -496,7 +496,7 @@ print $fh "\x{110000}", "\n"; close $fh; EXPECT Unicode surrogate U+D800 is illegal in UTF-8 at - line 6. -Unicode non-character U+FFFF is illegal for open interchange at - line 7. +Unicode non-character U+FFFF is not recommended for open interchange at - line 7. ######## # NAME C<use warnings "nonchar"> works in isolation require "../test.pl"; @@ -506,7 +506,7 @@ open(my $fh, "+>:utf8", $file); print $fh "\x{FFFF}", "\n"; close $fh; EXPECT -Unicode non-character U+FFFF is illegal for open interchange at - line 5. +Unicode non-character U+FFFF is not recommended for open interchange at - line 5. ######## # NAME C<use warnings "surrogate"> works in isolation require "../test.pl"; diff --git a/utf8.c b/utf8.c index c3f0200..360e1f5 100644 --- a/utf8.c +++ b/utf8.c @@ -147,7 +147,7 @@ Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags) else if (UNICODE_IS_NONCHAR(uv)) { if (flags & UNICODE_WARN_NONCHAR) { Perl_ck_warner_d(aTHX_ packWARN(WARN_NONCHAR), - "Unicode non-character U+%04"UVXf" is illegal for open interchange", + "Unicode non-character U+%04"UVXf" is not recommended for open interchange", uv); } if (flags & UNICODE_DISALLOW_NONCHAR) { @@ -742,7 +742,7 @@ Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags) if ((flags & (UTF8_WARN_NONCHAR|UTF8_CHECK_ONLY)) == UTF8_WARN_NONCHAR && ckWARN_d(WARN_NONCHAR)) { - sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Unicode non-character U+%04"UVXf" is illegal for open interchange", uv)); + sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Unicode non-character U+%04"UVXf" is not recommended for open interchange", uv)); pack_warn = packWARN(WARN_NONCHAR); } if (flags & UTF8_DISALLOW_NONCHAR) { @@ -3774,7 +3774,7 @@ Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len) { UV uv = utf8_to_uvchr_buf(s, e, &char_len); Perl_warner(aTHX_ packWARN(WARN_NONCHAR), - "Unicode non-character U+%04"UVXf" is illegal for open interchange", uv); + "Unicode non-character U+%04"UVXf" is not recommended for open interchange", uv); ok = FALSE; } } -- Perl5 Master Repository