[perldocjp-cvs 1433] CVS update: docs/perl/5.16.0

Back to archive index

argra****@users***** argra****@users*****
2012年 5月 4日 (金) 20:19:09 JST


Index: docs/perl/5.16.0/perl5160delta.pod
diff -u docs/perl/5.16.0/perl5160delta.pod:1.13 docs/perl/5.16.0/perl5160delta.pod:1.14
--- docs/perl/5.16.0/perl5160delta.pod:1.13	Mon Apr 30 02:31:51 2012
+++ docs/perl/5.16.0/perl5160delta.pod	Fri May  4 20:19:08 2012
@@ -450,16 +450,14 @@
 含むようになりました(以前は含んでいませんでしたが、そのほとんどは
 Perl が使っていた推奨される名前でした)。
 Unicode は U+008E から U+008F の間の上述の四つの符号位置に対する
-名前を推奨しておらず、and in
-standardizing them Unicode subtly changed the names that Perl had
-previously given them, by replacing the final blank in each name by a
-hyphen.
+名前を推奨しておらず、これらを標準化する際に Unicode は Perl が以前
+与えていた名前を、それぞれの名前の最後の空白をハイフンにすることで
+微妙に変更しました。
 Unicode はまた、FILE SEPARATOR のように Perl では非推奨とした名前を
 公式に受け入れました。
 今では唯一の非推奨の名前は BELL です。
 最終的に、上述の四つの符号位置の名前として古い(今では古いものとなったと
 考えられる)名前ではなく、新しい公式の名前(かっこで囲まれたもの)を使います。
-(TBT)
 
 =begin original
 
@@ -908,10 +906,10 @@
 
 =end original
 
-C<$$> は Perl 5.8.0 で読み込みせんようになりました。
+C<$$> は Perl 5.8.0 で読み込み専用になりました。
 しかしときどき: C<local $$> で再び書き込み可能になることがあります。
 CPAN モジュールによっては読み込み専用のチェックを回避するために
-C<local $$> や XS コードを使っているものもあるので、C<$$> よ読み込み専用に
+C<local $$> や XS コードを使っているものもあるので、C<$$> を読み込み専用に
 保っておく理由がありません。
 (この変更はまた、過去互換性を維持する間に修正するべきバグを許します。)
 
@@ -1015,7 +1013,7 @@
 
 =head3 The C<CORE::> prefix
 
-(C<CORE::> 前置詞)
+(C<CORE::> 接頭辞)
 
 =begin original
 
@@ -1024,7 +1022,7 @@
 
 =end original
 
-C<CORE::> 前置詞は、たとえ C<use feature> スコープの外側でも、
+C<CORE::> 接頭辞は、たとえ C<use feature> スコープの外側でも、
 L<feature.pm|feature> で有効になるキーワードで使われるようになりました。
 
 =head3 Subroutines in the C<CORE> namespace
@@ -1241,11 +1239,10 @@
 
 =end original
 
-Two new XS-accessible functions, C<utf8_to_uvchr_buf()> and
-C<utf8_to_uvuni_buf()> are now available to prevent this, and the Perl
-core has been converted to use them.
-See L</Internal Changes>.
-(TBT)
+二つの新しい XS アクセス可能な関数である C<utf8_to_uvchr_buf()> と
+C<utf8_to_uvuni_buf()> がこれを避けるために利用可能となり、Perl コアは
+これらを使うように変換されました。
+L</Internal Changes> を参照してください。
 
 =head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
 
@@ -3415,10 +3412,9 @@
 
 =end 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).
-(TBT)
+インタプリタバイナリの振る舞い(但し小さい部分にだけ)に影響を与える
+C<USE_LOCALE{,_COLLATE,_CTYPE,_NUMERIC}> が perl -V の出力に
+追加されました。
 
 =item *
 
@@ -3450,12 +3446,13 @@
 =end original
 
 The magic types and magic vtables are now generated from data in a new script
-F<regen/mg_vtable.pl>, instead of being maintained by hand.  As different
-EBCDIC variants can't agree on the code point for '~', the character to code
-point conversion is done at build time by F<generate_uudmap> to a new generated
-header F<mg_data.h>.  C<PL_vtbl_bm> and C<PL_vtbl_fm> are now defined by the
-pre-processor as C<PL_vtbl_regexp>, instead of being distinct C variables.
-C<PL_vtbl_sig> has been removed.
+F<regen/mg_vtable.pl>, instead of being maintained by hand.
+異なった EBCDIC バリアントは符号位置として '~' を使えないので、
+符号位置を変換の文字は F<generate_uudmap> から新しく生成されるヘッダ
+F<mg_data.h> でビルド時に行われます。
+C<PL_vtbl_bm> と C<PL_vtbl_fm> は明確な C の変数ではなく、
+C<PL_vtbl_regexp> としてプリプロセッサで定義されるようになりました。
+C<PL_vtbl_sig> は削除されました。
 (TBT)
 
 =item *
