In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/0ba9d88c925494ce5e0e96d4ea3c11637807f08c?hp=fb10a8a78bba7573de4629b739bfe81cd42e78c9>

- Log -----------------------------------------------------------------
commit 0ba9d88c925494ce5e0e96d4ea3c11637807f08c
Author: Tony Cook <t...@develop-help.com>
Date:   Mon Aug 17 16:38:53 2015 +1000

    perldelta for fb10a8a78bba
-----------------------------------------------------------------------

Summary of changes:
 pod/perldelta.pod | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 8ae82cf..0530b16 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -49,6 +49,28 @@ XXX For a release on a stable branch, this section aspires 
to be:
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
 
+=head2 sysread(), syswrite(), recv() and send() are deprecated on
+:utf8 handles
+
+The sysread(), recv(), syswrite() and send() operators
+are deprecated on handles that have the C<:utf8> layer, either
+explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer.
+
+Both sysread() and recv() currently use only the C<:utf8> flag for the
+stream, ignoring the actual layers.  Since sysread() and recv() do no
+UTF-8 validation they can end up creating invalidly encoded scalars.
+
+Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise
+ignoring any layers.  If the flag is set, both write the value UTF-8
+encoded, even if the layer is some different encoding, such as the
+example above.
+
+Ideally, all of these operators would completely ignore the C<:utf8>
+state, working only with bytes, but this would result in silently
+breaking existing code.  To avoid this a future version of perl will
+throw an exception when any of sysread(), recv(), syswrite() or send()
+are called on handle with the C<:utf8> layer.
+
 =head2 Module removals
 
 XXX Remove this section if inapplicable.

--
Perl5 Master Repository

Reply via email to