argra****@users*****
argra****@users*****
2012年 5月 17日 (木) 01:54:37 JST
Index: docs/perl/5.16.0/perl5160delta.pod diff -u docs/perl/5.16.0/perl5160delta.pod:1.18 docs/perl/5.16.0/perl5160delta.pod:1.19 --- docs/perl/5.16.0/perl5160delta.pod:1.18 Wed May 16 20:25:31 2012 +++ docs/perl/5.16.0/perl5160delta.pod Thu May 17 01:54:37 2012 @@ -35,13 +35,13 @@ =begin original -Some of the bug fixes in this release have been backported to subsequent +Some bug fixes in this release have been backported to later releases of 5.14.x. Those are indicated with the 5.14.x version in parentheses. =end original -ãã®ãªãªã¼ã¹ã§ä¿®æ£ããããã°ã®ããã¤ã㯠5.14.x ã®ãªãªã¼ã¹ã« +ãã®ãªãªã¼ã¹ã§ã®ãã°ä¿®æ£ã®ããã¤ã㯠5.14.x ã®ãªãªã¼ã¹ã« ããã¯ãã¼ãããã¾ããã ãã®ãããªãã®ã¯ãã£ãã®ä¸ã« 5.14.x ã®ãã¼ã¸ã§ã³çªå·ãæ¸ãã¦ç¤ºãã¦ãã¾ãã @@ -117,7 +117,7 @@ There is a new ":default" feature bundle that represents the set of features enabled before any version declaration or C<use feature> has been seen. Version declarations below 5.10 now enable the ":default" -feature set. This does not actually change the behaviour of C<use +feature set. This does not actually change the behavior of C<use v5.8>, because features added to the ":default" set are those that were traditionally enabled by default, before they could be turned off. @@ -232,7 +232,7 @@ (C<substr> 左辺å¤ã®å·æ°) -=for comment Does this belong here, or under Incomptable Changes? +=for comment Does this belong here, or under Incompatible Changes? =begin original @@ -313,7 +313,7 @@ =begin original Since this change also allowed many bugs to be fixed (see -L</The C<substr> operator>), and since the behaviour +L</The C<substr> operator>), and since the behavior of negative offsets has never been specified, the change was deemed acceptable. @@ -332,15 +332,15 @@ The value returned by C<tied> on a tied variable is now the actual scalar that holds the object to which the variable is tied. This -allows ties to be weakened with C<Scalar::Util::weaken(tied +lets ties be weakened with C<Scalar::Util::weaken(tied $tied_variable)>. =end original tie ãããå¤æ°ã«å¯¾ãã C<tied> ã«ãã£ã¦è¿ãããå¤ã¯ãå¤æ°ã tie ããã ãªãã¸ã§ã¯ããä¿æããå®éã®ã¹ã«ã©ã«ãªãã¾ããã -ããã«ãã C<Scalar::Util::weaken(tied $tied_variable)> 㧠tie ã -å¼±ãããã¨ãåºæ¥ãããã«ãªãã¾ãã +ããã«ãã tie 㯠C<Scalar::Util::weaken(tied $tied_variable)> ã«ãã£ã¦ +å¼±ãããã¾ãã =head2 Unicode Support @@ -362,7 +362,7 @@ The code points U+3248..U+324F (CIRCLED NUMBER TEN ON BLACK SQUARE through CIRCLED NUMBER EIGHTY ON BLACK SQUARE) have had their General Category changed from Other_Symbol to Other_Numeric. The Line Break -property has changes for Hebrew and Japanese; and as a consequence of +property has changes for Hebrew and Japanese; and because of other changes in 6.1, the Perl regular expression construct C<\X> now works differently for some characters in Thai and Lao. @@ -378,7 +378,7 @@ CIRCLED NUMBER EIGHTY ON BLACK SQUARE) ã®ä¸è¬ã«ãã´ãªã¯ Other_Symbol ãã Other_Numeric ã«å¤æ´ããã¾ããã Line Break ç¹æ§ã¯ Hebrew 㨠Japanese ã§å¤æ´ããã¾ãã; ãã㦠6.1 ã§ã® -ãã®ä»ã®å¤æ´ã®çµæã¨ãã¦ãPerl ã®æ£è¦è¡¨ç¾æ§é C<\X> 㯠Thai 㨠Lao ã® +ãã®ä»ã®å¤æ´ã«ãããPerl ã®æ£è¦è¡¨ç¾æ§é C<\X> 㯠Thai 㨠Lao ã® ããã¤ãã®æåã§ã¯ç°ãªã£ãåä½ããã¾ãã =begin original @@ -422,13 +422,13 @@ fallout of the mistake Unicode 6.0 made in naming a character used in Japanese cell phones to be "BELL", which conflicts with the longstanding industry use of (and Unicode's recommendation to use) that name -to mean the ASCII control character at U+0007. As a result, that name -has been deprecated in Perl since v5.14; and any use of it will raise a +to mean the ASCII control character at U+0007. Therefore, that name +has been deprecated in Perl since v5.14, and any use of it will raise a warning message (unless turned off). The name "ALERT" is now the -preferred name for this code point, with "BEL" being an acceptable short +preferred name for this code point, with "BEL" an acceptable short form. The name for the new cell phone character, at code point U+1F514, -remains undefined in this version of Perl (hence we don't quite -implement all of Unicode 6.1), but starting in v5.18, BELL will mean +remains undefined in this version of Perl (hence we don't +implement quite all of Unicode 6.1), but starting in v5.18, BELL will mean this character, and not U+0007. =end original @@ -442,8 +442,8 @@ æåã®ååã«ãé·ãéå®ç¨ããã¦ãã (ãã㦠Unicode ã使ç¨ãæ¨å¥¨ãã¦ãã ASCII å¶å¾¡æå U+0007 ã¨è¡çªãã¦ãã "BELL" ã¨ããååãä»ãããã¨ã«ãã å¯ç£ç©ã§ãã -çµæã¨ãã¦ããã®åå㯠v5.14 以é Perl ã§ã¯éæ¨å¥¨ã¨ãªã£ã¦ãã¾ã; -ããã¦ããã使ãã¨(ãªãã«ãã¦ããªããã°)è¦åã¡ãã»ã¼ã¸ãçºçãã¾ãã +å¾ã£ã¦ããã®åå㯠v5.14 以é Perl ã§ã¯éæ¨å¥¨ã¨ãªã£ã¦ãã¦ã +ããã使ãã¨(ãªãã«ãã¦ããªããã°)è¦åã¡ãã»ã¼ã¸ãçºçãã¾ãã ãã®ç¬¦å·ä½ç½®ã«å¯¾ããé©åãªåå㯠"ALERT" ã«ãªããçãå½¢å¼ã¨ã㦠"BEL" ãåãå ¥ããããããã«ãªãã¾ãã ãã®ãã¼ã¸ã§ã³ã® Perl ã§ã¯ã符å·ä½ç½® U+1F514 ã®æ°ããæºå¸¯é»è©±ã®æåã® @@ -454,7 +454,7 @@ =begin original Unicode has taken steps to make sure that this sort of mistake does not -happen again. The Standard now includes all the generally accepted +happen again. The Standard now includes all generally accepted names and abbreviations for control characters, whereas previously it didn't (though there were recommended names for most of them, which Perl used). This means that most of those recommended names are now @@ -590,7 +590,7 @@ =begin original -Typeglob names (including names of variables, subroutines and filehandles) +Typeglob names (including names of variables, subroutines, and filehandles) =end original @@ -815,7 +815,7 @@ =begin original -Most XS authors will be aware that there is a longstanding bug in the +Most XS authors will know there is a longstanding bug in the OUTPUT typemap for T_AVREF (C<AV*>), T_HVREF (C<HV*>), T_CVREF (C<CV*>), and T_SVREF (C<SVREF> or C<\$foo>) that requires manually decrementing the reference count of the return value instead of the typemap taking @@ -830,7 +830,7 @@ ã»ã¨ãã©ã® XS ä½è ã¯ãT_AVREF (C<AV*>), T_HVREF (C<HV*>), T_CVREF (C<CV*>), T_SVREF (C<SVREF> ã¾ã㯠C<\$foo>) ã® OUTPUT typemap ã¯åç §ã«ã¦ã³ãã typemap ãé¢åãè¦ã¦ããããæåã§æ¸ããå¿ è¦ãããã¨ããé·ãéãã -ãã°ã«æ°ä»ãã¦ãã¾ããã +ãã°ãç¥ã£ã¦ãã¾ããã å¾æ¹äºææ§ã®ããã«ãããã¯ããã©ã«ãã® typemap ã§ã¯å¤æ´ã§ãã¾ããã ãããããã®åé¡ãå«ã¾ããªã C<T_AVREF_REFCOUNT_FIXED> ãªã©ã®è¿½å ã® typemap ãæä¾ãããã¨ã«ãªãã¾ããã @@ -880,8 +880,8 @@ =begin original -Most of the other XS-callable functions that take UTF-8 encoded input -implicitly assume that the UTF-8 is valid (not malformed) in regards to +Most other XS-callable functions that take UTF-8 encoded input +implicitly assume that the UTF-8 is valid (not malformed) with respect to buffer length. Do not do things such as change a character's case or see if it is alphanumeric without first being sure that it is valid UTF-8. This can be safely done for a whole string by using one of the @@ -946,7 +946,7 @@ C<$^X> is now converted to an absolute path on OS X, FreeBSD (without needing F</proc> mounted) and Solaris 10 and 11. This augments the -previous approach of using F</proc> on Linux, FreeBSD and NetBSD +previous approach of using F</proc> on Linux, FreeBSD, and NetBSD (in all cases, where mounted). =end original @@ -1022,14 +1022,14 @@ =begin original -The debugger's "b" command for setting breakpoints now allows a line -number to be prefixed with a file name. See +The debugger's "b" command for setting breakpoints now lets a line +number be prefixed with a file name. See L<perldebug/"b [file]:[line] [condition]">. =end original -ãã¬ã¼ã¯ãã¤ã³ããè¨å®ããããã®ãããã¬ã® "b" ã³ãã³ãã¯ããã¡ã¤ã«åã® -å¾ãã«ä»ããè¡çªå·ãåãä»ããããã«ãªãã¾ããã +ãã¬ã¼ã¯ãã¤ã³ããè¨å®ããããã®ãããã¬ã® "b" ã³ãã³ãã¯ãè¡çªå·ã +ãã¡ã¤ã«åã®å¾ãã«ä»ããããã«ãªãã¾ããã L<perldebug/"b [file]:[line] [condition]"> ãåç §ãã¦ãã ããã =head2 The C<CORE> Namespace @@ -1057,7 +1057,7 @@ =begin original Many Perl keywords are now available as subroutines in the CORE namespace. -This allows them to be aliased: +This lets them be aliased: =end original @@ -1140,8 +1140,8 @@ =begin original The C<continue> keyword has two meanings. It can introduce a C<continue> -block after a loop, or it can exit the current C<when> block. Up till now, -the latter meaning was only valid with the "switch" feature enabled, and +block after a loop, or it can exit the current C<when> block. Up to now, +the latter meaning was valid only with the "switch" feature enabled, and was a syntax error otherwise. Since the main purpose of feature.pm is to avoid conflicts with user-defined subroutines, there is no reason for C<continue> to depend on it. @@ -1164,16 +1164,16 @@ The C<phase-change> probes will fire when the interpreter's phase changes, which tracks the C<${^GLOBAL_PHASE}> variable. C<arg0> is -the new phase name; C<arg1> is the old one. This is useful mostly +the new phase name; C<arg1> is the old one. This is useful for limiting your instrumentation to one or more of: compile time, -run time, destruct time. +run time, or destruct time. =end original C<phase-change> ããã¼ãã¯ãC<${^GLOBAL_PHASE}> å¤æ°ã 追跡ãããã¨ã«ãã£ã¦ãã¤ã³ã¿ããªã¿ã®ãã§ã¼ãºãå¤ãã£ãã¨ãã«èµ·åããã¾ãã C<arg0> ã¯æ°ãããã§ã¼ãºåã§ã; C<arg1> ã¯å¤ããã§ã¼ãºåã§ãã -ããã¯ã³ã³ãã¤ã«æãå®è¡æãç ´å£æã«è£ åãå¶éããããã«æ®éã¯æç¨ã§ãã +ããã¯ã³ã³ãã¤ã«æãå®è¡æãç ´å£æã«è£ åãå¶éããããã«æç¨ã§ãã =head3 C<__FILE__()> Syntax @@ -1199,7 +1199,7 @@ =begin original The C<\$> and C<\[$]> subroutine prototypes now accept any scalar lvalue -argument. Previously they only accepted scalars beginning with C<$> and +argument. Previously they accepted only scalars beginning with C<$> and hash and array elements. This change makes them consistent with the way the built-in C<read> and C<recv> functions (among others) parse their arguments. This means that one can override the built-in functions with @@ -1336,14 +1336,15 @@ =begin original -Perl may at some point in the future change or remove the files. The +Perl may at some point in the future change or remove these files. The file which applications were most likely to have used is F<lib/unicore/ToDigit.pl>. L<Unicode::UCD/prop_invmap()> can be used to get at its data instead. =end original -Perl ã¯å°æ¥ã®ããããã®æç¹ã§ãã¡ã¤ã«ãå¤æ´ã¾ãã¯åé¤ããããããã¾ããã +Perl ã¯å°æ¥ã®ããããã®æç¹ã§ãããã®ãã¡ã¤ã«ãå¤æ´ã¾ã㯠+åé¤ããããããã¾ããã ã¢ããªã±ã¼ã·ã§ã³ãä¸çªä½¿ã£ã¦ããã§ããããã¡ã¤ã«ã¯ F<lib/unicore/ToDigit.pl> ã§ãã 代ããã«ãã®ãã¼ã¿ãå¾ãããã« L<Unicode::UCD/prop_invmap()> ã使ãã¾ãã @@ -1558,12 +1559,12 @@ =begin original -It is planned starting in v5.20 to require a literal C<"{"> to be -escaped by, for example, preceding it with a backslash. In v5.18, a -deprecated warning message will be emitted for all such uses. Note that -this only affects patterns which are to match a literal C<"{">. Other -uses of this character, such as part of a quantifier or sequence like in -the ones below are completely unaffected: +Starting with v5.20, it is planned to require a literal C<"{"> to be +escaped, for example by preceding it with a backslash. In v5.18, a +deprecated warning message will be emitted for all such uses. +This affects only patterns that are to match a literal C<"{">. Other +uses of this character, such as part of a quantifier or sequence as in +those below, are completely unaffected: =end original @@ -1581,8 +1582,8 @@ =begin original -The removal of this will allow extensions to pattern syntax, and better -error checking of existing syntax. See L<perlre/Quantifiers> for an +Removing this will permit extensions to Perl's pattern syntax and better +error checking for existing syntax. See L<perlre/Quantifiers> for an example. =end original @@ -1595,7 +1596,7 @@ =begin original -Revamping C<< "\Q" >> semantics in double-quotish strings when combined with other escapes +Revamping C<< "\Q" >> semantics in double-quotish strings when combined with other escapes. =end original @@ -1603,8 +1604,8 @@ =begin original -There are a number of bugs and inconsistencies involving combinations -of C<\Q> and excapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair. +There are several bugs and inconsistencies involving combinations +of C<\Q> and escapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair. These need to be fixed, and doing so will necessarily change current behavior. The changes have not yet been settled. @@ -1787,11 +1788,11 @@ XSUB C functions are now 'static', that is, they are not visible from outside the compilation unit. Users can use the new C<XS_EXTERNAL(name)> -and C<XS_INTERNAL(name)> macros to pick the desired linking behaviour. +and C<XS_INTERNAL(name)> macros to pick the desired linking behavior. The ordinary C<XS(name)> declaration for XSUBs will continue to declare non-'static' XSUBs for compatibility, but the XS compiler, L<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default. -L<ExtUtils::ParseXS>'s behaviour can be reconfigured from XS using the +L<ExtUtils::ParseXS>'s behavior can be reconfigured from XS using the C<EXPORT_XSUB_SYMBOLS> keyword. See L<perlxs> for details. =end original @@ -1814,7 +1815,7 @@ =begin original Weakening read-only references is no longer permitted. It should never -have worked anyway, and in some cases could result in crashes. +have worked anyway, and could sometimes result in crashes. =end original @@ -1877,7 +1878,7 @@ =begin original -All three functions were private, undocumented and unexported. They do +All three functions were private, undocumented, and unexported. They do not appear to be used by any code on CPAN. Two have been inlined and one deleted entirely. @@ -1995,7 +1996,7 @@ =begin original The fix for those breakages is to use C<PerlProc_gete?[ug]id()> to -retrieve them (e.g. C<PerlProc_getuid()>), and not to assign to +retrieve them (e.g., C<PerlProc_getuid()>), and not to assign to C<PL_e?[ug]id> if you change the UID/GID/EUID/EGID. There is no longer any need to do so since perl will always retrieve the up-to-date version of those values from the OS. @@ -2119,7 +2120,7 @@ Perl 5.12.0 sped up the destruction of objects whose classes define empty C<DESTROY> methods (to prevent autoloading), by simply not -calling such empty methods. This release takes this optimisation a +calling such empty methods. This release takes this optimization a step further, by not calling any C<DESTROY> method that begins with a C<return> statement. This can be useful for destructors that are only used for debugging: @@ -2139,7 +2140,7 @@ =begin original Constant-folding will reduce the first statement to C<return;> if DEBUG -is set to 0, triggering this optimisation. +is set to 0, triggering this optimization. =end original @@ -2194,7 +2195,7 @@ Due to changes in L<File::Glob>, Perl's C<glob> function and its C<< <...> >> equivalent are now much faster. The splitting of the pattern -into words has been rewritten in C, resulting in speed-ups of 20% in +into words has been rewritten in C, resulting in speed-ups of 20% for some cases. =end original @@ -2576,7 +2577,7 @@ =begin original We no longer read from STDIN when the Content-Length is not set, -preventing requests with no Content-Length from freezing in some cases. +preventing requests with no Content-Length from sometimes freezing. This is consistent with the CGI RFC 3875, and is also consistent with CGI::Simple. However, the old behavior may have been expected by some command-line uses of CGI.pm. @@ -2584,7 +2585,7 @@ =end original We no longer read from STDIN when the Content-Length is not set, -preventing requests with no Content-Length from freezing in some cases. +preventing requests with no Content-Length from sometimes freezing. This is consistent with the CGI RFC 3875, and is also consistent with CGI::Simple. ããããå¤ãæ¯ãèã㯠CGI.pm ã®ããã¤ãã®ã³ãã³ãã©ã¤ã³å©ç¨ã§ @@ -2637,7 +2638,7 @@ =begin original Added BITS mode to the addfile method and shasum. This makes -partial-byte inputs possible via files/STDIN and allows shasum to check +partial-byte inputs possible via files/STDIN and lets shasum check all 8074 NIST Msg vectors, where previously special programming was required to do this. @@ -2645,7 +2646,7 @@ addfile ã¡ã½ãã㨠shasum ã« bITS ã¢ã¼ãã追å ããã¾ããã This makes -partial-byte inputs possible via files/STDIN and allows shasum to check +partial-byte inputs possible via files/STDIN and lets shasum check all 8074 NIST Msg vectors, where previously special programming was required to do this. (TBT) @@ -2861,7 +2862,7 @@ handle, the next file is automatically opened, as happens with the built-in C<E<lt>E<gt>> and C<readline> functions. But, unlike the built-ins, these methods were not respecting the caller's use of the L<open> pragma and -applying the approprate I/O layers to the newly-opened file +applying the appropriate I/O layers to the newly-opened file [rt.cpan.org #66474]. =end original @@ -3061,7 +3062,7 @@ =begin original -The C<numify> method has been corrected to return a normalised Perl number +The C<numify> method has been corrected to return a normalized Perl number (the result of C<0 + $thing>), instead of a string [rt.cpan.org #66732]. =end original @@ -3451,7 +3452,7 @@ =begin original L<POSIX> no longer uses L<AutoLoader>. Any code which was relying on this -implementation detail was buggy, and may fail as a result of this change. +implementation detail was buggy, and may fail because of this change. The module's Perl code has been considerably simplified, roughly halving the number of lines, with no change in functionality. The XS code has been refactored to reduce the size of the shared object by about 12%, @@ -3460,7 +3461,7 @@ =end original L<POSIX> ã¯ãã¯ã L<AutoLoader> ã使ããªããªãã¾ããã -ãã®å®è£ 詳細ã«ä¾åãã¦ããããããã³ã¼ãã¯ãã°æã¡ã§ããã®å¤æ´ã®çµæ +ãã®å®è£ 詳細ã«ä¾åãã¦ããããããã³ã¼ãã¯ãã°æã¡ã§ããã®å¤æ´ã«ãã åä½ããªããªãããããã¾ããã ã¢ã¸ã¥ã¼ã«ã® Perl ã³ã¼ãã¯ããªãåç´åãããæ©è½ã®å¤æ´ãªãã«è¡æ°ã¯ ãããååã«ãªãã¾ããã @@ -3507,13 +3508,13 @@ =begin original C<POSIX::Termios::setattr> now defaults the third argument to C<TCSANOW>, -instead of 0. On most platforms C<TCSANOW> is defined as 0, but on some +instead of 0. On most platforms C<TCSANOW> is defined to be 0, but on some 0 is not a valid parameter, which caused a call with defaults to fail. =end original C<POSIX::Termios::setattr> now defaults the third argument to C<TCSANOW>, -instead of 0. On most platforms C<TCSANOW> is defined as 0, but on some +instead of 0. On most platforms C<TCSANOW> is defined to be 0, but on some 0 is not a valid parameter, which caused a call with defaults to fail. (TBT) @@ -3521,11 +3522,11 @@ =begin original -L<Socket> has been upgraded from version 1.94 to 2.000. +L<Socket> has been upgraded from version 1.94 to 2.001. =end original -L<Socket> ã¯ãã¼ã¸ã§ã³ 1.94 ãã 2.000 ã«æ´æ°ããã¾ããã +L<Socket> ã¯ãã¼ã¸ã§ã³ 1.94 ãã 2.001 ã«æ´æ°ããã¾ããã =begin original @@ -3744,9 +3745,9 @@ =begin original This adds four new functions: C<prop_aliases()> and -C<prop_value_aliases()>, which are used to find all the Unicode-approved +C<prop_value_aliases()>, which are used to find all Unicode-approved synonyms for property names, or to convert from one name to another; -C<prop_invlist> which returns all the code points matching a given +C<prop_invlist> which returns all code points matching a given Unicode binary property; and C<prop_invmap> which returns the complete specification of a given Unicode property. @@ -3755,7 +3756,7 @@ åã¤ã®é¢æ°ã追å ããã¾ãã: C<prop_aliases()> 㨠C<prop_value_aliases()> 㯠which are used to find all the Unicode-approved synonyms for property names, or to convert from one name to another; -C<prop_invlist> which returns all the code points matching a given +C<prop_invlist> which returns all code points matching a given Unicode binary property; and C<prop_invmap> which returns the complete specification of a given Unicode property. (TBT) @@ -3893,8 +3894,8 @@ =begin original -The HV API has long accepted negative lengths to indicate that the key is -in UTF8. Now this is documented. +The HV API has long accepted negative lengths to show that the key is +in UTF8. This is now documented. =end original @@ -3988,7 +3989,7 @@ =begin original -Some of the function descriptions in L<perlguts> were confusing, as it was +Some function descriptions in L<perlguts> were confusing, as it was not clear whether they referred to the function above or below the description. This has been clarified [perl #91790]. @@ -4036,7 +4037,7 @@ =begin original It has also been corrected for the case of C<undef> on the left-hand -side. The list of different smart match behaviours had an item in the +side. The list of different smart match behaviors had an item in the wrong place. =end original @@ -4247,7 +4248,7 @@ =begin original The ($;) prototype syntax, which has existed for rather a long time, is now -documented in L<perlsub>. It allows a unary function to have the same +documented in L<perlsub>. It lets a unary function have the same precedence as a list operator. =end original @@ -4283,7 +4284,7 @@ The documentation for L<$!|perlvar/$!> has been corrected and clarified. It used to state that $! could be C<undef>, which is not the case. It was -also unclear as to whether system calls set C's C<errno> or Perl's C<$!> +also unclear whether system calls set C's C<errno> or Perl's C<$!> [perl #91614]. =end original @@ -4373,7 +4374,7 @@ =begin original -All the old OO tutorials, perltoot, perltooc, and perlboot, have been +The old OO tutorials, perltoot, perltooc, and perlboot, have been removed. The perlbot (bag of object tricks) document has been removed as well. @@ -4500,7 +4501,7 @@ =begin original The long-deprecated C<defined(@array)> now also warns for package variables. -Previously it only issued a warning for lexical variables. +Previously it issued a warning for lexical variables only. =end original @@ -4668,8 +4669,8 @@ =begin original -The error messages for using C<default> and C<when> outside of a -topicalizer have been standardised to match the messages for C<continue> +The error messages for using C<default> and C<when> outside a +topicalizer have been standardized to match the messages for C<continue> and loop controls. They now read 'Can't "default" outside a topicalizer' and 'Can't "when" outside a topicalizer'. They both used to be 'Can't use when() outside a topicalizer' [perl #91514]. @@ -4952,8 +4953,8 @@ =begin original C<USE_LOCALE{,_COLLATE,_CTYPE,_NUMERIC}> have been added the output of perl -V -as they have affect the behaviour of the interpreter binary (albeit only -in a small area). +as they have affect the behavior of the interpreter binary (albeit +in only a small area). =end original @@ -5085,7 +5086,7 @@ =begin original F<pod/buildtoc>, used by the build process to build L<perltoc>, has been -refactored and simplified. It now only contains code to build L<perltoc>; +refactored and simplified. It now contains only code to build L<perltoc>; the code to regenerate Makefiles has been moved to F<Porting/pod_rules.pl>. It's a bug if this change has any material effect on the build process. @@ -5236,8 +5237,8 @@ =begin original -Explicit support for VMS versions prior to v7.0 and DEC C versions -prior to v6.0 has been removed. +Explicit support for VMS versions before v7.0 and DEC C versions +before v6.0 has been removed. =end original @@ -5265,7 +5266,7 @@ =begin original -The build on VMS now allows names of the resulting symbols in C code for +The build on VMS now permits names of the resulting symbols in C code for Perl longer than 31 characters. Symbols like C<Perl__it_was_the_best_of_times_it_was_the_worst_of_times> can now be created freely without causing the VMS linker to seize up. @@ -5362,7 +5363,7 @@ =begin original -When empting a hash of its elements (e.g. via undef(%h), or %h=()), HvARRAY +When empting a hash of its elements (e.g., via undef(%h), or %h=()), HvARRAY field is no longer temporarily zeroed. Any destructors called on the freed elements see the remaining elements. Thus, %h=() becomes more like C<delete $h{$_} for keys %h>. @@ -5401,7 +5402,7 @@ =begin original Simplified logic in C<Perl_sv_magic()> introduces a small change of -behaviour for error cases involving unknown magic types. Previously, if +behavior for error cases involving unknown magic types. Previously, if C<Perl_sv_magic()> was passed a magic type unknown to it, it would =end original @@ -5448,7 +5449,7 @@ =begin original Now it will always croak "Don't know how to handle magic of type \\%o", even -on read only values, or SVs which already have the unknown magic type. +on read-only values, or SVs which already have the unknown magic type. =end original @@ -5503,7 +5504,7 @@ =begin original -An API has been added to explicitly choose whether or not to export XSUB +An API has been added to explicitly choose whether to export XSUB symbols. More detail can be found in the comments for commit e64345f8. =end original @@ -5578,7 +5579,7 @@ =begin original -All the C files that make up the Perl core have been converted to UTF-8. +All C files that make up the Perl core have been converted to UTF-8. =end original @@ -5702,7 +5703,7 @@ =begin original -Perl now checks whether the array (the linearised isa) returned by a MRO +Perl now checks whether the array (the linearized isa) returned by a MRO plugin begins with the name of the class itself, for which the array was created, instead of assuming that it does. This prevents the first element from being skipped during method lookup. It also means that @@ -5711,7 +5712,7 @@ =end original -Perl now checks whether the array (the linearised isa) returned by a MRO +Perl now checks whether the array (the linearized isa) returned by a MRO plugin begins with the name of the class itself, for which the array was created, instead of assuming that it does. ããã¯ã¡ã½ããæ¤ç´¢ä¸ã«æåã®è¦ç´ ãã¹ããããããã®ãé²ãã¾ãã @@ -5867,7 +5868,7 @@ =begin original -Deleting the current hash iterator (the hash element that would be returend +Deleting the current hash iterator (the hash element that would be returned by the next call to C<each>) in void context used not to free it [perl #85026]. @@ -5912,7 +5913,7 @@ =begin original -A C<keys> optimisation in Perl 5.12.0 to make it faster on empty hashes +A C<keys> optimization in Perl 5.12.0 to make it faster on empty hashes caused C<each> not to reset the iterator if called after the last element was deleted. @@ -5971,7 +5972,7 @@ =begin original -It used to be possible to free the typeglob of a localised array or hash +It used to be possible to free the typeglob of a localized array or hash (e.g., C<local @{"x"}; delete $::{x}>), resulting in a crash on scope exit. =end original @@ -5985,7 +5986,7 @@ =begin original Some core bugs affecting L<Hash::Util> have been fixed: locking a hash -element that is a glob copy no longer causes subsequent assignment to it to +element that is a glob copy no longer causes the next assignment to it to corrupt the glob (5.14.2), and unlocking a hash element that holds a copy-on-write scalar no longer causes modifications to that scalar to modify other scalars that were sharing the same string buffer. @@ -5993,7 +5994,7 @@ =end original Some core bugs affecting L<Hash::Util> have been fixed: locking a hash -element that is a glob copy no longer causes subsequent assignment to it to +element that is a glob copy no longer causes the next assignment to it to corrupt the glob (5.14.2), and unlocking a hash element that holds a copy-on-write scalar no longer causes modifications to that scalar to modify other scalars that were sharing the same string buffer. @@ -6100,13 +6101,13 @@ =begin original -The C-level C<pregcomp> function could become confused as to whether the +The C-level C<pregcomp> function could become confused about whether the pattern was in UTF8 if the pattern was an overloaded, tied, or otherwise magical scalar [perl #101940]. =end original -C ã¬ãã«ã® C<pregcomp> é¢æ°ã¯ could become confused as to whether the +C ã¬ãã«ã® C<pregcomp> é¢æ°ã¯ could become confused about whether the pattern was in UTF8 if the pattern was an overloaded, tied, or otherwise magical scalar [perl #101940]. (TBT) @@ -6137,7 +6138,7 @@ =begin original C<eval $string> and C<require> used not to -localise C<%^H> during compilation if it +localize C<%^H> during compilation if it was empty at the time the C<eval> call itself was compiled. This could lead to scary side effects, like C<use re "/m"> enabling other flags that the surrounding code was trying to enable for its caller [perl #68750]. @@ -6145,7 +6146,7 @@ =end original C<eval $string> and C<require> used not to -localise C<%^H> during compilation if it +localize C<%^H> during compilation if it was empty at the time the C<eval> call itself was compiled. This could lead to scary side effects, like C<use re "/m"> enabling other flags that the surrounding code was trying to enable for its caller [perl #68750]. @@ -6155,14 +6156,14 @@ =begin original -C<eval $string> and C<require> no longer localise hints (C<$^H> and C<%^H>) +C<eval $string> and C<require> no longer localize hints (C<$^H> and C<%^H>) at run time, but only during compilation of the $string or required file. This makes C<BEGIN { $^H{foo}=7 }> equivalent to C<BEGIN { eval '$^H{foo}=7' }> [perl #70151]. =end original -C<eval $string> and C<require> no longer localise hints (C<$^H> and C<%^H>) +C<eval $string> and C<require> no longer localize hints (C<$^H> and C<%^H>) at run time, but only during compilation of the $string or required file. This makes C<BEGIN { $^H{foo}=7 }> equivalent to C<BEGIN { eval '$^H{foo}=7' }> [perl #70151]. @@ -6258,7 +6259,7 @@ =begin original -Localising a tied variable used to make it read-only if it contained a +Localizing a tied variable used to make it read-only if it contained a copy-on-write string. (5.14.2) =end original @@ -6348,13 +6349,13 @@ =begin original -F<dumpvar.pl>, and consequently the C<x> command in the debugger, have been +F<dumpvar.pl>, and therefore the C<x> command in the debugger, have been fixed to handle objects blessed into classes whose names contain "=". The contents of such objects used not to be dumped [perl #101814]. =end original -F<dumpvar.pl>, and consequently the C<x> command in the debugger, have been +F<dumpvar.pl>, and therefore the C<x> command in the debugger, have been fixed to handle objects blessed into classes whose names contain "=". The contents of such objects used not to be dumped [perl #101814]. (TBT) @@ -6380,14 +6381,14 @@ The C<#line 42 foo> directive used not to update the arrays of lines used by the debugger if it occurred in a string eval. This was partially fixed -in 5.14, but it only worked for a single C<#line 42 foo> in each eval. Now +in 5.14, but it worked only for a single C<#line 42 foo> in each eval. Now it works for multiple. =end original The C<#line 42 foo> directive used not to update the arrays of lines used by the debugger if it occurred in a string eval. This was partially fixed -in 5.14, but it only worked for a single C<#line 42 foo> in each eval. Now +in 5.14, but it worked only for a single C<#line 42 foo> in each eval. Now it works for multiple. (TBT) @@ -6397,7 +6398,7 @@ When subroutine calls are intercepted by the debugger, the name of the subroutine or a reference to it is stored in C<$DB::sub>, for the debugger -to access. In some cases (such as C<$foo = *bar; undef *bar; &$foo>) +to access. Sometimes (such as C<$foo = *bar; undef *bar; &$foo>) C<$DB::sub> would be set to a name that could not be used to find the subroutine, and so the debugger's attempt to call it would fail. Now the check to see whether a reference is needed is more robust, so those @@ -6407,7 +6408,7 @@ When subroutine calls are intercepted by the debugger, the name of the subroutine or a reference to it is stored in C<$DB::sub>, for the debugger -to access. In some cases (such as C<$foo = *bar; undef *bar; &$foo>) +to access. Sometimes (such as C<$foo = *bar; undef *bar; &$foo>) C<$DB::sub> would be set to a name that could not be used to find the subroutine, and so the debugger's attempt to call it would fail. Now the check to see whether a reference is needed is more robust, so those @@ -6765,13 +6766,13 @@ =begin original There were various cases where these could get out of synch, resulting in -inconsistent or erratic behaviour in edge cases (every mention of C<-T> +inconsistent or erratic behavior in edge cases (every mention of C<-T> applies to C<-B> as well): =end original There were various cases where these could get out of synch, resulting in -inconsistent or erratic behaviour in edge cases (every mention of C<-T> +inconsistent or erratic behavior in edge cases (every mention of C<-T> applies to C<-B> as well): (TBT) @@ -6882,7 +6883,7 @@ =begin original -A number of edge cases have been fixed with formats and C<formline>; +Several edge cases have been fixed with formats and C<formline>; in particular, where the format itself is potentially variable (such as with ties and overloading), and where the format and data differ in their encoding. In both these cases, it used to possible for the output to be @@ -6890,7 +6891,7 @@ =end original -ãã©ã¼ããã㨠C<formline> ã«é¢ããå¤ãã®ã¨ãã¸ã±ã¼ã¹ãä¿®æ£ããã¾ãã; +ãã©ã¼ããã㨠C<formline> ã«é¢ããããã¤ãã®ã¨ãã¸ã±ã¼ã¹ãä¿®æ£ããã¾ãã; in particular, where the format itself is potentially variable (such as with ties and overloading), and where the format and data differ in their encoding. In both these cases, it used to possible for the output to be @@ -7037,14 +7038,14 @@ Under miniperl (used to configure modules when perl itself is built), C<glob> now clears %ENV before calling csh, since the latter croaks on some -systems if it does not like the contents of the LS_COLORS enviroment +systems if it does not like the contents of the LS_COLORS environment variable [perl #98662]. =end original Under miniperl (used to configure modules when perl itself is built), C<glob> now clears %ENV before calling csh, since the latter croaks on some -systems if it does not like the contents of the LS_COLORS enviroment +systems if it does not like the contents of the LS_COLORS environment variable [perl #98662]. (TBT) @@ -7090,13 +7091,13 @@ =begin original -Lvalue subroutines are less restrictive as to what values can be returned. +Lvalue subroutines are less restrictive about what values can be returned. It used to croak on values returned by C<shift> and C<delete> and from other subroutines, but no longer does so [perl #71172]. =end original -Lvalue subroutines are less restrictive as to what values can be returned. +Lvalue subroutines are less restrictive about what values can be returned. It used to croak on values returned by C<shift> and C<delete> and from other subroutines, but no longer does so [perl #71172]. (TBT) @@ -7106,13 +7107,13 @@ =begin original Empty lvalue subroutines (C<sub :lvalue {}>) used to return C<@_> in list -context. In fact, all subroutines used to, but regular subs were fixed in +context. All subroutines used to do this, but regular subs were fixed in Perl 5.8.2. Now lvalue subroutines have been likewise fixed. =end original Empty lvalue subroutines (C<sub :lvalue {}>) used to return C<@_> in list -context. In fact, all subroutines used to, but regular subs were fixed in +context. All subroutines used to do this, but regular subs were fixed in Perl 5.8.2. Now lvalue subroutines have been likewise fixed. (TBT) @@ -7505,15 +7506,15 @@ Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up after assigning C<${ qr// }> to a hash element and locking it with -L<Hash::Util>. This could result in double frees, crashes or erratic -behaviour. +L<Hash::Util>. This could result in double frees, crashes, or erratic +behavior. =end original Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up after assigning C<${ qr// }> to a hash element and locking it with -L<Hash::Util>. This could result in double frees, crashes or erratic -behaviour. +L<Hash::Util>. This could result in double frees, crashes, or erratic +behavior. (TBT) =item * @@ -7657,11 +7658,11 @@ =begin original -Three problematic Unicode characters now work better in regex pattern matching under C</i> +Three problematic Unicode characters now work better in regex pattern matching under C</i>. =end original -Three problematic Unicode characters now work better in regex pattern matching under C</i> +Three problematic Unicode characters now work better in regex pattern matching under C</i>. (TBT) =begin original @@ -7672,12 +7673,12 @@ and GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS, along with the sequences that they fold to -(including "ss" in the case of LATIN SMALL LETTER SHARP S), +(including "ss" for LATIN SMALL LETTER SHARP S), did not properly match under C</i>. 5.14.0 fixed some of these cases, but introduced others, including a panic when one of the characters or sequences was used in the C<(?(DEFINE)> regular expression predicate. The known bugs that were introduced in 5.14 have now been fixed; as well -as some other edge cases that have never worked until now. All these +as some other edge cases that have never worked until now. These all involve using the characters and sequences outside bracketed character classes under C</i>. This closes [perl #98546]. @@ -7689,12 +7690,12 @@ and GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS, along with the sequences that they fold to -(including "ss" in the case of LATIN SMALL LETTER SHARP S), +(including "ss" for LATIN SMALL LETTER SHARP S), did not properly match under C</i>. 5.14.0 fixed some of these cases, but introduced others, including a panic when one of the characters or sequences was used in the C<(?(DEFINE)> regular expression predicate. The known bugs that were introduced in 5.14 have now been fixed; as well -as some other edge cases that have never worked until now. All these +as some other edge cases that have never worked until now. These all involve using the characters and sequences outside bracketed character classes under C</i>. This closes [perl #98546]. (TBT) @@ -7720,14 +7721,14 @@ RT #78266: The regex engine has been leaking memory when accessing named captures that weren't matched as part of a regex ever since 5.10 -when they were introduced, e.g. this would consume over a hundred MB of +when they were introduced; e.g., this would consume over a hundred MB of memory: =end original RT #78266: The regex engine has been leaking memory when accessing named captures that weren't matched as part of a regex ever since 5.10 -when they were introduced, e.g. this would consume over a hundred MB of +when they were introduced; e.g., this would consume over a hundred MB of memory: (TBT) @@ -7756,12 +7757,12 @@ =begin original A regular expression match with an overloaded object on the right-hand side -would in some cases stringify the object too many times. +would sometimes stringify the object too many times. =end original A regular expression match with an overloaded object on the right-hand side -would in some cases stringify the object too many times. +would sometimes stringify the object too many times. (TBT) =item * @@ -7788,14 +7789,14 @@ =begin original In case-insensitive regular expression pattern matching, no longer on -UTF-8 encoded strings does the scan for the start of match only look at +UTF-8 encoded strings does the scan for the start of match look only at the first possible position. This caused matches such as C<"f\x{FB00}" =~ /ff/i> to fail. =end original In case-insensitive regular expression pattern matching, no longer on -UTF-8 encoded strings does the scan for the start of match only look at +UTF-8 encoded strings does the scan for the start of match look only at the first possible position. This caused matches such as C<"f\x{FB00}" =~ /ff/i> to fail. (TBT) @@ -7804,12 +7805,12 @@ =begin original -The regexp optimiser no longer crashes on debugging builds when merging +The regexp optimizer no longer crashes on debugging builds when merging fixed-string nodes with inconvenient contents. =end original -The regexp optimiser no longer crashes on debugging builds when merging +The regexp optimizer no longer crashes on debugging builds when merging fixed-string nodes with inconvenient contents. (TBT) @@ -7862,13 +7863,13 @@ =begin original -The trie optimisation used to have problems with alternations containing +The trie optimization used to have problems with alternations containing an empty C<(?:)>, causing C<< "x" =~ /\A(?>(?:(?:)A|B|C?x))\z/ >> not to match, whereas it should [perl #111842]. =end original -The trie optimisation used to have problems with alternations containing +The trie optimization used to have problems with alternations containing an empty C<(?:)>, causing C<< "x" =~ /\A(?>(?:(?:)A|B|C?x))\z/ >> not to match, whereas it should [perl #111842]. (TBT) @@ -7904,13 +7905,13 @@ =begin original The C<\h>, C<\H>, C<\v> and C<\V> regular expression metacharacters used to -cause a panic error message when attempting to match at the end of the +cause a panic error message when trying to match at the end of the string [perl #96354]. =end original The C<\h>, C<\H>, C<\v> and C<\V> regular expression metacharacters used to -cause a panic error message when attempting to match at the end of the +cause a panic error message when trying to match at the end of the string [perl #96354]. (TBT) @@ -8051,7 +8052,7 @@ Warnings emitted by C<sort> when a custom comparison routine returns a non-numeric value now contain "in sort" and show the line number of the C<sort> operator, rather than the last line of the comparison routine. The -warnings also occur now only if warnings are enabled in the scope where +warnings also now occur only if warnings are enabled in the scope where C<sort> occurs. Previously the warnings would occur if enabled in the comparison routine's scope. @@ -8060,7 +8061,7 @@ Warnings emitted by C<sort> when a custom comparison routine returns a non-numeric value now contain "in sort" and show the line number of the C<sort> operator, rather than the last line of the comparison routine. The -warnings also occur now only if warnings are enabled in the scope where +warnings also now occur only if warnings are enabled in the scope where C<sort> occurs. Previously the warnings would occur if enabled in the comparison routine's scope. (TBT) @@ -8069,7 +8070,7 @@ =begin original -C<< sort { $a <=> $b } >>, which is optimised internally, now produces +C<< sort { $a <=> $b } >>, which is optimized internally, now produces "uninitialized" warnings for NaNs (not-a-number values), since C<< <=> >> returns C<undef> for those. This brings it in line with S<C<< sort { 1; $a <=> $b } >>> and other more complex cases, which are not @@ -8077,7 +8078,7 @@ =end original -C<< sort { $a <=> $b } >>, which is optimised internally, now produces +C<< sort { $a <=> $b } >>, which is optimized internally, now produces "uninitialized" warnings for NaNs (not-a-number values), since C<< <=> >> returns C<undef> for those. This brings it in line with S<C<< sort { 1; $a <=> $b } >>> and other more complex cases, which are not @@ -8126,27 +8127,27 @@ Passing a substring of a read-only value or a typeglob to a function (potential lvalue context) no longer causes an immediate "Can't coerce" -or "Modification of a read-only value" error. That error only occurs -if and when the value passed is assigned to. +or "Modification of a read-only value" error. That error occurs only +if the passed value is assigned to. =end original Passing a substring of a read-only value or a typeglob to a function (potential lvalue context) no longer causes an immediate "Can't coerce" -or "Modification of a read-only value" error. That error only occurs -if and when the value passed is assigned to. +or "Modification of a read-only value" error. That error occurs only +if the passed value is assigned to. (TBT) =begin original The same thing happens with the "substr outside of string" error. If -the lvalue is only read, not written to, it is now just a warning, as +the lvalue is only read from, not written to, it is now just a warning, as with rvalue C<substr>. =end original The same thing happens with the "substr outside of string" error. If -the lvalue is only read, not written to, it is now just a warning, as +the lvalue is only read from, not written to, it is now just a warning, as with rvalue C<substr>. (TBT) @@ -8298,13 +8299,13 @@ =begin original Thread joining would sometimes emit "Attempt to free unreferenced scalar" -warnings if C<caller> had been used from the C<DB> package prior to thread +warnings if C<caller> had been used from the C<DB> package before thread creation [perl #98092]. =end original Thread joining would sometimes emit "Attempt to free unreferenced scalar" -warnings if C<caller> had been used from the C<DB> package prior to thread +warnings if C<caller> had been used from the C<DB> package before thread creation [perl #98092]. (TBT) @@ -8587,12 +8588,12 @@ =begin original -Localising a tied scalar that returns a typeglob no longer stops it from +Localizing a tied scalar that returns a typeglob no longer stops it from being tied till the end of the scope. =end original -Localising a tied scalar that returns a typeglob no longer stops it from +Localizing a tied scalar that returns a typeglob no longer stops it from being tied till the end of the scope. (TBT) @@ -8666,7 +8667,7 @@ =begin original Assigning a vstring to a magic (e.g., tied, C<$!>) variable and then -assigning something else used to blow away all the magic. This meant that +assigning something else used to blow away all magic. This meant that tied variables would come undone, C<$!> would stop getting updated on failed system calls, C<$|> would stop setting autoflush, and other mischief would take place. This has been fixed. @@ -8674,7 +8675,7 @@ =end original Assigning a vstring to a magic (e.g., tied, C<$!>) variable and then -assigning something else used to blow away all the magic. This meant that +assigning something else used to blow away all magic. This meant that tied variables would come undone, C<$!> would stop getting updated on failed system calls, C<$|> would stop setting autoflush, and other mischief would take place. This has been fixed. @@ -8789,7 +8790,7 @@ =begin original Redefinition warnings for constant subroutines are on by default (what -are known as severe warnings in L<perldiag>). This was only the case +are known as severe warnings in L<perldiag>). This occurred only when it was a glob assignment or declaration of a Perl subroutine that caused the warning. If the creation of XSUBs triggered the warning, it was not a default warning. This has been corrected. @@ -8797,7 +8798,7 @@ =end original Redefinition warnings for constant subroutines are on by default (what -are known as severe warnings in L<perldiag>). This was only the case +are known as severe warnings in L<perldiag>). This occurred only when it was a glob assignment or declaration of a Perl subroutine that caused the warning. If the creation of XSUBs triggered the warning, it was not a default warning. This has been corrected. @@ -8961,7 +8962,7 @@ Creating a weak reference to an @ISA array or accessing the array index (C<$#ISA>) could result in confused internal bookkeeping for elements -subsequently added to the @ISA array. For instance, creating a weak +later added to the @ISA array. For instance, creating a weak reference to the element itself could push that weak reference on to @ISA; and elements added after use of C<$#ISA> would be ignored by method lookup [perl #85670]. @@ -8970,7 +8971,7 @@ Creating a weak reference to an @ISA array or accessing the array index (C<$#ISA>) could result in confused internal bookkeeping for elements -subsequently added to the @ISA array. For instance, creating a weak +later added to the @ISA array. For instance, creating a weak reference to the element itself could push that weak reference on to @ISA; and elements added after use of C<$#ISA> would be ignored by method lookup [perl #85670]. @@ -8991,14 +8992,14 @@ C<quotemeta> now quotes consistently the same non-ASCII characters under C<use feature 'unicode_strings'>, regardless of whether the string is encoded in UTF-8 or not, hence fixing the last vestiges (we hope) of the -infamous L<perlunicode/The "Unicode Bug">. [perl #77654]. +notorious L<perlunicode/The "Unicode Bug">. [perl #77654]. =end original C<quotemeta> now quotes consistently the same non-ASCII characters under C<use feature 'unicode_strings'>, regardless of whether the string is encoded in UTF-8 or not, hence fixing the last vestiges (we hope) of the -infamous L<perlunicode/The "Unicode Bug">. [perl #77654]. +notorious L<perlunicode/The "Unicode Bug">. [perl #77654]. (TBT) =begin original @@ -9078,11 +9079,11 @@ =begin original -Unrecognised switches on C<#!> line +Unrecognized switches on C<#!> line =end original -Unrecognised switches on C<#!> line +Unrecognized switches on C<#!> line (TBT) =begin original @@ -9099,12 +9100,12 @@ =begin original It used to produce the same message for switches that perl did not -recognise at all, whether on the command line or the C<#!> line. +recognize at all, whether on the command line or the C<#!> line. =end original It used to produce the same message for switches that perl did not -recognise at all, whether on the command line or the C<#!> line. +recognize at all, whether on the command line or the C<#!> line. (TBT) =begin original @@ -9160,7 +9161,7 @@ =begin original Perl skips copying values returned from a subroutine, for the sake of -speed, if doing so would make no observable difference. Due to faulty +speed, if doing so would make no observable difference. Because of faulty logic, this would happen with the result of C<delete>, C<shift> or C<splice>, even if the result was referenced elsewhere. It also did so with tied variables about to be freed @@ -9169,7 +9170,7 @@ =end original Perl skips copying values returned from a subroutine, for the sake of -speed, if doing so would make no observable difference. Due to faulty +speed, if doing so would make no observable difference. Because of faulty logic, this would happen with the result of C<delete>, C<shift> or C<splice>, even if the result was referenced elsewhere. It also did so with tied variables about to be freed @@ -9441,16 +9442,15 @@ A problem with context propagation when a C<do> block is an argument to C<return> has been fixed. It used to cause C<undef> to be returned in -some cases of a C<return> inside an C<if> block which itself is followed by +certain cases of a C<return> inside an C<if> block which itself is followed by another C<return>. =end original A problem with context propagation when a C<do> block is an argument to C<return> has been fixed. It used to cause C<undef> to be returned in -some cases of a C<return> inside an C<if> block which itself is followed by +certain cases of a C<return> inside an C<if> block which itself is followed by another C<return>. -(TBT) =item * @@ -9470,12 +9470,12 @@ =begin original Infinite loops like C<1 while 1> used to stop C<strict 'subs'> mode from -working for the rest of the block.t +working for the rest of the block. =end original Infinite loops like C<1 while 1> used to stop C<strict 'subs'> mode from -working for the rest of the block.t +working for the rest of the block. (TBT) =item * @@ -9720,15 +9720,15 @@ =begin original -If F<make> is Sun's F<makeâ¥>, we get an error about a badly formed macro +If F<make> is Sun's F<make>, we get an error about a badly formed macro assignment in the F<Makefile>. That happens when F<./Configure> tries to -make depends. F<Configure> then exits 0, but further F<make>-ing fails. +make depends. F<Configure> then exits 0, but further F<make>-ing fails. =end original -If F<make> is Sun's F<makeâ¥>, we get an error about a badly formed macro +If F<make> is Sun's F<make>, we get an error about a badly formed macro assignment in the F<Makefile>. That happens when F<./Configure> tries to -make depends. F<Configure> then exits 0, but further F<make>-ing fails. +make depends. F<Configure> then exits 0, but further F<make>-ing fails. (TBT) =begin original @@ -9757,6 +9757,43 @@ =begin original +When building as root with a umask that prevents files from being +other-readable, F<t/op/filetest.t> will fail. This is a test bug, not a +bug in perl's behavior. + +=end original + +When building as root with a umask that prevents files from being +other-readable, F<t/op/filetest.t> will fail. This is a test bug, not a +bug in perl's behavior. +(TBT) + +=item * + +=begin original + +Configuring with a recent gcc and link-time-optimization, such as +C<Configure -Doptimize='-O2 -flto'> fails +because the optimizer optimizes away some of Configure's tests. A +workaround is to omit the C<-flto> flag when running Configure, but add +it back in while actually building, something like + +=end original + +Configuring with a recent gcc and link-time-optimization, such as +C<Configure -Doptimize='-O2 -flto'> fails +because the optimizer optimizes away some of Configure's tests. A +workaround is to omit the C<-flto> flag when running Configure, but add +it back in while actually building, something like +(TBT) + + sh Configure -Doptimize=-O2 + make OPTIMIZE='-O2 -flto' + +=item * + +=begin original + The following CPAN modules have test failures with perl 5.16. Patches have been submitted for all of these, so hopefully there will be new releases soon: @@ -9948,11 +9985,11 @@ If the bug you are reporting has security implications, which make it inappropriate to send to a publicly archived mailing list, then please send it to perl5****@perl*****. This points to a closed -subscription unarchived mailing list, which includes all the core +subscription unarchived mailing list, which includes all core committers, who will be able to help assess the impact of issues, figure out a resolution, and help co-ordinate the release of patches to mitigate or fix the problem across all platforms on which Perl is -supported. Please only use this address for security issues in the Perl +supported. Please use this address only for security issues in the Perl core, not for modules independently distributed on CPAN. =end original