@@ -3493,9 +3490,8 @@
 =end original
 
 F<makedef.pl> がリファクタリングされました。
-This should have no noticeable affect on
-any of the platforms that use it as part of their build (AIX, VMS, Win32).
-(TBT)
+これをビルドの一部として使っているプラットフォーム (AIX, VMS, Win32) に
+顕著な影響を与えることはないはずです。
 
 =item *
 
@@ -3520,9 +3516,10 @@
 
 =end original
 
-The file F<global.sym> is no longer needed, and has been removed.  It
-contained a list of all exported functions, one of the files generated by
-F<regen/embed.pl> from data in F<embed.fnc> and F<regen/opcodes>.  The code
+F<global.sym> は不要になったので削除されました。
+これは全てのエクスポートされた関数の一覧で、F<embed.fnc> と
+F<regen/opcodes> のデータから F<regen/embed.pl> で生成されたものです。
+The code
 has been refactored so that the only user of F<global.sym>, F<makedef.pl>,
 now reads F<embed.fnc> and F<regen/opcodes> directly, removing the need to
 store the list of exported functions in an intermediate file.
@@ -3551,10 +3548,10 @@
 
 L<perltoc> をビルドするためのビルドプロセスで使われる F<pod/buildtoc> は
 リファクタリングされ単純化されました。
-It now only contains 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.
-(TBT)
+L<perltoc> をビルドするコードだけが含まれるようになりました;
+Makefiles を再生制するためのコードは F<Porting/pod_rules.pl> に
+移動しました。
+この変更がビルドプロセスに実質的な影響を与えているのはバグでした。
 
 =item *
 
@@ -3777,74 +3774,169 @@
 
 =head1 Internal Changes
 
+(内部の変更)
+
 =over 4
 
 =item *
 
+=begin original
+
 The compiled representation of formats is now stored via the C<mg_ptr> of
 their C<PERL_MAGIC_fm>.  Previously it was stored in the string buffer,
 beyond C<SvLEN()>, the regular end of the string.  C<SvCOMPILED()> and
 C<SvCOMPILED_{on,off}()> now exist solely for compatibility for XS code.
 The first is always 0, the other two now no-ops. (5.14.1)
 
+=end original
+
+フォーマットのコンパイル表現は PERL_MAGIC_fm の mg_ptr 経由で
+保管されるようになりました。
+以前は通常の文字列の末尾である SvLEN() の向こうの文字列バッファに
+保管されていました。
+SvCOMPILED() と SvCOMPILED_{on,off}() は XS コードとの互換性のためだけに
+存在するようになりました。
+最初は常に 0、後の二つは何もしなくなりました (5.14.1)。
+
 =item *
 
+=begin original
+
 Some global variables have been marked C<const>, members in the interpreter
 structure have been re-ordered, and the opcodes have been re-ordered.  The
 op C<OP_AELEMFAST> has been split into C<OP_AELEMFAST> and C<OP_AELEMFAST_LEX>.
 
+=end original
+
+いくつかのグローバル変数が C<const> としてマークされ、インタプリタ
+構造体のメンバーの順序が入れ替えられ、オペコードの順序が入れ替えられました。
+C<OP_AELEMFAST> op は C<OP_AELEMFAST> と C<OP_AELEMFAST_LEX> に
+分割されました。
+
 =item *
 
+=begin original
+
 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>.
 
+=end original
+
+(例えば undef(%h) や %h=() によって) ハッシュの要素を空にするとき、
+HvARRAY フィールドは一時的に 0 にされなくなりました。
+解放される要素で呼び出される任意のデストラクタは残っている要素を
+見ることができます。
+従って、%h=() は、より C<delete $h{$_} for keys %h> に似ているものに
+なりました。
+
 =item *
 
+=begin original
+
 Boyer-Moore compiled scalars are now PVMGs, and the Boyer-Moore tables are now
 stored via the mg_ptr of their C<PERL_MAGIC_bm>.
 Previously they were PVGVs, with the tables stored in
 the string buffer, beyond C<SvLEN()>.  This eliminates
 the last place where the core stores data beyond C<SvLEN()>.
 
