[perldocjp-cvs 1177] CVS update: docs/perl/5.14.0

Back to archive index

argra****@users***** argra****@users*****
2011年 4月 4日 (月) 04:20:36 JST


Index: docs/perl/5.14.0/perl5140delta.pod
diff -u docs/perl/5.14.0/perl5140delta.pod:1.1 docs/perl/5.14.0/perl5140delta.pod:1.2
--- docs/perl/5.14.0/perl5140delta.pod:1.1	Sun Mar 27 15:18:19 2011
+++ docs/perl/5.14.0/perl5140delta.pod	Mon Apr  4 04:20:35 2011
@@ -88,9 +88,9 @@
 C<BELL> mean the ASCII C<BEL> character, U+0007.  In Perl 5.14,
 C<\N{BELL}> will continue to mean U+0007, but its use will generate a
 deprecated warning message, unless such warnings are turned off.  The
-new name for U+0007 in Perl will be C<ALERT>, which corresponds nicely
-with the existing shorthand sequence for it, C<"\a">.  C<\N{BEL}> will
-mean U+0007, with no warning given.  The character at U+1F514 will not
+new name for U+0007 in Perl is C<ALERT>, which corresponds nicely
+with the existing shorthand sequence for it, C<"\a">.  C<\N{BEL}>
+means U+0007, with no warning given.  The character at U+1F514 will not
 have a name in 5.14, but can be referred to by C<\N{U+1F514}>.  The plan
 is that in Perl 5.16, C<\N{BELL}> will refer to U+1F514, and so all code
 that uses C<\N{BELL}> should convert by then to using C<\N{ALERT}>,
@@ -902,11 +902,11 @@
 
 =begin original
 
-On Linux the legacy process name will be set with L<prctl(2)>, in
+On Linux the legacy process name is now set with L<prctl(2)>, in
 addition to altering the POSIX name via C<argv[0]> as perl has done
-since version 4.000. Now system utilities that read the legacy process
+since version 4.000.  Now system utilities that read the legacy process
 name such as ps, top and killall will recognize the name you set when
-assigning to C<$0>. The string you supply will be cut off at 16 bytes,
+assigning to C<$0>.  The string you supply will be cut off at 16 bytes;
 this is a limitation imposed by Linux.
 
 =end original
@@ -1178,8 +1178,8 @@
 
 In L<perlunicode/"User-Defined Character Properties">, it says you can
 create custom properties by defining subroutines whose names begin with
-"In" or "Is". However, Perl did not actually enforce that naming
-restriction, so \p{foo::bar} could call foo::bar() if it existed. Now this
+"In" or "Is".  However, Perl did not actually enforce that naming
+restriction, so \p{foo::bar} could call foo::bar() if it existed.  Now this
 convention has been enforced.
 
 =end original
@@ -1194,7 +1194,7 @@
 =begin original
 
 Also, Perl no longer allows a tainted regular expression to invoke a
