This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Windows specific changes
authorJan Dubois <jand@activestate.com>
Tue, 16 Mar 2010 07:39:58 +0000 (00:39 -0700)
committerJan Dubois <jand@activestate.com>
Tue, 16 Mar 2010 07:39:58 +0000 (00:39 -0700)
pod/perl5120delta.pod

index 1cd421e..1bfd5f2 100644 (file)
@@ -2192,11 +2192,6 @@ POSIX::strftime() can now handle Unicode characters in the format string.
 
 =item *
 
-The Windows select() implementation now supports all empty C<fd_set>s
-more correctly.
-
-=item *
-
 The C<syntax> category was removed from 5 warnings that should only be in
 C<deprecated>.
 
@@ -2277,7 +2272,9 @@ Rainer Weikusat was used; Daniel Burr also proposed a similar fix).
 
 =item *
 
-F<perl5db.pl> now supports C<LVALUE> subroutines.  Additionally, the debugger now correctly handles proxy constant subroutines, and subroutine stubs.
+F<perl5db.pl> now supports C<LVALUE> subroutines.  Additionally, the
+debugger now correctly handles proxy constant subroutines, and
+subroutine stubs.
 
 =item *
 
@@ -2541,11 +2538,6 @@ spurious warning like the following:
 
 =item *
 
-On Windows, C<'.\foo'> and C<'..\foo'>  were treated differently than
-C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
-
-=item *
-
 Assigning a format to a glob could corrupt the format; e.g.:
 
      *bar=*foo{FORMAT}; # foo format now bad
@@ -2887,44 +2879,87 @@ There is now support for Symbian S60 3.2 SDK and S60 5.0 SDK.
 
 =back
 
-=item Win32
+=item Windows
 
 =over 4
 
 =item *
 
-Initial support for mingw64 is now available.
+Perl 5.12 supports Windows 2000 and later. The supporting code for
+legacy versions of Windows is still included, but will be removed
+during the next development cycle.
 
 =item *
 
-Various bits of Perl's build infrastructure are no longer converted to
-win32 line endings at release time. If this hurts you, please report the
-problem with the L<perlbug> program included with perl.
+Initial support for building Perl with MinGW-w64 is now available.
 
 =item *
 
-Always add a manifest resource to C<perl.exe> to specify the C<trustInfo>
+F<perl.exe> now includes a manifest resource to specify the C<trustInfo>
 settings for Windows Vista and later. Without this setting Windows
-will treat C<perl.exe> as a legacy application and apply various
+would treat F<perl.exe> as a legacy application and apply various
 heuristics like redirecting access to protected file system areas
 (like the "Program Files" folder) to the users "VirtualStore"
 instead of generating a proper "permission denied" error.
 
-For VC8 and VC9 this manifest setting is automatically generated by
-the compiler/linker (together with the binding information for their
-respective runtime libraries); for all other compilers we need to
-embed the manifest resource explicitly in the external resource file.
+The manifest resource also requests the Microsoft Common-Controls
+version 6.0 (themed controls introduced in Windows XP).  Check out the
+Win32::VisualStyles module on CPAN to switch back to old style
+unthemed controls for legacy applications.
+
+=item *
+
+The C<-t> filetest operator now only returns true if the filehandle
+is connected to a console window.  In previous versions of Perl it
+would return true for all character mode devices, including F<NUL>
+and F<LPT1>.
+
+=item *
+
+The C<-p> filetest operator now works correctly, and the
+Fcntl::S_IFIFO constant is defined when Perl is compiled with
+Microsoft Visual C.  In previous Perl versions C<-p> always
+returned a false value, and the Fcntl::S_IFIFO constant
+was not defined.
+
+This bug is specific to Microsoft Visual C and never affected
+Perl binaries built with MinGW.
+
+=item *
+
+The socket error codes are now more widely supported:  The POSIX
+module will define the symbolic names, like POSIX::EWOULDBLOCK,
+and stringification of socket error codes in $! works as well
+now;
+
+  C:\>perl -MPOSIX -E "$!=POSIX::EWOULDBLOCK; say $!"
+  A non-blocking socket operation could not be completed immediately.
+
+=item *
+
+flock() will now set sensible error codes in $!.  Previous Perl versions
+copied the value of $^E into $!, which caused much confusion.
+
+=item *
+
+select() now supports all empty C<fd_set>s more correctly.
 
-This change also requests the Microsoft Common-Controls version 6.0
-(themed controls introduced in Windows XP) via the dependency list
-in the assembly manifest. For VC8 and VC9 this is specified using the
-C</manifestdependency> linker commandline option instead.
+=item *
+
+C<'.\foo'> and C<'..\foo'>  were treated differently than
+C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
 
 =item *
 
 Improved message window handling means that C<alarm> and C<kill> messages
 will no longer be dropped under race conditions.
 
+=item *
+
+Various bits of Perl's build infrastructure are no longer converted to
+win32 line endings at release time. If this hurts you, please report the
+problem with the L<perlbug> program included with perl.
+
 =back
 
 =back
@@ -2961,7 +2996,9 @@ will appear to hang as they get into a very long running loop [RT #72998].
 
 =item *
 
-Several porters have reported mysterious crashes when Perl's entire test suite is run after a build on certain Windows 2000 systems. When run by hand, the individual tests reportedly work fine.
+Several porters have reported mysterious crashes when Perl's entire
+test suite is run after a build on certain Windows 2000 systems. When
+run by hand, the individual tests reportedly work fine.
 
 =back
 
@@ -2988,7 +3025,9 @@ Perl 5.12.0 represents approximately two years of development since
 Perl 5.10.0 and contains over 750,000 lines of changes across over
 3000 files from over 200 authors and committers.
 
-Perl continues to flourish into its third decade thanks to a vibrant community of users and developers.  The following people are known to have contributed the improvements that became Perl 5.12.0:
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers.  The following people are known to
+have contributed the improvements that became Perl 5.12.0:
 
 Aaron Crane, Abe Timmerman, Abhijit Menon-Sen, Abigail, Adam Russell,
 Adriano Ferreira, Ævar Arnfjörð Bjarmason, Alan Grover, Alexandr