+=end original
+
+ボイヤー-ムーアコンパイル済みスカラは PVMG となり、
+ボイヤー-ムーアテーブルは C<PERL_MAGIC_bm> の mg_ptr 経由で
+補完されるようになりました。
+以前はこれらは PVGV で、テーブルは文字列バッファの C<SvLEN()> を超えた
+位置に補完されていました。
+これによりコアが C<SvLEN()> を声対置にデータを補完する最後の場所が
+除去されました。
+
 =item *
 
+=begin original
+
 Simplified logic in C<Perl_sv_magic()> introduces a small change of
 behaviour 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
+
+C<Perl_sv_magic()> のロジックが単純化され、不明なマジック型に関係する
+エラーの場合にわずかに振る舞いが変更されました。
+以前は、C<Perl_sv_magic()> に不明なマジック型が渡されると:
+
 =over
 
 =item 1.
 
+=begin original
+
 Croak "Modification of a read-only value attempted" if read only
 
+=end original
+
+読み込み専用なら "Modification of a read-only value attempted" で
+croak する
+
 =item 2.
 
+=begin original
+
 Return without error if the SV happened to already have this magic
 
+=end original
+
+SV がたまたますでにこのマジックを保持しているならエラーなしで返る
+
 =item 3.
 
+=begin original
+
 otherwise croak "Don't know how to handle magic of type \\%o"
 
+=end original
+
+それ以外なら "Don't know how to handle magic of type \\%o" で croak する
+
 =back
 
+=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.
 
+=end original
+
+今では、読み込み専用の値でも、既に不明なマジック型を保持している SV でも
+常に "Don't know how to handle magic of type \\%o" で croak します。
+
 =item *
 
+=begin original
+
 The experimental C<fetch_cop_label> function has been renamed to
 C<cop_fetch_label>.
 
+=end original
+
+実験的な C<fetch_cop_label> 関数は C<cop_fetch_label> に名前が
+変更されました。
+
 =item *
 
+=begin original
+
 The C<cop_store_label> function has been added to the API, but is
 experimental.
 
+=end original
+
+C<cop_store_label> 関数が API に追加されましたが、実験的なものです。
+
 =item *
 
+=begin original
+
 F<embedvar.h> has been simplified, and one level of macro indirection for
 PL_* variables has been removed for the default (non-multiplicity)
 configuration.  PERLVAR*() macros now directly expand their arguments to
@@ -3852,20 +3944,49 @@
 F<embedvar.h> defining a macro to map C<PL_Idefgv> to C<PL_defgv>.  XS code
 which has unwarranted chumminess with the implementation may need updating.
 
+=end original
+
+F<embedvar.h> が単純化され、デフォルトの (非多重化) 設定での PL_*
+変数の 1 レベルの間接マクロが削除されました。
+PERLVAR*() マクロは、now directly expand their arguments to
+tokens such as C<PL_defgv>, instead of expanding to C<PL_Idefgv>, with
+F<embedvar.h> defining a macro to map C<PL_Idefgv> to C<PL_defgv>.
+実装上の保証されていない友好性をもつ XS コードは更新が必要かもしれません。
+(TBT)
+
 =item *
 
+=begin original
+
 An API has been added to explicitly choose whether or not to export XSUB
 symbols.  More detail can be found in the comments for commit e64345f8.
 
+=end original
+
+XSUB シンボルをエクスポートするかどうかを明示的に選択するための API が
+追加されました。
+さらなる詳細はコミット e64345f8 のコメントにあります。
+
 =item *
 
+=begin original
+
 The C<is_gv_magical_sv> function has been eliminated and merged with
 C<gv_fetchpvn_flags>.  It used to be called to determine whether a GV
 should be autovivified in rvalue context.  Now it has been replaced with a
 new C<GV_ADDMG> flag (not part of the API).
 
+=end original
+
+C<is_gv_magical_sv> 関数が削除され、C<gv_fetchpvn_flags> と統合されました。
+GV が右辺値コンテキストで自動有効化されるべきかどうかを決定するために
+呼び出されていました。
+これは (API の一部ではない) 新しい C<GV_ADDMG> フラグで置き換えられました。
+
 =item *
 
+=begin original
+
 The returned code point from the function C<utf8n_to_uvuni()>
 when the input is malformed UTF-8, malformations are allowed, and
 C<utf8> warnings are off is now the Unicode REPLACEMENT CHARACTER
@@ -3874,8 +3995,22 @@
 only malformations that have well-defined values are a zero-length
 string (0 is the return), and overlong UTF-8 sequences.
 
