This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: close setting $! is a bugfix
authorRicardo Signes <rjbs@cpan.org>
Fri, 29 May 2015 22:47:57 +0000 (18:47 -0400)
committerRicardo Signes <rjbs@cpan.org>
Fri, 29 May 2015 22:47:57 +0000 (18:47 -0400)
pod/perldelta.pod

index 2d34ef5..83f4a7f 100644 (file)
@@ -176,14 +176,6 @@ is now implemented on Win32.  It has the same limitations as C<system
 LIST> on Win32, since the Win32 API doesn't accept program arguments
 as a list.
 
-=head2 C<close> now sets C<$!>
-
-When an I/O error occurs, the fact that there has been an error is recorded
-in the handle.  C<close> returns false for such a handle.  Previously, the
-value of C<$!> would be untouched by C<close>, so the common convention of
-writing S<C<close $fh or die $!>> did not work reliably.  Now the handle
-records the value of C<$!>, too, and C<close> restores it.
-
 =head2 Assignment to list repetition
 
 C<(...) x ...> can now be used within a list that is assigned to, as long
@@ -2958,6 +2950,16 @@ index is still done using C<aelemfast>.
 
 =item *
 
+C<close> now sets C<$!>
+
+When an I/O error occurs, the fact that there has been an error is recorded
+in the handle.  C<close> returns false for such a handle.  Previously, the
+value of C<$!> would be untouched by C<close>, so the common convention of
+writing S<C<close $fh or die $!>> did not work reliably.  Now the handle
+records the value of C<$!>, too, and C<close> restores it.
+
+=item *
+
 C<pack("D", $x)> and C<pack("F", $x)> now zero the padding on x86 long
 double builds.  Under some build options on GCC 4.8 and later, they used
 to either overwrite the zero-initialized padding, or bypass the