utf8.c(): Default to allow problematic code points
authorKarl Williamson <public@khwilliamson.com>
Sun, 9 Jan 2011 20:50:18 +0000 (13:50 -0700)
committerKarl Williamson <public@khwilliamson.com>
Mon, 10 Jan 2011 02:29:02 +0000 (19:29 -0700)
commit949cf4983af707fbd15e422845f4f3df20505f97
treed317093ddaeba7799370f31a8ee4537edce8d090
parent6ee84de2b1afaa2b442cdbaa59f3cf83e3a562e1
utf8.c(): Default to allow problematic code points

Surrogates, non-character code points, and code points that aren't in Unicode
are now allowed by default, instead of having to specify a flag to allow them.
(Most code did specify those flags anyway.)

This affects uvuni_to_utf8_flags(), utf8n_to_uvuni() and various routines that
are specialized interfaces to them.

Now there is a new set of flags to disallow those code points.  Further, all 66
of the non-character code points are known about and handled consistently,
instead of just U+FFFF.

Code that requires these code points to be forbidden will have to change to use
the new flags.  I have looked at all the (few) instances in CPAN where these
routines are used, and the only one I found that appears to have need to do
this, Encode, has already been patched to accommodate this change.  Of course,
I may have overlooked some subtleties.
pod/perldiag.pod
t/lib/warnings/utf8
utf8.c
utf8.h