+=end original
+
+The returned code point from the function C<utf8n_to_uvuni()>
+when the input is malformed UTF-8, malformations are allowed, and
+C<utf8> warnings are off is now the Unicode REPLACEMENT CHARACTER
+whenever the malformation is such that no well-defined code point can be
+computed.
+以前は返される値は基本的にはごみでした。
+よく知られている値の唯一の不正形は長さ 0 の文字列 (0 が返されます) と
+長すぎる UTF-8 シーケンスです。
+(TBT)
+
 =item *
 
+=begin original
+
 Padlists are now marked C<AvREAL>; i.e., reference-counted.  They have
 always been reference-counted, but were not marked real, because F<pad.c>
 did its own clean-up, instead of using the usual clean-up code in F<sv.c>.
@@ -3883,14 +4018,37 @@
 but is turned off in F<pad.c> right before the padlist is freed (after
 F<pad.c> has done its custom freeing of the pads).
 
+=end original
+
+パッドリストは C<AvREAL> としてマークされるようになりました; つまり、
+参照カウントされます。
+これは常に参照カウントされますが、通常の F<sv.c> のクリーンナップ
+コードを使うのではなく、F<pad.c> が自身でクリーンナップしていたため、
+実際にはマークされていませんでした。
+これはスレッドのクローン化で問題を引き起こすので、 C<AvREAL> フラグを
+オンにするようになりましたが、パッドリストが解放される直前 (F<pad.c> が
+独自のパッドの解放を行った後) F<pad.c> によってオフにされます。
+
 =item *
 
+=begin original
+
 All the C files that make up the Perl core have been converted to UTF-8.
 
+=end original
+
+Perl コアの全ての C ファイルが UTF-8 に変換されました。
+
 =item *
 
+=begin original
+
 These new functions have been added as part of the work on Unicode symbols:
 
+=end original
+
+以下の新しい関数が Unicode 文字での作業の一部として追加されました。
+
     HvNAMELEN
     HvNAMEUTF8
     HvENAMELEN
@@ -3922,13 +4080,27 @@
     whichsig_sv
     newCONSTSUB_flags
 
+=begin original
+
 The gv_fetchmethod_*_flags functions, like gv_fetchmethod_flags, are
 experimental and may change in a future release.
 
+=end original
+
+gv_fetchmethod_*_flags 関数は、gv_fetchmethod_flags と同様に実験的であり、
+将来のリリースで変更されるかもしれません。
+
 =item *
 
+=begin original
+
 The following functions were added.  These are I<not> part of the API:
 
+=end original
+
+以下の関数が追加されました。
+これらは API の一部 I<ではありません> 。
+
     GvNAMEUTF8
     GvENAMELEN
     GvENAME_HEK
@@ -3939,24 +4111,52 @@
     sv_sethek
     HEKfARG
 
+=begin original
+
 There is also a C<HEKf> macro corresponding to C<SVf>, for
 interpolating HEKs in formatted strings.
 
+=end original
+
+フォーマットされた文字列の HEK を展開するために、C<SVf> に対応する
+C<HEKf> マクロもあります。
+
 =item *
 
+=begin original
+
 C<sv_catpvn_flags> takes a couple of new internal-only flags,
 C<SV_CATBYTES> and C<SV_CATUTF8>, which tell it whether the char array to
 be concatenated is UTF8.  This allows for more efficient concatenation than
 creating temporary SVs to pass to C<sv_catsv>.
 
+=end original
+
+C<sv_catpvn_flags> は二つの新しい内部専用のフラグ C<SV_CATBYTES> と
+C<SV_CATUTF8> を取るようになり、連結される文字配列が UTF8 かどうかを
+知らせます。
+これにより C<sv_catsv> に渡すために一時的な SV を作成するよりも
+より効率的に結合を行えるようになります。
+
 =item *
 
+=begin original
+
 For XS AUTOLOAD subs, $AUTOLOAD is set once more, as it was in 5.6.0.  This
 is in addition to setting C<SvPVX(cv)>, for compatibility with 5.8 to 5.14.
 See L<perlguts/Autoloading with XSUBs>.
 
+=end original
+
+XS AUTOLOAD サブルーチンのために、$AUTOLOAD が 5.6.0 の頃のように
+再び設定されるようになりました。
+これは、5.8 から 5.14 の互換性のために、C<SvPVX(cv)> の設定に追加されます。
+L<perlguts/Autoloading with XSUBs> を参照してください。
+
 =item *
 
