argra****@users*****
argra****@users*****
2009年 10月 15日 (木) 05:07:38 JST
Index: docs/perl/5.10.1/perl5101delta.pod diff -u docs/perl/5.10.1/perl5101delta.pod:1.4 docs/perl/5.10.1/perl5101delta.pod:1.5 --- docs/perl/5.10.1/perl5101delta.pod:1.4 Tue Oct 13 04:35:16 2009 +++ docs/perl/5.10.1/perl5101delta.pod Thu Oct 15 05:07:37 2009 @@ -52,10 +52,8 @@ =end original C<given>/C<when> による複雑な式の扱いが拡張されました。 -There are two new cases where C<when> now -interprets its argument as a boolean, instead of an expression to be used -in a smart match: -(TBT) +新しく、C<when> がスマートマッチングの式ではなく真偽値として +引数を解釈する場合が二つあります。 =over 4 @@ -83,11 +81,10 @@ =end original -Note that, as in perl 5.10.0, C<when (1..10)> will not work to test -whether a given value is an integer between 1 and 10; +perl 5.10.0 では、C<when (1..10)> としても、与えられた値が 1 から 10 の間の +数値かどうかをテストするようには動作しないことに注意してください; 代わりに C<when ([1..10])> を使うべきです (配列リファレンスに 注意してください)。 -(TBT) =begin original @@ -117,8 +114,11 @@ =end original A compound expression involving the defined-or operator, as in -C<when (expr1 // expr2)>, will be treated as boolean if the first -expression is boolean. (This just extends the existing rule that applies +C<when (expr1 // expr2)>, +最初の式が真偽値なら真偽値として扱われます。 +(これは単に、C<when (expr1 || expr2)> のような通常の or 演算子に +適用されるすでにあるルールの拡張です。 +This just extends the existing rule that applies to the regular or operator, as in C<when (expr1 || expr2)>.) (TBT) @@ -205,10 +205,8 @@ =end original -交換性の破綻により、コードリファレンスは are no longer -treated specially when appearing on the left of the C<~~> operator, -but like any vulgar scalar. -(TBT) +交換性の破綻により、コードリファレンスは C<~~> 演算子の左側に +現れたときにはもはや特別扱いされず、普通のスカラと同じように扱われます。 =item * @@ -550,10 +548,10 @@ =end original -Note that currently some test scripts may fail when run in parallel (most -notably C<ext/IO/t/io_dir.t>). If necessary run just the failing scripts -again sequentially and see if the failures go away. -(TBT) +いくつかのテストスクリプト(特に C<ext/IO/t/io_dir.t>)は並列に実行すると +失敗するかもしれないことに注意してください。 +もし必要なら、失敗したスクリプトを順番に再実行して、失敗しなくなることを +確認してください。 =head2 DTrace support @@ -581,11 +579,11 @@ =end original -Both C<CPAN> and C<CPANPLUS> now support the C<configure_requires> keyword -in the C<META.yml> metadata file included in most recent CPAN distributions. -This allows distribution authors to specify configuration prerequisites that -must be installed before running F<Makefile.PL> or F<Build.PL>. -(TBT) +C<CPAN> と C<CPANPLUS> は、ほとんどの最近の CPAN 配布が含んでいる +メタデータファイル C<META.yml> の C<configure_requires> キーワードに +対応しました。 +これにより、F<Makefile.PL> や F<Build.PL> が実行される前に +インストールされていなければならない設定の事前条件を指定できます。 =begin original @@ -594,9 +592,8 @@ =end original -See the documentation for C<ExtUtils::MakeMaker> or C<Module::Build> for more -on how to specify C<configure_requires> when creating a distribution for CPAN. -(TBT) +CPAN で配布するときに C<configure_requires> を指定する方法については +C<ExtUtils::MakeMaker> か C<Module::Build> の文書を参照してください。 =head1 Modules and Pragmata @@ -621,11 +618,10 @@ これは C<Fatal> モジュール代用品で、新しくレキシカルスコープを持つものです。 同梱されているバージョンは 2.06_01 です。 -Note that in this release, using a string -eval when C<autodie> is in effect can cause the autodie behaviour to leak -into the surrounding scope. +このリリースでは、C<autodie> が有効の時に文字列 eval を使うと、 +autodie の振る舞いが周りのスコープに漏れるかもしれないことに +注意してください。 さらなる詳細については L<autodie/"BUGS"> を参照してください。 -(TBT) =item C<Compress::Raw::Bzip2> @@ -647,8 +643,7 @@ =end original このプラグマは、基底クラスとの ISA 関係をコンパイル時に構築します。 -It provides the key feature of C<base> without the feature creep. -(TBT) +これは、機能の不愉快な部分なしに C<base> の主となる機能を提供します。 =item C<Parse::CPAN::Meta> @@ -2333,10 +2328,8 @@ =end original -この文書は Richard Foley によるもので、provides an introduction to the use of -performance and optimization techniques which can be used with particular -reference to perl programs. -(TBT) +この文書は Richard Foley によるもので、perl プログラムの個々の参照で +使えるパフォーマンスと最適化の技術の使用に関する導入を提供します。 =item L<perlrepository> @@ -2388,10 +2381,10 @@ =end original -The file F<Porting/patching.pod> has been deleted, as it mainly described -interacting with the old Perforce-based repository, which is now obsolete. +F<Porting/patching.pod> ファイルは削除されました; これは主に古い +Perforce を基としたレポジトリとの相互作用について記述していて、 +これは古いものです。 まだ関連のある情報は L<perlrepository> に移動しました。 -(TBT) =begin original @@ -2430,11 +2423,11 @@ =end original -Under C<use locale>, the locale-relevant information is now cached on -read-only values, such as the list returned by C<keys %hash>. This makes -operations such as C<sort keys %hash> in the scope of C<use locale> much -faster. -(TBT) +C<use locale> の元では、ロケール関係の情報は、C<keys %hash> で +返されるリストのように、読み込み専用値としてキャッシュされるように +なりました。 +これによって、C<use locale> での C<sort keys %hash> のような操作が +とても速くなります。 =item * @@ -2473,19 +2466,18 @@ =end original F<ext> ディレクトリのレイアウトが見直されました。 -Specifically, all -extensions are now flat, and at the top level, with C</> in pathnames -replaced by C<->, so that F<ext/Data/Dumper/> is now F<ext/Data-Dumper/>, -etc. The names of the extensions as specified to F<Configure>, and as -reported by C<%Config::Config> under the keys C<dynamic_ext>, -C<known_extensions>, C<nonxs_ext> and C<static_ext> have not changed, and -still use C</>. +特に、全てのエクステンションはフラットにトップレベルに置かれ、 +パス名中の C</> は C<-> に置き換えられます; 従って、 +F<ext/Data/Dumper/> は F<ext/Data-Dumper/> のようになります。 +エクステンションの名前のうち、F<Configure> で指定されるもの、 +C<dynamic_ext>, C<known_extensions>, C<nonxs_ext>, C<static_ext> で +C<%Config::Config> によって報告されるものは変更なしで、C</> を +使い続けます。 従ってこの変更は一旦 perl がインストールされれば何の影響もありません。 -However, C<Attribute::Handlers>, C<Safe> and C<mro> have now -become extensions in their own right, so if you run F<Configure> with -options to specify an exact list of extensions to build, you will need to -change it to account for this. -(TBT) +しかし、C<Attribute::Handlers>, C<Safe>, C<mro> が新たに独自の権限を持つ +エクステンションとなりましたので、もし F<Configure> をビルドする +エクステンションの正確なリストを指定するオプション付きで実行する場合、 +これらのために変更する必要があるでしょう。 =begin original @@ -2579,9 +2571,8 @@ =end original -As part of the flattening of F<ext>, -全てのプラットフォームの全てのエクステンションは F<make_ext.pl> で -ビルドされます。 +F<ext> のフラット化の一部として、全てのプラットフォームの全ての +エクステンションは F<make_ext.pl> でビルドされます。 これは Unix 固有の F<ext/util/make_ext>、VMS 固有の F<make_ext.com>、 Win32 固有の F<win32/buildext.pl> を置き換えます。 @@ -2657,9 +2648,10 @@ =end original -We now work around a bizarre preprocessor bug in the Irix 6.5 compiler: -C<cc -E -> unfortunately goes into K&R mode, but C<cc -E file.c> doesn't. -(TBT) +Irix 6.5 コンパイラのプリプロセッサにある奇妙なバグを回避するように +なりました: +C<cc -E -> は残念ながら K&R モードになりますが、C<cc -E file.c> では +なりません。 =item Haiku @@ -2735,10 +2727,10 @@ =end original -Reads from the in-memory temporary files of C<PerlIO::scalar> used to fail -if C<$/> was set to a numeric reference (to indicate record-style reads). +C<PerlIO::scalar> のメモリ内一時ファイルからの読み込みは、 +C<$/> が(レコード風読み込みを示すために)数値リファレンスにセットされていると +失敗していました。 これは修正されました。 -(TBT) =begin original @@ -2767,11 +2759,10 @@ =end original -Enabling the C<PERL_VMS_POSIX_EXIT> logical name now encodes a POSIX exit -status in a VMS condition value for better interaction with GNV's bash -shell and other utilities that depend on POSIX exit values. +論理名 C<PERL_VMS_POSIX_EXIT> を有効にすることで、VMS 条件値を +POSIX 返りステータスに変換し、GNV の bash シェルやその他の POSIX 返り値に +依存しているユーティリティとの相互作用を高めます。 詳細については L<perlvms/"$?"> を参照してください。 -(TBT) =back @@ -2792,11 +2783,10 @@ =end original -5.10.0 inadvertently disabled an optimisation, which caused a measurable -performance drop in list assignment, such as is often used to assign -function parameters from C<@_>. The optimisation has been re-instated, and -the performance regression fixed. -(TBT) +5.10.0 では不注意によって最適化が無効化されていたため、 +例えば C<@_> から関数の引数への代入でよく使われるような、 +リスト代入において目に見えるほどの性能低下を引き起こしていました。 +この最適化は再導入され、性能面の退行が修正されました。 =item * @@ -2862,11 +2852,10 @@ =end original -The C<-i.suffix> command-line switch now recreates the file using -restricted permissions, before changing its mode to match the original -file. +C<-i.suffix> コマンドラインオプションは、元のファイルに一致するように +モードを変更する前に、制限されたパーミッションを使ってファイルを +再作成します。 これは競合条件の可能性を除去します [RT #60904]。 -(TBT) =item * @@ -2900,9 +2889,8 @@ =end original -(XS) In various hash functions, passing a pre-computed hash to when the -key is UTF-8 might result in an incorrect lookup. -(TBT) +(XS) 様々なハッシュ関数において、キーが UTF-8 の時に予め計算された +ハッシュを渡すと、読み出しを間違うことがありました。 =item * @@ -2925,9 +2913,9 @@ =end original -C<< $object->isa('Foo') >> would report false if the package C<Foo> didn't -exist, even if the object's C<@ISA> contained C<Foo>. -(TBT) +C<< $object->isa('Foo') >> は、たとえ オブジェクトの C<@ISA> に C<Foo> を +含んでいても、パッケージに C<Foo> が存在していなければ偽を +返すようになりました。 =item * @@ -2938,9 +2926,8 @@ =end original -Various bugs in the new-to 5.10.0 mro code, triggered by manipulating -C<@ISA>, have been found and fixed. -(TBT) +5.10.0 で新規導入された mro コードで、C<@ISA> を操作することによって +引き起こされる様々なバグが発見され、修正されました。 =item * @@ -2951,9 +2938,9 @@ =end original -Bitwise operations on references could crash the interpreter, e.g. -C<$x=\$y; $x |= "foo"> [RT #54956]. -(TBT) +C<$x=\$y; $x |= "foo"> のような、リファレンスに対するビット単位演算子が +インタプリタをクラッシュさせることがありました [RT #54956]。 + =item * @@ -2964,9 +2951,7 @@ =end original -Patterns including alternation might be sensitive to the internal UTF-8 -representation, e.g. -(TBT) +代替を含むパターンが内部 UTF-8 表現に敏感になっていました; my $byte = chr(192); my $utf8 = chr(192); utf8::upgrade($utf8); @@ -2983,11 +2968,11 @@ =end original -Within UTF8-encoded Perl source files (i.e. where C<use utf8> is in -effect), double-quoted literal strings could be corrupted where a C<\xNN>, -C<\0NNN> or C<\N{}> is followed by a literal character with ordinal value -greater than 255 [RT #59908]. -(TBT) +UTF8-エンコードされた (つまり C<use utf8> が有効な) Perl ソースファイル内で、 +ダブルクォートされたリテラル文字列が、 +could be corrupted where a C<\xNN>, C<\0NNN>, C<\N{}> の後に +その値が 255 を超えるリテラル文字が続いている場合に、壊れることがありました +[RT #59908]。 =item * @@ -2999,10 +2984,9 @@ =end original -C<B::Deparse> failed to correctly deparse various constructs: +C<B::Deparse> は様々な構造を逆パースするのに失敗していました: C<readpipe STRING> [RT #62428], C<CORE::require(STRING)> [RT #62488], C<sub foo(_)> [RT #62484]. -(TBT) =item * @@ -3023,9 +3007,9 @@ =end original -The block form of C<eval> is now specifically trappable by C<Safe> and -C<ops>. Previously it was erroneously treated like string C<eval>. -(TBT) +ブロック形式の C<eval> は特別に C<Safe> と C<ops> でトラップ可能に +なりました。 +以前は間違って文字列の C<eval> のように扱われていました。 =item * @@ -3048,9 +3032,9 @@ =end original -In 5.10.0, the C<*> quantifier in patterns was sometimes treated as -C<{0,32767}> [RT #60034, #60464]. For example, this match would fail: -(TBT) +5.10.0 では、パターン中の C<*> 量指定子が時々 +C<{0,32767}> として扱われていました[RT #60034, #60464]。 +例えば、以下はマッチングに失敗していました: ("ab" x 32768) =~ /^(ab)*$/ @@ -3114,10 +3098,10 @@ =end original -Attempting to coerce a typeglob to a string or number could cause an -assertion failure. The correct error message is now generated, -C<Can't coerce GLOB to I<$type>>. -(TBT) +型グロブを文字列や数値に変換しようとすると、アサーション失敗が +発生することがありました。 +正しいエラーメッセージである C<Can't coerce GLOB to I<$type>> が +生成されるようになりました。 =item * @@ -3128,9 +3112,9 @@ =end original -Under C<use filetest 'access'>, C<-x> was using the wrong access mode. This -has been fixed [RT #49003]. -(TBT) +C<use filetest 'access'> 中に、C<-x> は間違ったアクセスモードを +使っていました。 +これは修正されました [RT #49003]。 =item * @@ -3141,9 +3125,9 @@ =end original -C<length> on a tied scalar that returned a Unicode value would not be -correct the first time. This has been fixed. -(TBT) +Unicode 値を返す tie されたスカラに対する C<length> が、初回は +正しく動作していませんでした。 +これは修正されました。 =item * @@ -3154,9 +3138,9 @@ =end original -Using an array C<tie> inside in array C<tie> could SEGV. This has been -fixed. [RT #51636] -(TBT) +配列 C<tie> の中で配列 C<tie> を使うと SEGV になることがありました。 +これは修正されました。 +[RT #51636] =item * @@ -3167,9 +3151,8 @@ =end original -A race condition inside C<PerlIOStdio_close()> has been identified and -fixed. This used to cause various threading issues, including SEGVs. -(TBT) +C<PerlIOStdio_close()> 内での競合条件が識別され、修正されました。 +これは SEGV を含む、様々なスレッドの問題を引き起こしていました。 =item * @@ -3181,10 +3164,10 @@ =end original -In C<unpack>, the use of C<()> groups in scalar context was internally -placing a list on the interpreter's stack, which manifested in various -ways, including SEGVs. This is now fixed [RT #50256]. -(TBT) +C<unpack> で、スカラコンテキストで C<()> グループを使うと、内部的に +インタプリタのスタックにリストが置かれ、SEGV を含む様々な現象が +起きていました。 +これは修正されました [RT #50256]。 =item * @@ -3195,9 +3178,9 @@ =end original -Magic was called twice in C<substr>, C<\&$x>, C<tie $x, $m> and C<chop>. -These have all been fixed. -(TBT) +C<substr>, C<\&$x>, C<tie $x, $m>, C<chop> で、マジックが 2 回 +呼び出されていました。 +これらは全て修正されました。 =item * @@ -3210,11 +3193,9 @@ =end original -A 5.10.0 optimisation to clear the temporary stack within the implicit -loop of C<s///ge> has been reverted, as it turned out to be the cause of -obscure bugs in seemingly unrelated parts of the interpreter [commit -ef0d4e17921ee3de]. -(TBT) +5.10.0 での、C<s///ge> の暗黙のループ中の一時的なスタックをクリアするという +最適化は差し戻されました; これがインタプリタの無関係な部分での +不明瞭なバグの原因となっていたからです [commit ef0d4e17921ee3de]。 =item * @@ -3224,8 +3205,7 @@ =end original -The line numbers for warnings inside C<elsif> are now correct. -(TBT) +C<elsif> 内での警告の行番号が正しくなりました。 =item * @@ -3236,9 +3216,8 @@ =end original -The C<..> operator now works correctly with ranges whose ends are at or -close to the values of the smallest and largest integers. -(TBT) +C<..> 演算子は、どちらかの端が整数の最小値や最大値に近い値でも +正しく動作するようになりました。 =item * @@ -3249,9 +3228,9 @@ =end original -C<binmode STDIN, ':raw'> could lead to segmentation faults on some platforms. -This has been fixed [RT #54828]. -(TBT) +C<binmode STDIN, ':raw'> は、プラットフォームによってはセグメンテーション +フォルトを引き起こすことがありました。 +これは修正されました [RT #54828]。 =item * @@ -3262,9 +3241,9 @@ =end original -An off-by-one error meant that C<index $str, ...> was effectively being -executed as C<index "$str\0", ...>. This has been fixed [RT #53746]. -(TBT) +C<index $str, ...> が実際には C<index "$str\0", ...> として実行されるという +境界条件のエラーがありました。 +これは修正されました [RT #53746]。 =item * @@ -3275,9 +3254,8 @@ =end original -Various leaks associated with named captures in regexes have been fixed -[RT #57024]. -(TBT) +正規表現での名前付き捕捉に関連する様々なリークが修正されました +[RT #57024]。 =item * @@ -3288,9 +3266,8 @@ =end original -A weak reference to a hash would leak. This was affecting C<DBI> -[RT #56908]. -(TBT) +ハッシュへの弱いリファレンスがリークを起こすことがありました。 +これは C<DBI> に影響を与えていました [RT #56908]。 =item * @@ -3300,8 +3277,8 @@ =end original -Using (?|) in a regex could cause a segfault [RT #59734]. -(TBT) +正規表現で (?|) を使うとセグメンテンションフォールトを引き起こすことが +ありました [RT #59734]。 =item * @@ -3311,8 +3288,8 @@ =end original -Use of a UTF-8 C<tr//> within a closure could cause a segfault [RT #61520]. -(TBT) +クロージャ内で UTF-8 の C<tr//> を使うとセグメンテンションフォールトを +引き起こすことがありました [RT #61520]。 =item * @@ -3323,9 +3300,9 @@ =end original -Calling C<sv_chop()> or otherwise upgrading an SV could result in an -unaligned 64-bit access on the SPARC architecture [RT #60574]. -(TBT) +C<sv_chop()> やその他で SV を昇格させると、SPARC アーキテクチャでは +アライメントされていない 64-ビットアクセスをする場合がありました +[RT #60574]。 =item * @@ -3337,10 +3314,9 @@ =end original -In the 5.10.0 release, C<inc_version_list> would incorrectly list -C<5.10.*> after C<5.8.*>; this affected the C<@INC> search order -[RT #67628]. -(TBT) +5.10.0 リリースでは、C<inc_version_list> は間違って C<5.8.*> の後に +C<5.10.*> をリストしていました; これは C<@INC> の検索順に影響を +与えていました [RT #67628]。 =item * @@ -3351,9 +3327,8 @@ =end original -In 5.10.0, C<pack "a*", $tainted_value> returned a non-tainted value -[RT #52552]. -(TBT) +5.10.0 では、C<pack "a*", $tainted_value> は汚染されていない値を +返していました [RT #52552]。 =item * @@ -3365,10 +3340,9 @@ =end original -In 5.10.0, C<printf> and C<sprintf> could produce the fatal error -C<panic: utf8_mg_pos_cache_update> when printing UTF-8 strings -[RT #62666]. -(TBT) +5.10.0 では、C<printf> と C<sprintf> で UTF-8 文字列を表示するときに +致命的エラー C<panic: utf8_mg_pos_cache_update> が出ることがありました +[RT #62666]。 =item * @@ -3379,9 +3353,8 @@ =end original -In the 5.10.0 release, a dynamically created C<AUTOLOAD> method might be -missed (method cache issue) [RT #60220,60232]. -(TBT) +5.10.0 リリースでは、動的に作成した C<AUTOLOAD> メソッドが失われることが +ありました (メソッドキャッシュの問題です) [RT #60220,60232]。 =item * @@ -3392,9 +3365,8 @@ =end original -In the 5.10.0 release, a combination of C<use feature> and C<//ee> could -cause a memory leak [RT #63110]. -(TBT) +5.10.0 リリースでは、C<use feature> と C<//ee> の組み合わせで +メモリリークを起こすことがありました [RT #63110]。 =item * @@ -3408,12 +3380,13 @@ =end original -C<-C> on the shebang (C<#!>) line is once more permitted if it is also -specified on the command line. C<-C> on the shebang line used to be a -silent no-op I<if> it was not also on the command line, so perl 5.10.0 -disallowed it, which broke some scripts. Now perl checks whether it is -also on the command line and only dies if it is not [RT #67880]. -(TBT) +shebang (C<#!>) 行 での C<-C> は、コマンドラインでも指定されている場合は +再び許可されるようになりました。 +shebang 行での C<-C> は、I<もし> コマンドラインで指定されていなかった +場合には暗黙に no-op となっていました; これは perl 5.10.0 では +不許可となりましたが、これによって動かなくなるスクリプトもありました。 +perl はコマンドラインでも指定されているかどうかを調べて、 +指定されていないときにだけ die するようになりました [RT #67880]。 =item * @@ -3424,13 +3397,11 @@ =end original -In 5.10.0, certain types of re-entrant regular expression could crash, -or cause the following assertion failure [RT #60508]: -(TBT) +5.10.0 で、ある種の再入可能な正規表現によってクラッシュしたり、 +以下のアサーション失敗を出力したりすることがありました [RT #60508]: Assertion rx->sublen >= (s - rx->subbeg) + i failed - =back =head1 New or Changed Diagnostics @@ -3450,11 +3421,10 @@ =end original -This new fatal error occurs when the C routine C<Perl_sv_chop()> was -passed a position that is not within the scalar's string buffer. This -could be caused by buggy XS code, and at this point recovery is not -possible. -(TBT) +これは、C ルーチン C<Perl_sv_chop()> に、スカラの文字列バッファ内でない +位置が渡された時に発生する、新しい致命的エラーです。 +これはバグっぽい XS コードによって引き起こされ、この時点では +回復は不可能です。 =item C<Can't locate package %s for the parents of %s> @@ -3467,10 +3437,8 @@ =end original この警告は取り除かれました。 -In general, it only got produced in -conjunction with other warnings, and removing it allowed an ISA lookup -optimisation to be added. -(TBT) +一般的に、これは他の警告と同時にのみ生成され、これを取り除くことによって +ISA 読み出しの最適化が追加できるようになりました。 =item C<v-string in use/require is non-portable> @@ -3492,10 +3460,9 @@ =end original -It is now possible to change the depth threshold for this warning from the -default of 100, by recompiling the F<perl> binary, setting the C -pre-processor macro C<PERL_SUB_DEPTH_WARN> to the desired value. -(TBT) +この警告が出る深さの閾値は、デフォルトでは 100 ですが、C プリプロセッサ +マクロ C<PERL_SUB_DEPTH_WARN> を好みの値に変えて F<perl> バイナリを +再コンパイルすることによって、変更できるようになりました。 =back @@ -3660,8 +3627,9 @@ =end original -C<PL_na> has been exterminated from the core code, replaced by local STRLEN -temporaries, or C<*_nolen()> calls. Either approach is faster than C<PL_na>, +C<PL_na> はコアコードから全て取り除かれ、ローカルな STRLEN テンポラリか +C<*_nolen()> 呼び出しに置き換えられました。 +Either approach is faster than C<PL_na>, which is a pointer deference into the interpreter structure under ithreads, and a global variable otherwise. (TBT) @@ -3676,10 +3644,10 @@ =end original -C<Perl_mg_free()> used to leave freed memory accessible via SvMAGIC() on -the scalar. It now updates the linked list to remove each piece of magic -as it is freed. -(TBT) +C<Perl_mg_free()> は、スカラでの SvMAGIC() 経由でアクセスできる +開放されたメモリをそのままにしていました。 +それぞれのマジックのかけらが開放されるごとに削除されるように、 +リンクリストが更新されるようになりました。 =item * @@ -3691,10 +3659,10 @@ =end original -Under ithreads, the regex in C<PL_reg_curpm> is now reference counted. This -eliminates a lot of hackish workarounds to cope with it not being reference -counted. -(TBT) +ithreads において、C<PL_reg_curpm> 内の正規表現は参照カウントを +行うようにありました。 +これにより、参照カウントを行っていないことによる多くのハックっぽい +回避方法が不要になります。 =item * @@ -3705,9 +3673,8 @@ =end original -C<Perl_mg_magical()> would sometimes incorrectly turn on C<SvRMAGICAL()>. -This has been fixed. -(TBT) +C<Perl_mg_magical()> は時々間違って C<SvRMAGICAL()> を作動させていました。 +これは修正されました。 =item * @@ -3719,10 +3686,10 @@ =end original -The I<public> IV and NV flags are now not set if the string value has -trailing "garbage". This behaviour is consistent with not setting the -public IV or NV flags if the value is out of range for the type. -(TBT) +IV と NV の I<public> フラグは、もし文字列値の末尾に「ゴミ」が +ついている場合はセットされなくなりました。 +この振る舞いは、値が型の範囲を超えているときに IV や NV の +public フラグがセットされないことと一貫しています。 =item * @@ -3734,10 +3701,9 @@ =end original -SV allocation tracing has been added to the diagnostics enabled by C<-Dm>. -The tracing can alternatively output via the C<PERL_MEM_LOG> mechanism, if -that was enabled when the F<perl> binary was compiled. -(TBT) +C<-Dm> で有効になる診断に、SV 割り当てトレースが追加されました。 +トレースは、もし F<perl> バイナリがコンパイルされたときに +C<PERL_MEM_LOG> 機構が有効になっていた場合には、これを通しても出力されます。 =item * @@ -3749,10 +3715,10 @@ =end original -Uses of C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> etc have been -replaced by C<NULL> in the core code, and non-dual-life modules, as C<NULL> -is clearer to those unfamiliar with the core code. -(TBT) +C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> などは、 +コアコードおよび 2 重管理されていないモジュールでは +C<NULL> に置き換えられました; C<NULL> はコアコードに親しんでいなくても +より明確だからです。 =item * @@ -3767,12 +3733,13 @@ =end original -A macro C<MUTABLE_PTR(p)> has been added, which on (non-pedantic) gcc will -not cast away C<const>, returning a C<void *>. Macros C<MUTABLE_SV(av)>, +C<MUTABLE_PTR(p)> マクロが追加されました; これは (pedantic でない) gcc では +C<const> をキャストせず、C<void *> を返します。 +Macros C<MUTABLE_SV(av)>, C<MUTABLE_SV(cv)> etc build on this, casting to C<AV *> etc without -casting away C<const>. This allows proper compile-time auditing of -C<const> correctness in the core, and helped picked up some errors (now -fixed). +casting away C<const>. +これにより C<const> の正当性の適切なコンパイル時の監査が可能になり、 +いくつかのエラーの発見に役立ちました(これらは修正されました)。 (TBT) =item * @@ -3784,9 +3751,8 @@ =end original -Macros C<mPUSHs()> and C<mXPUSHs()> have been added, for pushing SVs on the -stack and mortalizing them. -(TBT) +SV をスタックにプッシュし、それを揮発化させるための、 +C<mPUSHs()> と C<mXPUSHs()> のマクロが追加されました。 =item * @@ -3797,9 +3763,8 @@ =end original -Use of the private structure C<mro_meta> has changed slightly. Nothing -outside the core should be accessing this directly anyway. -(TBT) +プライベート構造体 C<mro_meta> の使用が少し変更されました。 +どちらにしろ、コアの外側からこれにアクセスすることは出来ません。 =item * @@ -3812,11 +3777,9 @@ =end original -A new tool, C<Porting/expand-macro.pl> has been added, that allows you -to view how a C preprocessor macro would be expanded when compiled. -This is handy when trying to decode the macro hell that is the perl -guts. -(TBT) +新しいツールである C<Porting/expand-macro.pl> が追加され、 +コンパイル時に C プリプロセッサマクロがどのように展開されるかを見られます。 +これは perl の内部でマクロを展開しようとする時に便利です。 =back @@ -4118,8 +4081,9 @@ =end original -C<List::Util::first> misbehaves in the presence of a lexical C<$_> -(typically introduced by C<my $_> or implicitly by C<given>). The variable +C<List::Util::first> は (典型的には C<my $_> や C<given> による) +レキシカルな C<$_> の存在について振る舞いを間違えていました。 +The variable which gets set for each iteration is the package variable C<$_>, not the lexical C<$_> [RT #67694]. (TBT) @@ -4173,10 +4137,8 @@ =end original -Some regexes may run much more slowly when run in a child thread compared -with the thread the pattern was compiled into [RT #55600]. -(TBT) - +正規表現によっては、パターンをコンパイルしたスレッドで実行するのに比べて +子スレッドではとても遅くなることがあります [RT #55600]。 =back @@ -4248,10 +4210,9 @@ =end original Nicholas Clark は 2008 年末をもって公式にメンテナンス pumpking の役目から -引退しました; however in reality he has put much effort in since then to -help get 5.10.1 into a fit state to be released, including writing a -considerable chunk of this perldelta. -(TBT) +引退しました; しかし、実際のところ彼はこの perldelta のかなり部分を +書くことを含む、5.10.1 をリリースできる状態にするために多くの +努力をしています。 =begin original @@ -4354,9 +4315,9 @@ unarchived mailing list, which includes all the core committers, who 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 core, not for modules independently -distributed on CPAN. +platforms on which Perl is supported. +このアドレスは、独自に CPAN で配布されているモジュールではなく、 +Perl コアのセキュリティ問題だけに使ってください。 (TBT) =head1 SEE ALSO