-user-defined property. It simply dies instead [perl #82616].
+user-defined property.  It simply dies instead [perl #82616].
 
 =end original
 
@@ -1233,7 +1233,7 @@
 double-quote-like contexts.   Since 5.10.1, a deprecated warning message
 has been raised when this happens.  Now, all double-quote-like contexts
 have the same behavior, namely to be equivalent to C<\x{100}> -
-C<\x{1FF}>, with no deprecation warning. Use of these values in the
+C<\x{1FF}>, with no deprecation warning.  Use of these values in the
 command line option C<"-0"> retains the current meaning to slurp input
 files whole; previously, this was documented only for C<"-0777">.  It is
 recommended, however, because of various ambiguities, to use the new
@@ -1415,6 +1415,9 @@
 
 =end original
 
+正規表現中のコードブロック (C<(?{...})> と C<(??{...})>) は、正規表現が
+実行中に以下の二つのような状態になった場合に全てのプラグマ
+(strict, warnings など) が継承されていませんでした:
 
   use re 'eval';
   $foo =~ $bar; # when $bar contains (?{...})
@@ -1422,11 +1425,14 @@
 
 =begin original
 
-This was a bug, which has now been fixed. But it has the potential to break
+This was a bug, which has now been fixed.  But
+it has the potential to break
 any code that was relying on it.
 
 =end original
 
+これはバグでしたが、修正されました。
+しかし、これに依存しているコードが動作しなくなる可能性があります。
 
 =head2 Stashes and Package Variables
 
@@ -1438,6 +1444,7 @@
 
 =end original
 
+以下のような場合:
 
     tie @a, ...;
     {
@@ -1449,11 +1456,14 @@
 =begin original
 
 The new local array used to be made tied too, which was fairly pointless,
-and has now been fixed. This fix could however potentially cause a change
+and has now been fixed.  This fix could however potentially cause a change
 in behaviour of some code.
 
 =end original
 
+新しいローカルな配列も tie されていましたが、これはほとんど意味がなく、
+修正されました。
+しかし、この修正によってコードの振る舞いの変化を引き起こすかも知れません。
 
 =head3 Stashes are now always defined
 
@@ -1464,6 +1474,8 @@
 
 =end original
 
+C<defined %Foo::> は、例えこのパッケージでまだ何のシンボルも
+定義されていなくても、常に真を返します。
 
 =begin original
 
@@ -1473,19 +1485,52 @@
 
 =end original
 
+This is a side effect of removing a special case kludge in the tokeniser,
+added for 5.10.0, to hide side effects of changes to the internal storage of
+hashes that drastically reduce their memory usage overhead.
+(TBT)
 
 =begin original
 
 Calling defined on a stash has been deprecated since 5.6.0, warned on
 lexicals since 5.6.0, and warned for stashes (and other package
-variables) since 5.12.0. C<defined %hash> has always exposed an
+variables) since 5.12.0.  C<defined %hash> has always exposed an
+implementation detail - emptying a hash by deleting all entries from it does
+not make C<defined %hash> false, hence C<defined %hash> is not valid code to
+determine whether an arbitrary hash is empty.  Instead, use the behaviour
+that an empty C<%hash> always returns false in a scalar context.
+
+=end original
+
+Calling defined on a stash has been deprecated since 5.6.0, warned on
+lexicals since 5.6.0, and warned for stashes (and other package
+variables) since 5.12.0.  C<defined %hash> has always exposed an
 implementation detail - emptying a hash by deleting all entries from it does
 not make C<defined %hash> false, hence C<defined %hash> is not valid code to
-determine whether an arbitrary hash is empty. Instead, use the behaviour
+determine whether an arbitrary hash is empty.  Instead, use the behaviour
 that an empty C<%hash> always returns false in a scalar context.
+(TBT)
+
+=head3 Clearing stashes
+
+=begin original
+
+Stash list assignment C<%foo:: = ()> used to make the stash anonymous
+temporarily while it was being emptied. Consequently, any of its
+subroutines referenced elsewhere would become anonymous (showing up as
+"(unknown)" in C<caller>). Now they retain their package names, such that
+C<caller> will return the original sub name if there is still a reference
+to its typeglob, or "foo::__ANON__" otherwise [perl #79208].
 
 =end original
 
+Stash list assignment C<%foo:: = ()> used to make the stash anonymous
+temporarily while it was being emptied. Consequently, any of its
+subroutines referenced elsewhere would become anonymous (showing up as
+"(unknown)" in C<caller>). Now they retain their package names, such that
+C<caller> will return the original sub name if there is still a reference
+to its typeglob, or "foo::__ANON__" otherwise [perl #79208].
+(TBT)
 
 =head3 Dereferencing typeglobs
 
@@ -1495,30 +1540,43 @@
 
 =end original
 
+型グロブをスカラ変数に代入すると:
 
     $glob = *foo;
 
 =begin original
 
 the glob that is copied to C<$glob> is marked with a special flag
-indicating that the glob is just a copy. This allows subsequent assignments
-to C<$glob> to overwrite the glob. The original glob, however, is
+indicating that the glob is just a copy.  This
+allows subsequent assignments to C<$glob> to
+overwrite the glob.  The original glob, however, is
 immutable.
 
 =end original
 
+C<$glob> にコピーされたグロブは、このグロブが単なるコピーであることを
+示す特別なフラグが付けられます。
+これにより、引き続く  C<$glob> への代入によってグロブを上書きできます。
+しかし、元のグロブは変更されません。
 
 =begin original
 
-Many Perl operators did not distinguish between these two types of globs.
+Some Perl operators did not distinguish between these two types of globs.
 This would result in strange behaviour in edge cases: C<untie $scalar>
-would do nothing if the last thing assigned to the scalar was a glob
+would not untie the scalar if the last thing assigned to it was a glob
 (because it treated it as C<untie *$scalar>, which unties a handle).
 Assignment to a glob slot (e.g., C<*$glob = \@some_array>) would simply
 assign C<\@some_array> to C<$glob>.
 
 =end original
 
+一部の Perl 演算子はこの2種類のグロブを区別していませんでした。
+これにより、エッジケースでは不思議な振る舞いを見せていました:
+C<untie $scalar> は、最後に代入されたものがグロブの場合はスカラを
+untie しませんでした (なぜならこれはハンドルを untie する
+C<untie *$scalar> として扱われるからです)。
+グロブスロットへの代入 (つまり C<*$glob = \@some_array>) は単に
+C<\@some_array> を C<$glob> に代入します。
 
 =begin original
 
@@ -1527,19 +1585,30 @@
 copy.  This allows operators that make a distinction between globs and
 scalars to be modified to treat only immutable globs as globs.  (C<tie>,
 C<tied> and C<untie> have been left as they are for compatibility's sake,
-but will warn. See L</Deprecations>.)
+but will warn.  See L</Deprecations>.)
 
 =end original
 
+これを修正するために、C<*{}> 演算子 (C<*foo> と C<*$foo> の
+形式を含みます) は、もしオペランドがグロブのコピーなら新しい変更不能の
+グロブを作るように修正されました。
+これにより、演算子がグロブとスカラを修正するときの区別は、変更不能のグロブを
+グロブとして扱うだけになりました。
+(C<tie>, C<tied>, C<untie> は、互換性の理由によりそのまま残されましたが、
+警告が出ます。
+L</Deprecations> を参照してください。)
 
 =begin original
 
 This causes an incompatible change in code that assigns a glob to the
-return value of C<*{}> when that operator was passed a glob copy. Take the
+return value of C<*{}> when that operator was passed a glob copy.  Take the
 following code, for instance:
 
 =end original
 
+これは、演算子がグロブのコピーを渡すときに C<*{}> の返り値をグロブに
+代入するコードでは非互換の変更になります。
+例えば、以下のようなコードの場合:
 
     $glob = *foo;
     *$glob = *bar;
@@ -1547,11 +1616,15 @@
 =begin original
 
 The C<*$glob> on the second line returns a new immutable glob. That new
-glob is made an alias to C<*bar>. Then it is discarded. So the second
+glob is made an alias to C<*bar>.  Then it is discarded. So the second
 assignment has no effect.
 
 =end original
 
+2 行目の C<*$glob> は新しい変更不能のグロブを返します。
+新しいグロブは C<*bar> への別名として作られます。
+それからこれは捨てられます。
+従って、2 行目の代入では何も起こりません。
 
 =begin original
 
@@ -1560,20 +1633,9 @@
 
 =end original
 
-
-=head3 Clearing stashes
-
-=begin original
-
-Stash list assignment C<%foo:: = ()> used to make the stash anonymous
-temporarily while it was being emptied. Consequently, any of its
-subroutines referenced elsewhere would become anonymous (showing up as
-"(unknown)" in C<caller>). Now they retain their package names, such that
-C<caller> will return the original sub name if there is still a reference
-to its typeglob, or "foo::__ANON__" otherwise [perl #79208].
-
-=end original
-
+See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
+more detail.
+(TBT)
 
 =head3 Magic variables outside the main package
 
@@ -1585,6 +1647,11 @@
 
 =end original
 
+Perl の以前のバージョンでは、 C<$!>, C<%SIG> などのようなマジカル変数は
+他のパッケージへ「漏洩」していました。
+それで C<%foo::SIG> がシグナルのアクセスに使えたり、
+(strict モードがオフなら) C<${"foo::!"}> (with strict mode off) が
+ C の C<errno> へのアクセスに使えたり、などです。
 
 =begin original
 
@@ -1593,6 +1660,9 @@
 
 =end original
 
+これはバグ、あるいは「想定外の」機能でした; これにより、モジュールが
+読み込まれるときにシグナルハンドラがクリアされるといったさまざまな
+悪影響を引き起こしていました。
 
 =begin original
 
@@ -1601,6 +1671,40 @@
 
 =end original
 
+これは修正されました (あるいは見方によっては、この機能は取り除かれました)。
+
+=head3 local($_) will strip all magic from $_
+
+=begin original
+
+local() on scalar variables will give them a new value, but keep all
+their magic intact.  This has proven to be problematic for the default
+scalar variable $_, where L<perlsub> recommends that any subroutine
+that assigns to $_ should localize it first.  This would throw an
+exception if $_ is aliased to a read-only variable, and could have
+various unintentional side-effects in general.
+
+=end original
+
+スカラ変数に local() を行うと新しい値が与えられますが、全てのマジカルな
+機能はそのままでした。
+This has proven to be problematic for the default
+scalar variable $_, where L<perlsub> recommends that any subroutine
+that assigns to $_ should localize it first.  This would throw an
+exception if $_ is aliased to a read-only variable, and could have
+various unintentional side-effects in general.
+(TBT)
+
+=begin original
+
+Therefore, as an exception to the general rule, local($_) will not
+only assign a new value to $_, but also remove all existing magic from
+it as well.
+
+=end original
+
+従って、一般的なルールへの例外として、local($_)は $_ に新しい値を
+代入するだけでなく、全てのマジカルな機能が取り除かれるようになりました。
 
 =head2 Changes to Syntax or to Perl Operators
 
@@ -1614,6 +1718,9 @@
 
 =end original
 
+C<given> ブロックは最後に評価した式を返すようになりました
+(ブロックが C<break> で終了した場合は空リストを返します)。
+従って、以下のように書けるようになりました:
 
     my $type = do {
      given ($num) {
@@ -1630,6 +1737,7 @@
 
 =end original
 
+詳しくは L<perlsyn/Return value> を参照してください。
 
 =head3 Change in the parsing of certain prototypes
 
@@ -1640,6 +1748,8 @@
 
 =end original
 
+以下のプロトタイプで宣言された関数は、正しく単項関数として
+振る舞うようになりました:
 
   *
   \$ \% \@ \* \&
@@ -1652,10 +1762,14 @@
 
 Due to this bug fix [perl #75904], functions
 using the C<(*)>, C<(;$)> and C<(;*)> prototypes
-are parsed with higher precedence than before. So in the following example:
+are parsed with higher precedence than before.  So
+in the following example:
 
 =end original
 
+このバグ修正 [perl #75904] により、C<(*)>, C<(;$)>, C<(;*)> プロトタイプを
+使った関数は以前より高い優先順位でパースされます。
+従って、以下のようなコードは:
 
   sub foo($);
   foo $a < $b;
@@ -1663,11 +1777,14 @@
 =begin original
 
 the second line is now parsed correctly as C<< foo($a) < $b >>, rather than
-C<< foo($a < $b) >>. This happens when one of these operators is used in
+C<< foo($a < $b) >>.  This happens when one of these operators is used in
 an unparenthesised argument:
 
 =end original
 
+2 行目は C<< foo($a < $b) >> ではなく、正しく C<< foo($a) < $b >> と
+パースされます。
+これはかっこなしの引数で以下の演算子のいずれかが使われたときに起こります:
 
   < > <= >= lt gt le ge
   == != <=> eq ne cmp ~~
@@ -1687,6 +1804,7 @@
 
 =end original
 
+以前は、以下のコードはマッチングに成功していました:
 
     my @a = qw(a y0 z);
     my @b = qw(a x0 z);
@@ -1698,6 +1816,7 @@
 
 =end original
 
+このおかしな振る舞いは修正されました [perl #77468]。
 
 =head3 Negation treats strings differently from before
 
@@ -1708,16 +1827,21 @@
 
 =end original
 
+単項否定演算子 C<-> は数値のように見える文字列を数値として扱うように
+なりました [perl #57706]。
 
 =head3 Negative zero
 
 =begin original
 
 Negative zero (-0.0), when converted to a string, now becomes "0" on all
-platforms. It used to become "-0" on some, but "0" on others.
+platforms.  It used to become "-0" on some, but "0" on others.
 
 =end original
 
+負数のゼロ (-0.0) は、文字列に変換したとき、どのプラットフォームでも
+"0" になるようになりました。
+以前はプラットフォームによって "-0" だったり "0" だったりしていました。
 
 =begin original
 
@@ -1726,6 +1850,9 @@
 
 =end original
 
+未だにゼロが負数かどうかを決定したい場合は、
+C<sprintf("%g", $zero) =~ /^-/> とするか、CPAN にある
+L<Data::Float> モジュールを使ってください。
 
 =head3 C<:=> is now a syntax error
 
@@ -1733,8 +1860,9 @@
 
 Previously C<my $pi := 4;> was exactly equivalent to C<my $pi : = 4;>,
 with the C<:> being treated as the start of an attribute list, ending before
-the C<=>. The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is now
-a syntax error. This will allow the future use of C<:=> as a new token.
+the C<=>.  The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is
+now a syntax error.  This will allow the future use of C<:=> as a new
+token.
 
 =end original
 
@@ -1765,7 +1893,7 @@
 
 On systems other than Windows that do not have
 a C<fchdir> function, newly-created threads no
-longer inherit directory handles from their parent threads. Such programs
+longer inherit directory handles from their parent threads.  Such programs
 would usually have crashed anyway [perl #75154].
 
 =end original
@@ -1777,7 +1905,7 @@
 
 The C<close> function no longer waits for the child process to exit if the
 underlying file descriptor is still in use by another thread, to avoid
-deadlocks. It returns true in such cases.
+deadlocks.  It returns true in such cases.
 
 =end original
 
@@ -1789,7 +1917,7 @@
 On Windows parent processes would not terminate until all forked
 childred had terminated first.  However, C<kill('KILL', ...)> is
 inherently unstable on pseudo-processes, and C<kill('TERM', ...)>
-might not get delivered if the child if blocked in a system call.
+might not get delivered if the child is blocked in a system call.
 
 =end original
 
@@ -1800,7 +1928,7 @@
 the hosting process, Perl will now no longer wait for children that
 have been sent a SIGTERM signal.  It is up to the parent process to
 waitpid() for these children if child clean-up processing must be
-allowed to finish. However, it is also the responsibility of the
+allowed to finish.  However, it is also the responsibility of the
 parent then to avoid the deadlock by making sure the child process
 can't be blocked on I/O either.
 
@@ -1830,7 +1958,7 @@
 =begin original
 
 This will change the behavior of Policy.sh if you happen to have been
-accidentally relying on the Policy.sh incorrect behavior.
+accidentally relying on its incorrect behavior.
 
 =end original
 
@@ -2018,7 +2146,7 @@
 
 The following modules will be removed from the core distribution in a
 future release, and should be installed from CPAN instead. Distributions
-on CPAN which require these should add them to their prerequisites. The
+on CPAN which require these should add them to their prerequisites.  The
 core versions of these modules will issue a deprecation warning.
 
 =end original
@@ -2078,10 +2206,10 @@
 
 =begin original
 
-Signal dispatch has been moved from the runloop into control ops. This
+Signal dispatch has been moved from the runloop into control ops.  This
 should give a few percent speed increase, and eliminates almost all of
 the speed penalty caused by the introduction of "safe signals" in
-5.8.0. Signals should still be dispatched within the same statement as
+5.8.0.  Signals should still be dispatched within the same statement as
 they were previously - if this is not the case, or it is possible to
 create uninterruptible loops, this is a bug, and reports are encouraged
 of how to recreate such issues.
@@ -2179,7 +2307,7 @@
 
 When an object has many weak references to it, freeing that object
 can under some some circumstances take O(N^2) time to free (where N is the
-number of references). The number of circumstances has been reduced
+number of references).  The number of circumstances has been reduced
 [perl #75254]
 
 =end original
@@ -2218,7 +2346,7 @@
 =begin original
 
 xhv_fill has been eliminated from struct xpvhv, saving 1 IV per hash and
-on some systems will cause struct xpvhv to become cache-aligned. To avoid
+on some systems will cause struct xpvhv to become cache-aligned.  To avoid
 this memory saving causing a slowdown elsewhere, boolean use of HvFILL
 now calls HvTOTALKEYS instead (which is equivalent) - so while the fill
 data when actually required are now calculated on demand, the cases when
@@ -2270,7 +2398,8 @@
 =begin original
 
 For weak references, the common case of just a single weak reference per
-referent has been optimised to reduce the storage required. In this case it
+referent has been optimised to reduce the
+storage required.  In this case it
 saves the equivalent of one small Perl array per referent.
 
 =end original
@@ -2348,7 +2477,7 @@
 C<CPAN::Meta::YAML> 0.003 has been added as a dual-life module.  It supports a
 subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files
 included with CPAN distributions or generated by the module installation
-toolchain. It should not be used for any other general YAML parsing or
+toolchain.  It should not be used for any other general YAML parsing or
 generation task.
 
 =end original
@@ -2358,11 +2487,11 @@
 
 =begin original
 
-C<CPAN::Meta> version 2.110440 has been added as a dual-life module. It
+C<CPAN::Meta> version 2.110440 has been added as a dual-life module.  It
 provides a standard library to read, interpret and write CPAN distribution
 metadata files (e.g. META.json and META.yml) which describes a
 distribution, its contents, and the requirements for building it and
-installing it. The latest CPAN distribution metadata specification is
+installing it.  The latest CPAN distribution metadata specification is
 included as C<CPAN::Meta::Spec> and notes on changes in the specification
 over time are given in C<CPAN::Meta::History>.
 
@@ -2373,7 +2502,7 @@
 
 =begin original
 
-C<HTTP::Tiny> 0.011 has been added as a dual-life module.  It is a very
+C<HTTP::Tiny> 0.012 has been added as a dual-life module.  It is a very
 small, simple HTTP/1.1 client designed for simple GET requests and file
 mirroring.  It has has been added to enable CPAN.pm and CPANPLUS to
 "bootstrap" HTTP access to CPAN using pure Perl without relying on external
@@ -2423,7 +2552,7 @@
 =begin original
 
 The following modules were added by the C<Unicode::Collate> 
-upgrade. See below for details.
+upgrade.  See below for details.
 
 =end original
 
@@ -2740,7 +2869,7 @@
 
 =begin original
 
-C<bignum> has been upgraded from version 0.23 to 0.26.
+C<bignum> has been upgraded from version 0.23 to 0.27.
 
 =end original
 
@@ -3259,7 +3388,7 @@
 
 =begin original
 
-C<ExtUtils::ParseXS> has been upgraded from version 2.21 to 2.2209.
+C<ExtUtils::ParseXS> has been upgraded from version 2.21 to 2.2210.
 
 =end original
 
@@ -3942,7 +4071,7 @@
 
 =begin original
 
-C<Pod::Html> has been upgraded from version 1.09 to 1.1.
+C<Pod::Html> has been upgraded from version 1.09 to 1.11.
 
 =end original
 
@@ -4735,7 +4864,7 @@
 =begin original
 
 The perlmodlib page that came with Perl 5.12.0 was missing a lot of
-modules, due to a bug in the script that generates the list. This has been
+modules, due to a bug in the script that generates the list.  This has been
 fixed [perl #74332] (5.12.1).
 
 =end original
@@ -4924,7 +5053,7 @@
 
 The documentation for the C<SvTRUE> macro in
 L<perlapi> was simply wrong in stating that
-get-magic is not processed. It has been corrected.
+get-magic is not processed.  It has been corrected.
 
 =end original
 
@@ -4964,7 +5093,7 @@
 
 =begin original
 
-L<overload>'s documentation has practically undergone a rewrite. It
+L<overload>'s documentation has practically undergone a rewrite.  It
 is now much more straightforward and clear.
 
 =end original
@@ -4983,9 +5112,10 @@
 =begin original
 
 The L<perlhack> document is now much shorter, and focuses on the Perl 5
-development process and submitting patches to Perl. The technical content has
+development process and submitting patches
+to Perl.  The technical content has
 been moved to several new documents, L<perlsource>, L<perlinterp>,
-L<perlhacktut>, and L<perlhacktips>. This technical content has only been
+L<perlhacktut>, and L<perlhacktips>.  This technical content has only been
 lightly edited.
 
 =end original
@@ -4993,8 +5123,9 @@
 
 =begin original
 
-The perlrepository document has been renamed to L<perlgit>. This new document
-is just a how-to on using git with the Perl source code. Any other content
+The perlrepository document has been renamed to
+L<perlgit>.  This new document is just a how-to
+on using git with the Perl source code.  Any other content
 that used to be in perlrepository has been moved to perlhack.
 
 =end original
@@ -5133,8 +5264,8 @@
 =begin original
 
 Performing an operation requiring Unicode semantics (such as case-folding)
-on a Unicode surrogate or a non-Unicode character now triggers a warning:
-'Operation "%s" returns its argument for ...'.
+on a Unicode surrogate or a non-Unicode character now triggers this
+warning.
 
 =end original
 
@@ -5482,7 +5613,8 @@
 =begin original
 
 The last vestiges of support for this platform have been excised from the
-Perl distribution. It was officially discontinued in version 5.12.0. It had
+Perl distribution.  It was officially discontinued
+in version 5.12.0.  It had
 not worked for years before that.
 
 =end original
@@ -5493,7 +5625,7 @@
 =begin original
 
 The last vestiges of support for this platform have been excised from the
-Perl distribution. It was officially discontinued in an earlier version.
+Perl distribution.  It was officially discontinued in an earlier version.
 
 =end original
 
@@ -5619,6 +5751,10 @@
 
 =head3 IRIX
 
+=over
+
+=item *
+
 =begin original
 
 Conversion of strings to floating-point numbers is now more accurate on
@@ -5627,8 +5763,14 @@
 =end original
 
 
+=back
+
 =head3 Mac OS X
 
+=over
+
+=item *
+
 =begin original
 
 Early versions of Mac OS X (Darwin) had buggy implementations of the
@@ -5645,9 +5787,15 @@
 
 =end original
 
+=back
+
 
 =head3 MirBSD
 
+=over
+
+=item *
+
 =begin original
 
 Previously if you built perl with a shared libperl.so on MirBSD (the
@@ -5657,9 +5805,15 @@
 
 =end original
 
+=back
+
 
 =head3 NetBSD
 
+=over
+
+=item *
+
 =begin original
 
 The NetBSD hints file has been changed to make the system's malloc the
@@ -5668,8 +5822,14 @@
 =end original
 
 
+=back
+
 =head3 Recent OpenBSDs now use perl's malloc
 
+=over
+
+=item *
+
 =begin original
 
 OpenBSD E<gt> 3.7 has a new malloc implementation which is mmap-based
@@ -5679,9 +5839,15 @@
 
 =end original
 
+=back
+
 
 =head3 OpenVOS
 
+=over
+
+=item *
+
 =begin original
 
 perl now builds again with OpenVOS (formerly known as Stratus VOS)
@@ -5689,16 +5855,24 @@
 
 =end original
 
+=back
+
 
 =head3 Solaris
 
 =begin original
 
-DTrace is now supported on Solaris. There used to be build failures, but
-these have been fixed [perl #73630] (5.12.3).
+=over
+
+=item *
 
 =end original
 
+DTrace is now supported on Solaris.  There used to be build failures, but
+these have been fixed [perl #73630] (5.12.3).
+
+=back
+
 
 =head3 VMS
 
@@ -5820,7 +5994,8 @@
 
 =begin original
 
-F<git_version.h> is now installed on VMS. This was an oversight in v5.12.0 which
+F<git_version.h> is now installed on VMS.  This
+was an oversight in v5.12.0 which
 caused some extensions to fail to build (5.12.2).
 
 =end original
@@ -6157,7 +6332,7 @@
 
 It is now possible for XS code to hook into Perl's lexical scope
 mechanism at compile time, using the new C<Perl_blockhook_register>
-function. See L<perlguts/"Compile-time scope hooks">.
+function.  See L<perlguts/"Compile-time scope hooks">.
 
 =end original
 
@@ -6495,16 +6670,14 @@
 C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a
 fundamentally broken model of how the Unicode non-character code points
 should be handled, which is now described in
-L<perlunicode/Non-character code points>.  See also L</Selected Bug Fixes>.
 
 =end original
 
 
 =begin original
 
-XXX Which bugs in particular? Selected Bug Fixes is too long for this link
-to be meaningful right now
-I don't see the bugs in that section currently -- khw
+L<perlunicode/Non-character code points>.  See also the Unicode section
+under L</Selected Bug Fixes>.
 
 =end original
 
@@ -6557,7 +6730,8 @@
 =begin original
 
 Use the new C<find_rundefsv> function or the C<UNDERBAR> macro
-instead. They directly return the right SV representing C<$_>, whether it's
+instead.  They directly return the right SV
+representing C<$_>, whether it's
 lexical or dynamic.
 
 =end original
@@ -6665,6 +6839,8 @@
 
 =head1 Selected Bug Fixes
 
+(バグ修正の抜粋)
+
 =head2 I/O
 
 =over 4
@@ -6698,7 +6874,7 @@
 =begin original
 
 PerlIO no longer crashes when called recursively, e.g., from a signal
-handler. Now it just leaks memory [perl #75556].
+handler.  Now it just leaks memory [perl #75556].
 
 =end original
 
@@ -6708,7 +6884,7 @@
 =begin original
 
 Most I/O functions were not warning for unopened handles unless the
-'closed' and 'unopened' warnings categories were both enabled. Now only
+'closed' and 'unopened' warnings categories were both enabled.  Now only
 C<use warnings 'unopened'> is necessary to trigger these warnings (as was
 always meant to be the case).
 
@@ -6847,7 +7023,7 @@
 
 A regular expression match in the right-hand side of a global substitution
 (C<s///g>) that is in the same scope will no longer cause match variables
-to have the wrong values on subsequent iterations. This can happen when an
+to have the wrong values on subsequent iterations.  This can happen when an
 array or hash subscript is interpolated in the right-hand side, as in
 C<s|(.)|@a{ print($1), /./ }|g> [perl #19078].
 
@@ -6935,7 +7111,7 @@
 =begin original
 
 The C<(?|...)> regular expression construct no longer crashes if the final
-branch has more sets of capturing parentheses than any other branch. This
+branch has more sets of capturing parentheses than any other branch.  This
 was fixed in Perl 5.10.1 for the case of a single branch, but that fix did
 not take multiple branches into account [perl #84746].
 
@@ -7051,7 +7227,7 @@
 
 =begin original
 
-at compile time. Now it correctly matches against C<$_> [perl #20444].
+at compile time.  Now it correctly matches against C<$_> [perl #20444].
 
 =end original
 
@@ -7133,7 +7309,8 @@
 
 =begin original
 
-C<state> can now be used with attributes. It used to mean the same thing as
+C<state> can now be used with attributes.  It
+used to mean the same thing as
 C<my> if attributes were present [perl #68658].
 
 =end original
@@ -7257,7 +7434,7 @@
 
 C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
 updated properly when packages are deleted or removed from the C<@ISA> of
-other classes. This allows many packages to be created and deleted without
+other classes.  This allows many packages to be created and deleted without
 causing a memory leak [perl #75176].
 
 =end original
@@ -7318,7 +7495,7 @@
 =begin original
 
 Assigning a glob to a PVLV used to convert it to a plain string. Now it
-works correctly, and a PVLV can hold a glob. This would happen when a
+works correctly, and a PVLV can hold a glob.  This would happen when a
 nonexistent hash or array element was passed to a subroutine:
 
 =end original
@@ -7355,7 +7532,7 @@
 During the restoration of a localised typeglob on scope exit, any
 destructors called as a result would be able to see the typeglob in an
 inconsistent state, containing freed entries, which could result in a
-crash. This would affect code like this:
+crash.  This would affect code like this:
 
 =end original
 
@@ -7369,7 +7546,7 @@
 =begin original
 
 Now the glob entries are cleared before any destructors are called. This
-also means that destructors can vivify entries in the glob. So perl tries
+also means that destructors can vivify entries in the glob.  So perl tries
 again and, if the entries are re-created too many times, dies with a
 'panic: gp_free...' error message.
 
@@ -7386,19 +7563,50 @@
 
 =begin original
 
-What has become known as the "Unicode Bug" is essentially resolved in
+What has become known as the "Unicode Bug" is almost completely resolved in
 this release.  Under C<use feature 'unicode_strings'> (which is
 automatically selected by C<use 5.012> and above), the internal
 storage format of a string no longer affects the external semantics.
-The exception is that the now-deprecated user-defined case changing
+[perl #58182].
+
+=end original
+
+
+=begin original
+
+There are two known exceptions:
+
+=end original
+
+
+=over
+
+=item 1
+
+=begin original
+
+The now-deprecated user-defined case changing
 functions require utf8-encoded strings to function.  The CPAN module
 L<Unicode::Casing> has been written to replace this feature, without its
-drawacks, and the feature is scheduled to be removed in 5.16 [perl
-#58182].
+drawbacks, and the feature is scheduled to be removed in 5.16.
+
+=end original
+
+
+=item 2
+
+=begin original
+
+C<quotemeta> (and its in-line equivalent C<\Q>) also can give different
+results if a string is encoded in UTF-8 or not.  See
+L<perlunicode/The "Unicode Bug">.
 
 =end original
 
 
+=back
+
+
 =item *
 
 =begin original
@@ -7481,6 +7689,7 @@
 writing, March 2010, the Unicode standard is currently in flux about
 what they will recommend doing with regard to such cases.  It may be
 that they will throw out the whole concept of multi-character matches.
+[perl #71736].
 
 =end original
 
@@ -7580,15 +7789,6 @@
 
 =begin original
 
-FETCH is no longer called on tied variables in void context.
-
-=end original
-
-
-=item *
-
-=begin original
-
 C<$tied-E<gt>()> did not always call FETCH [perl #8438].
 
 =end original
@@ -7645,6 +7845,15 @@
 =end original
 
 
+=item *
+
+=begin original
+
+utf8::is_utf8 now respects get-magic (e.g. $1) (5.12.1).
+
+=end original
+
+
 =back
 
 =item *
@@ -7765,7 +7974,7 @@
 
 =begin original
 
-C<sprintf> now dies when passed a tainted scalar for the format. It did
+C<sprintf> now dies when passed a tainted scalar for the format.  It did
 already die for arbitrary expressions, but not for simple scalars
 [perl #82250].
 
@@ -7776,7 +7985,9 @@
 
 =begin original
 
-utf8::is_utf8 now respects get-magic (e.g. $1) (5.12.1).
+C<lc>, C<uc>, C<lcfirst> and C<ucfirst> no longer return untainted strings
+when the argument is tainted.  This has been broken since perl 5.8.9
+[perl #87336].
 
 =end original
 
@@ -7843,8 +8054,8 @@
 
 C<#line> directives in string evals were not properly updating the arrays
 of lines of code (C<< @{"_<..."} >>) that the debugger (or any debugging or
-profiling module) uses. In threaded builds, they were not being updated at
-all. In non-threaded builds, the line number was ignored, so any change to
+profiling module) uses.  In threaded builds, they were not being updated at
+all.  In non-threaded builds, the line number was ignored, so any change to
 the existing line number would cause the lines to be misnumbered
 [perl #79442].
 
@@ -7890,8 +8101,9 @@
 
 =begin original
 
-Now directory handles are cloned properly, on systems that have a C<fchdir>
-function. On other systems, new threads simply do not inherit directory
+Now directory handles are cloned properly, on Windows
+and on systems that have a C<fchdir> function.  On other
+systems, new threads simply do not inherit directory
 handles from their parent threads [perl #75154].
 
 =end original
@@ -7922,7 +8134,8 @@
 =begin original
 
 Perl now does a timely cleanup of SVs that are cloned into a new thread but
-then discovered to be orphaned (i.e., their owners are I<not> cloned). This
+then discovered to be orphaned (i.e., their
+owners are I<not> cloned).  This
 eliminates several "scalars leaked" warnings when joining threads.
 
 =end original
@@ -8048,7 +8261,7 @@
 =begin original
 
 A signal handler called within a signal handler could cause leaks or
-double-frees.  Now fixed. [perl #76248].
+double-frees.  Now fixed [perl #76248].
 
 =end original
 
@@ -8076,7 +8289,7 @@
 L<pos()|perlfunc/"index STR,SUBSTR,POSITION">, L<keys()|perlfunc/"keys HASH">,
 and L<vec()|perlfunc/"vec EXPR,OFFSET,BITS"> could, when used in combination
 with lvalues, result in leaking the scalar value they operate on, and cause its
-destruction to happen too late. This has now been fixed.
+destruction to happen too late.  This has now been fixed.
 
 =end original
 
@@ -8403,7 +8616,7 @@
 =begin original
 
 C<sv_catsv_flags> no longer calls C<mg_get> on its second argument (the
-source string) if the flags passed to it do not include SV_GMAGIC. So it
+source string) if the flags passed to it do not include SV_GMAGIC.  So it
 now matches the documentation.
 
 =end original
@@ -8603,6 +8816,17 @@
 =end original
 
 
+=head2 C<split> and C<@_>
+
+=begin original
+
+C<split> no longer modifies C<@_> when called in scalar or void context.
+In void context it now produces a "Useless use of split" warning.
+This was also a perl 5.12.0 changed that missed the perldelta.
+
+=end original
+
+
 =head1 Obituary
 
 =begin original



perldocjp-cvs メーリングリストの案内
Back to archive index