+=begin original
+
 Perl now checks whether the array (the linearised 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
@@ -3964,35 +4164,90 @@
 C<mro::get_linear_isa> may return an array with one more element than the
 MRO plugin provided [perl #94306].
 
+=end original
+
+Perl now checks whether the array (the linearised 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.
+これはメソッド検索中に最初の要素がスキップされるのを防ぎます。
+これはまた、C<mro::get_linear_isa> が MRO プラグインが提供するよりも一つ
+要素の多い配列を返すかもしれないことも意味します [perl #94306]。
+(TBT)
+
 =item *
 
+=begin original
+
 C<PL_curstash> is now reference-counted.
 
+=end original
+
+C<PL_curstash> は参照カウントされるようになりました。
+
 =item *
 
+=begin original
+
 There are now feature bundle hints in C<PL_hints> (C<$^H>) that version
 declarations use, to avoid having to load F<feature.pm>.  One setting of
 the hint bits indicates a "custom" feature bundle, which means that the
 entries in C<%^H> still apply.  F<feature.pm> uses that.
 
+=end original
+
+F<feature.pm> を読み込む必要性を避けるために、バージョン宣言に使う
+新しい機能バンドルヒント C<PL_hints> (C<$^H>) が追加されました。
+ヒントビットの一つの設定は「カスタム」機能バンドルを示していて、
+これは C<%^H> のエントリがまだ適用されていることを意味します。
+F<feature.pm> はこれを使います。
+
+=begin original
+
 The C<HINT_FEATURE_MASK> macro is defined in F<perl.h> along with other
 hints.  Other macros for setting and testing features and bundles are in
 the new F<feature.h>.  C<FEATURE_IS_ENABLED> (which has moved to
 F<feature.h>) is no longer used throughout the codebase, but more specific
 macros, e.g., C<FEATURE_SAY_IS_ENABLED>, that are defined in F<feature.h>.
 
+=end original
+
+C<HINT_FEATURE_MASK> マクロがその他のヒントと共に F<perl.h> に
+定義されました。
+機能とバンドルを設定およびテストするためのその他のマクロは新しい
+F<feature.h> にあります。
+(F<feature.h> に移動した) C<FEATURE_IS_ENABLED> はコードベース全体から
+もはや使われなくなりましたが、 C<FEATURE_SAY_IS_ENABLED> のような
+より限定的なマクロは F<feature.h> に定義されています。
+
 =item *
 
+=begin original
+
 F<lib/feature.pm> is now a generated file, created by the new
 F<regen/feature.pl> script, which also generates F<feature.h>.
 
+=end original
+
+F<lib/feature.pm> は新しい F<regen/feature.pl> スクリプトで生成される
+ファイルとなり、このスクリプトは F<feature.h> も生成します。
+
 =item *
 
+=begin original
+
 Tied arrays are now always C<AvREAL>.  If C<@_> or C<DB::args> is tied, it
 is reified first, to make sure this is always the case.
 
+=end original
+
+tie された配列は常に C<AvREAL> になりました。
+C<@_> または C<DB::args> が tie されると、常に当てはまるように、
+最初に具体化されます。
+
 =item *
 
+=begin original
+
 Two new functions C<utf8_to_uvchr_buf()> and C<utf8_to_uvuni_buf()> have
 been added.  These are the same as C<utf8_to_uvchr> and
 C<utf8_to_uvuni> (which are now deprecated), but take an extra parameter
@@ -4000,17 +4255,43 @@
 string.
 See L<perlapi/utf8_to_uvchr_buf> and L<perlapi/utf8_to_uvuni_buf>.
 
+=end original
+
+二つの新しい関数 C<utf8_to_uvchr_buf()> と C<utf8_to_uvuni_buf()> が
+追加されました。
+これらは(非推奨となった) C<utf8_to_uvchr> および C<utf8_to_uvuni> と
+同じですが、入力文字列の末尾を超えて読み込むのを守るために使われる追加の
+引数を取ります。
+L<perlapi/utf8_to_uvchr_buf> と L<perlapi/utf8_to_uvuni_buf> を
+参照してください。
+
 =item *
 
+=begin original
+
 The regular expression engine now does TRIE case insensitive matches
 under Unicode. This may change the output of C<< use re 'debug'; >>,
 and will speed up various things.
 
+=end original
+
+正規表現エンジンは Unicode での大文字小文字を無視したマッチングに TRIE を
+するようになりました。
+これにより C<< use re 'debug'; >> の出力が変わる可能性があり、
+また色々なことが高速化します。
+
 =item *
 
+=begin original
+
 There is a new C<wrap_op_checker()> function, which provides a thread-safe
 alternative to writing to C<PL_check> directly.
 
+=end original
+
+C<PL_check> を直接書くためのスレッドセーフな代替策を提供するために、
+C<wrap_op_checker()> 関数が追加されました。
+
 =back
 
 =head1 Selected Bug Fixes



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