=encoding euc-jp =head1 NAME =begin original perl5203delta - what is new for perl v5.20.3 =end original perl5203delta - perl v5.20.3 での変更点 =head1 DESCRIPTION =begin original This document describes differences between the 5.20.2 release and the 5.20.3 release. =end original この文書は 5.20.2 リリースと 5.20.3 リリースの変更点を記述しています。 =begin original If you are upgrading from an earlier release such as 5.20.1, first read L, which describes differences between 5.20.1 and 5.20.2. =end original 5.20.1 のような以前のリリースから更新する場合は、まず 5.20.1 と 5.20.2 の違いについて記述している L を読んでください。 =head1 Incompatible Changes (互換性のない変更) =begin original There are no changes intentionally incompatible with 5.20.2. If any exist, they are bugs, and we request that you submit a report. See L below. =end original 故意に、5.20.2 から互換性がなくなるようにした変更はありません。 もし 5.20.2 との互換性がなければ、それはバグですので、報告をお願いします。 以下の L を参照してください。 =head1 Modules and Pragmata (モジュールとプラグマ) =head2 Updated Modules and Pragmata (更新されたモジュールとプラグマ) =over 4 =item * =begin original L has been upgraded from version 1.20_05 to 1.20_06. =end original L はバージョン 1.20_05 から 1.20_06 に更新されました。 =begin original Add B<-P> to the pre-processor command-line on GCC 5. GCC added extra line directives, breaking parsing of error code definitions. L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> =end original GCC 5 では、プリプロセッサのコマンドラインに C<-P> が追加されました。 GCC は追加の行指示子が追加されていて、エラーコード定義のパースを 壊していました。 L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> =item * =begin original L has been upgraded from version 5.20150214 to 5.20150822. =end original L はバージョン 5.20150214 から 5.20150822 に更新されました。 =begin original Updated to cover the latest releases of Perl. =end original 最新リリースの Perl に対応するために更新されました。 =item * =begin original L has been upgraded from 1.44 to 1.44_01. =end original L はバージョン 1.44 から 1.44_01 に更新されました。 =begin original The debugger would cause an assertion failure. L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =end original デバッガはアサート失敗を引き起こしていました。 L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =back =head1 Documentation (文書) =head2 Changes to Existing Documentation (既存の文書の変更) =head3 L =over 4 =item * =begin original Mention that L|perlfunc/study> is currently a no-op. =end original L|perlfunc/study> は現在のところ何もしないことに言及しました。 =back =head3 L =over 4 =item * =begin original The OOK example has been updated to account for COW changes and a change in the storage of the offset. =end original OOK の例は、COW の変更とストレージのオフセットの変更を考慮して更新されました。 =back =head3 L =over 4 =item * =begin original Documentation has been added illustrating the perils of assuming the contents of static memory pointed to by the return values of Perl wrappers for C library functions doesn't change. =end original C ライブラリ関数のための Perl のラッパの返り値によって示されている静的メモリの 内容が変更されないと仮定することの危険を図示した文書が追加されました。 =back =head3 L =over 4 =item * =begin original The specification of the POD language is changing so that the default encoding of PODs that aren't in UTF-8 (unless otherwise indicated) is CP1252 instead of ISO-8859-1 (Latin1). =end original UTF-8 でない場合の POD の(特に示されていない限り)デフォルト エンコーディングは ISO 8859-1 (Latin1) ではなく CP1252 であるというように POD 言語の仕様が変更されました。 =back =head1 Utility Changes (ツールの変更) =head2 L =over 4 =item * =begin original B now handles hexadecimal constants in the compiler's predefined macro definitions, as visible in C<$Config{cppsymbols}>. L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> =end original F は、C<$Config{cppsymbols}> で見えるように、コンパイラの事前定義 マクロ定義で 16 進定数が使えるようになりました。 L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> =back =head1 Testing (テスト) =over 4 =item * =begin original F has been added to see if optimisations with taint issues are keeping things fast. =end original 汚染問題の最適化が高速性を維持しているかを見る F が 追加されました。 =item * =begin original F has been added to test that L and its dependencies only use the subset of the C<$1..$n> capture vars that Perl_save_re_context() is hard-coded to localize, because that function has no efficient way of determining at runtime what vars to localize. =end original L とその依存が、(関数がどの変数がローカル化されるかを実行時に決定する 効率的な方法がないために) Perl_save_re_context() がローカル化されるように ハードコーディングされている C<$1..$n> 捕捉変数の部分集合のみを 使っているかどうかをテストするための F が 追加されました。 =back =head1 Platform Support (プラットフォーム対応) =head2 Platform-Specific Notes (プラットフォーム固有の注意) =over 4 =item Win32 =over 4 =item * =begin original Previously, when compiling with a 64-bit Visual C++, every Perl XS module (including CPAN ones) and Perl aware C file would unconditionally have around a dozen warnings from F. These warnings have been silenced. GCC (all bitness) and 32-bit Visual C++ were not affected. =end original 以前は、Win64 用の Visual C++ でコンパイルすると、(CPAN のものを含む) 全ての XS モジュールと Perl が認識する C ファイルで無条件に F から大量の 警告が出ていました。 これらの警告は出なくなりました。 GCC (ビット数に関わらず) と 32 ビット Visual C++ は影響を受けません。 =item * =begin original B is now built with B<-fno-strict-aliasing>, allowing 64-bit builds to complete with GCC 4.8. L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976> =end original B は、GCC 4.8 でビルドが完了できるように、 C<-fno-strict-aliasing> 付きでビルドされるようになりました。 L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976> =back =back =head1 Selected Bug Fixes (バグ修正の抜粋) =over 4 =item * =begin original Repeated global pattern matches in scalar context on large tainted strings were exponentially slow depending on the current match position in the string. L<[perl #123202]|https://rt.perl.org/Ticket/Display.html?id=123202> =end original 大きな汚染された文字列に対してスカラコンテキストで繰り返されたグローバル パターンマッチングは、文字列中の現在のマッチング位置に依存して 指数的に遅くなっていました。 L<[perl #123202]|https://rt.perl.org/Ticket/Display.html?id=123202> =item * =begin original The original visible value of L>|perlvar/$E> is now preserved when it is set to an invalid value. Previously if you set C<$/> to a reference to an array, for example, perl would produce a runtime error and not set PL_rs, but Perl code that checked C<$/> would see the array reference. L<[perl #123218]|https://rt.perl.org/Ticket/Display.html?id=123218> =end original L>|perlvar/$E> の元の見える値は、不正な値を設定されたときは値が 保存されるようになりました。 以前は、例えば C<$/> に配列へのリファレンスを設定すると、perl は実行時エラーを 出力して PL_rs を設定しませんが、C<$/> を調べる Perl コードは 配列リファレンスを見ていました。 L<[perl #123218]|https://rt.perl.org/Ticket/Display.html?id=123218> =item * =begin original Perl 5.14.0 introduced a bug whereby C would crash. This has been fixed. L<[perl #123652]|https://rt.perl.org/Ticket/Display.html?id=123652> =end original Perl 5.14.0 では C がクラッシュするというバグが 導入されていました。 これは修正されました。 L<[perl #123652]|https://rt.perl.org/Ticket/Display.html?id=123652> =item * =begin original Extending an array cloned from a parent thread could result in "Modification of a read-only value attempted" errors when attempting to modify the new elements. L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =end original 親スレッドからクローンされた配列を拡張すると、新しい要素を 変更しようとしたときに "Modification of a read-only value attempted" エラーが 起きることがありました。 L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> =item * =begin original Several cases of data used to store environment variable contents in core C code being potentially overwritten before being used have been fixed. L<[perl #123748]|https://rt.perl.org/Ticket/Display.html?id=123748> =end original コア C コードで内容を環境変数に保管したデータが場合によっては使われる前に 上書きされる可能性がある問題は修正されました。 L<[perl #123748]|https://rt.perl.org/Ticket/Display.html?id=123748> =item * =begin original UTF-8 variable names used in array indexes, unquoted UTF-8 HERE-document terminators and UTF-8 function names all now work correctly. L<[perl #124113]|https://rt.perl.org/Ticket/Display.html?id=124113> =end original 配列インデックスで使われた UTF-8 変数名、クォートなしの UTF-8 の ヒヤドキュメント終端子、UTF-8 関数名は全て正しく動作するようになりました。 L<[perl #124113]|https://rt.perl.org/Ticket/Display.html?id=124113> =item * =begin original A subtle bug introduced in Perl 5.20.2 involving UTF-8 in regular expressions and sometimes causing a crash has been fixed. A new test script has been added to test this fix; see under L. L<[perl #124109]|https://rt.perl.org/Ticket/Display.html?id=124109> =end original 正規表現中の UTF-8 に関して時々クラッシュを引き起こす、Perl 5.20.2 で 導入された微妙なバグは修正されました。 この修正をテストするために新しいテストスクリプトが追加されました; L を参照してください。 L<[perl #124109]|https://rt.perl.org/Ticket/Display.html?id=124109> =item * =begin original Some patterns starting with C matched against long strings have been slow since Perl 5.8, and some of the form C have been slow since Perl 5.18. They are now all fast again. L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743> =end original C で始まるパターンの一部は長い文字列では v5.8 から遅くなっていて、 C 形式の一部は v5.18 から遅くなっていました。 これらは再び高速になりました。 L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743> =item * =begin original Warning fatality is now ignored when rewinding the stack. This prevents infinite recursion when the now fatal error also causes rewinding of the stack. L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398> =end original 警告の致命的エラー化は、スタックを巻き戻すときには無視されるようになりました。 これにより、致命的エラーがスタックを巻き戻すときの無限ループを防ぎます。 L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398> =item * =begin original C (with one argument) was accidentally changed in Perl 5.16 to mean C. This has been fixed. =end original (1 引数の) C は、誤って C を意味するように Perl 5.16 から変更されていました。 これは修正されました。 =item * =begin original A crash with C<< %::=(); J->${\"::"} >> has been fixed. L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541> =end original C<< %::=(); J->${\"::"} >> でのクラッシュは修正されました。 L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541> =item * =begin original Regular expression possessive quantifier Perl 5.20 regression now fixed. CIC<{>I,IC<}+>C is supposed to behave identically to C>IC<{>I,IC<})/>. Since Perl 5.20, this didn't work if I and I were equal. L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825> =end original 正規表現所有量指定子の Perl 5.20 での退行は修正されました。 CIC<{>I,IC<}+>C は C>IC<{>I,IC<})/> と同じように振る舞うことが 想定されていました。 Perl 5.20 から、I と I が同じ場合は動作していませんでした。 L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825> =item * =begin original Code like C used to read the next line of input and treat it as though it came immediately after the opening bracket. Some invalid code consequently would parse and run, but some code caused crashes, so this is now disallowed. L<[perl #123712]|https://rt.perl.org/Ticket/Display.html?id=123712> =end original C のようなコードは、入力の次の行を読み込んで、それが開き大かっこの 直後にあるかのように扱われていました。 結果として一部の不正なコードはパースと実行が行われますが、一部のコードは クラッシュを引き起こしていたので、これは許されなくなりました。 L<[perl #123712]|https://rt.perl.org/Ticket/Display.html?id=123712> =back =head1 Acknowledgements =begin original Perl 5.20.3 represents approximately 7 months of development since Perl 5.20.2 and contains approximately 3,200 lines of changes across 99 files from 26 authors. =end original Perl 5.20.3 は、Perl 5.20.2 以降、26 人の作者によって、 99 のファイルに約 3,200 行の変更を加えて、 約 7 ヶ月開発されてきました。 =begin original Excluding auto-generated files, documentation and release tools, there were approximately 1,500 lines of changes to 43 .pm, .t, .c and .h files. =end original 自動生成ファイル、文書、リリースツールを除くと、43 の .pm, .t, .c, .h ファイルに約 1,500 行の変更を加えました。 =begin original Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.20.3: =end original Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 20 年を超えて 繁栄しています。 以下の人々が、Perl 5.20.3 になるための改良に貢献したことが分かっています: Alex Vandiver, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari MannsEker, Daniel Dragan, David Mitchell, Father Chrysostomos, H.Merijn Brand, James E Keenan, James McCoy, Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, kmx, Lajos Veres, Lukas Mai, Matthew Horsfall, Petr PEsaE<0x159>, Randy Stauner, Ricardo Signes, Sawyer X, Steve Hay, Tony Cook, Yves Orton. =begin original The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker. =end original これはバージョンコントロール履歴から自動的に生成しているので、ほぼ確実に 不完全です。 特に、Perl バグトラッカーに問題を報告をしてくれた (とてもありがたい)貢献者の 名前を含んでいません。 =begin original Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish. =end original このバージョンに含まれている変更の多くは、Perl コアに含まれている CPAN モジュール由来のものです。 私たちは Perl の発展を助けている CPAN コミュニティ全体に感謝します。 =begin original For a more complete list of all of Perl's historical contributors, please see the F file in the Perl source distribution. =end original 全ての Perl の歴史的な貢献者のより完全な一覧については、どうか Perl ソース 配布に含まれている F を参照してください。 =head1 Reporting Bugs (バグ報告) =begin original If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at https://rt.perl.org/ . There may also be information at http://www.perl.org/ , the Perl Home Page. =end original もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに 最近投稿された記事や https://rt.perl.org/ にある perl バグ データベースを確認してください。 Perl ホームページ、http://www.perl.org/ にも情報があります。 =begin original If you believe you have an unreported bug, please run the L program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of C, will be sent off to perlbug@perl.org to be analysed by the Perl porting team. =end original もしまだ報告されていないバグだと確信したら、そのリリースに含まれている L プログラムを実行してください。 バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを 意識してください。 バグレポートは C の出力と一緒に perlbug@perl.org に送られ Perl porting チームによって解析されます。 =begin original 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-security-report@perl.org. This points to a closed subscription unarchived mailing list, which includes all the 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 core, not for modules independently distributed on CPAN. =end original もし報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、 perl5-security-report@perl.org に送ってください。 このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している 全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを 助けることが出来る、全てのコアコミッタが参加している非公開の メーリングリストになっています。 このアドレスは、独自に CPAN で配布されているモジュールではなく、 Perl コアのセキュリティ問題だけに使ってください。 =head1 SEE ALSO =begin original The F file for an explanation of how to view exhaustive details on what changed. =end original 変更点の完全な詳細を見る方法については F ファイル。 =begin original The F file for how to build Perl. =end original Perl のビルド方法については F ファイル。 =begin original The F file for general stuff. =end original 一般的なことについては F ファイル。 =begin original The F and F files for copyright information. =end original 著作権情報については F 及び F ファイル。 =cut =begin meta Translate: SHIRAKATA Kentaro Status: completed =end meta