[perldocjp-cvs 1946] CVS update: docs/perl/5.20.1

Back to archive index

argra****@users***** argra****@users*****
2015年 11月 17日 (火) 05:01:57 JST


Index: docs/perl/5.20.1/perlxs.pod
diff -u docs/perl/5.20.1/perlxs.pod:1.2 docs/perl/5.20.1/perlxs.pod:1.3
--- docs/perl/5.20.1/perlxs.pod:1.2	Thu Feb 12 00:43:20 2015
+++ docs/perl/5.20.1/perlxs.pod	Tue Nov 17 05:01:57 2015
@@ -285,10 +285,9 @@
 XS ファイルの先頭に置かれることに注意してください。
 このアプローチなどはこのドキュメントの後のほうで説明します。
 A #define for C<PERL_NO_GET_CONTEXT>
-should be present to fetch the interpreter context more efficiently,
-see L<perlguts|perlguts/How multiple interpreters and concurrency are
-supported> for details.
-(TBT)
+should be present to fetch the interpreter context more efficiently;
+詳しくは L<perlguts|perlguts/How multiple interpreters and concurrency are
+supported> を参照してください。
 
      #define PERL_NO_GET_CONTEXT
      #include "EXTERN.h"
@@ -4433,12 +4432,11 @@
 
 =end original
 
-In general, the perl interpreter views itself as the center of the
-universe as far as the Perl program goes.  XS code is viewed as a
-help-mate, to accomplish things that perl doesn't do, or doesn't do fast
-enough, but always subservient to perl.  The closer XS code adheres to
-this model, the less likely conflicts will occur.
-(TBT)
+一般的に、perl インタプリタは、Perl プログラムが実行されている限りは、
+自分自身が世界の中心であるという見方をします。
+XS コードは、perl ができなかったり、十分高速に出来なかったりすることを
+遂行するための協力者だけれども、常に perl に従属するものとして見られます。
+XS コードがこのモデルにより密接に従うほど、起こりうる衝突は少なくなります。
 
 =begin original
 
@@ -4471,26 +4469,30 @@
 One area where there has been conflict is in regards to C locales.  (See
 L<perllocale>.)  perl, with one exception and unless told otherwise,
 sets up the underlying locale the program is running in to that passed
-into it from the environment.  As of v5.20, this underlying locale is
+into it from the environment.
+v5.20 から、this underlying locale is
 completely hidden from pure perl code outside the lexical scope of
 C<S<use locale>>; except a couple of function calls in the POSIX
 module of necessity use it.  But the underlying locale, with that one
 exception is exposed to XS code, affecting all C library routines whose
-behavior is locale-dependent.   The exception is the
-L<C<LC_NUMERIC>|perllocale/Category LC_NUMERIC: Numeric Formatting>
-locale category, and the reason it is an exception is that experience
+behavior is locale-dependent.
+例外は L<C<LC_NUMERIC>|perllocale/Category LC_NUMERIC: Numeric Formatting>
+ロケールカテゴリで、これが例外である理由は、that experience
 has shown that it can be problematic for XS code, whereas we have not
 had reports of problems with the
 L<other locale categories|perllocale/WHAT IS A LOCALE>.  And the reason
 for this one category being problematic is that the character used as a
-decimal point can vary.  Many European languages use a comma, whereas
-English, and hence Perl are expecting a dot (U+002E: FULL STOP).  Many
-modules can handle only the radix character being a dot, and so perl
-attempts to make it so.  Up through Perl v5.20, the attempt was merely
-to set C<LC_NUMERIC> upon startup to the C<"C"> locale.  Any
-L<setlocale()|perllocale/The setlocale function> otherwise would change
-it; this caused some failures.  Therefore, starting in v5.22, perl tries
-to keep C<LC_NUMERIC> always set to C<"C"> for XS code.
+decimal point can vary.
+英語を含む多くのヨーロッパ言語はカンマを使うので、 Perl はドット
+(U+002E: FULL STOP) を想定します。
+多くのモジュールは小数点としてドットのみを扱えるので、perl は
+そうしようと試みます。
+Perl v5.20 まで、その試みは、単に起動時に C<LC_NUMERIC> を C<"C"> ロケールに
+設定することでした。
+一方 L<setlocale()|perllocale/setlocale 関数> はこれをへこうします; これは
+失敗を引き起こしました。
+従って、v5.22 から、perl は XS コードでは常に C<LC_NUMERIC> を C<"C"> に
+保とうとします。
 (TBT)
 
 =begin original
@@ -4553,8 +4555,10 @@
 changes it, it will stay changed.  This means that your module can't
 count on C<LC_NUMERIC> being something in particular, and you can't
 expect floating point numbers (including version strings) to have dots
-in them.  If you don't allow for a non-dot, your code could break if
-anyone anywhere changes the locale.  For this reason, v5.22 is changing
+in them.
+ドット以外を認めていない場合、あなたのコードは誰かがどこかでロケールを
+変更すると壊れます。
+この理由により、v5.22 is changing
 the behavior so that Perl tries to keep C<LC_NUMERIC> in the "C" locale
 except around the operations internally where it should be something
 else.  Misbehaving XS code will always be able to change the locale
@@ -4584,11 +4588,11 @@
 already set it up.  XS code should avoid changing the locale, as it can
 adversely affect other, unrelated, code and may not be thread safe.
 However, some alien libraries that may be called do set it, such as
-C<Gtk>.  This can cause problems for the perl core and other modules.
-Starting in v5.20.1, calling the function
-L<sync_locale()|perlapi/sync_locale> from XS should be sufficient to
-avoid most of these problems.  Prior to this, you need a pure Perl
-segment that does this:
+C<Gtk>.
+これは perl コアとその他のモジュールに問題を引き起こすかもしれません。
+v5.20.1 から、XS からの L<sync_locale()|perlapi/sync_locale> 関数の
+呼び出しは、これらの問題のほとんどを回避するのに十分なはずです。
+これ以前では、次のようなピュア Perl 処理が必要です:
 (TBT)
 
  POSIX::setlocale(LC_ALL, POSIX::setlocale(LC_ALL));
@@ -4603,12 +4607,11 @@
 
 =end original
 
-Macros are provided for XS code to temporarily change to use the
-underlying C<LC_NUMERIC> locale when necessary.  An API is being
-developed for this, but has not yet been nailed down, but will be during
-the course of v5.21.  Send email to L<mailto:perl5****@perl*****> for
-guidance.
-(TBT)
+必要なときに基となる C<LC_NUMERIC> ロケールを使うように一時的に変更する
+XS コードのためのマクロが提供されています。
+このための API は開発中ですが、まだ決定していません; しかし v5.21 の間に
+決定される予定です。
+案内については L<mailto:perl5****@perl*****> にメールして下さい。
 
 =back
 
Index: docs/perl/5.20.1/perldiag.pod
diff -u docs/perl/5.20.1/perldiag.pod:1.3 docs/perl/5.20.1/perldiag.pod:1.4
--- docs/perl/5.20.1/perldiag.pod:1.3	Thu Feb 12 00:43:20 2015
+++ docs/perl/5.20.1/perldiag.pod	Tue Nov 17 05:01:57 2015
@@ -5209,9 +5209,9 @@
 =end original
 
 (W illegalproto) プロトタイプ宣言に無効な文字が見つかりました。
-The '_' in a prototype must be followed by a ';',
-indicating the rest of the parameters are optional, or one of '@'
-or '%', since those two will accept 0 or more final parameters.
+プロトタイプの中の '_' は、残りの引数がオプションであることを示すために
+';' が引き続くか、'@' か '%' の一つでなければなりません;
+これら二つは 0 以上の末尾の引数を受け付けるからです。
 (TBT)
 
 =item Illegal character \%o (carriage return)
@@ -5246,10 +5246,9 @@
 
 (W illegalproto) プロトタイプ宣言に無効な文字が見つかりました。
 プロトタイプでの有効な文字は、$, @, %, *, ;, [, ], &, \, + です。
-Perhaps you were trying to write a subroutine signature but didn't enable
-that feature first (C<use feature 'signatures'>), so your signature was
-instead interpreted as a bad prototype.
-(TBT)
+おそらくサブルーチンシグネチャを書こうとしたけれども、先にこの機能を有効に
+していなかった (C<use feature 'signatures'>) ので、シグネチャが間違った
+プロトタイプとして解釈されたのでしょう。
 
 =item Illegal declaration of anonymous subroutine
 
@@ -5539,11 +5538,11 @@
 
 =end original
 
-(W syntax) In scalar context, you've used an array index/value slice
-(indicated by %) to select a single element of an array.  Generally
-it's better to ask for a scalar value (indicated by $).  The difference
-is that C<$foo[&bar]> always behaves like a scalar, both in the value it
-returns and when evaluating its argument, while C<%foo[&bar]> provides
+(W syntax) スカラコンテキストで、配列の単一の要素を選択するために
+(% で示される)配列インデックス/値スライスを使いました。
+一般的には($ で示される)スカラ値を取得した方がよいです。
+違いは、C<$foo[&bar]> は返り値と引数を評価したときの両方で常にスカラのように
+振る舞いますが、C<%foo[&bar]> provides
 a list context to its subscript, which can do weird things if you're
 expecting only one subscript.  When called in list context, it also
 returns the index (what C<&bar> returns) in addition to the value.
@@ -5890,10 +5889,9 @@
 
 =end original
 
-(W syscalls) Embedded \0 characters in pathnames or other system call
-arguments produce a warning as of 5.20.  The parts after the \0 were
-formerly ignored by system calls.
-(TBT)
+(W syscalls) パス名やその他のシステムコール引数に埋め込まれた \0 文字は
+5.20 から警告を出力するようになりました。
+以前は \0 の後の部分はシステムコールによって無視されていました。
 
 =item Invalid character in \N{...}; marked by S<<-- HERE> in \N{%s}
 
@@ -6667,8 +6665,9 @@
 =end original
 
 (F) You assigned a magical array to a stash element, and then tried
-to use the subroutine from the same slot.  You are asking Perl to do
-something it cannot do, details subject to change between Perl versions.
+to use the subroutine from the same slot.
+Perl のバージョンによって詳細が変わるかも知れないような、してはいけないことを
+Perl にさせようとしました。
 (TBT)
 
 =item Malformed integer in [] in pack
@@ -6925,8 +6924,10 @@
 other languages/systems.  This message occurs when you matched a string
 containing such a code point against a regular expression pattern, and
 the code point was matched against a Unicode property, C<\p{...}> or
-C<\P{...}>.  Unicode properties are only defined on Unicode code points,
-so the result of this match is undefined by Unicode, but Perl (starting
+C<\P{...}>.
+Unicode 特性は Unicode 符号位置に対してのみ定義されているので、
+Unicode によればこのマッチングの結果は未定義ですが、
+but Perl (starting
 in v5.20) treats non-Unicode code points as if they were typical
 unassigned Unicode ones, and matched this one accordingly.  Whether a
 given property matches these code points or not is specified in
@@ -7461,10 +7462,8 @@
 
 =end original
 
-(S) You compiled perl with B<-D>PERL_DEBUG_READONLY_COW (see
-L<perlguts/"Copy on Write">), but a shared string buffer
-could not be made read-only.
-(TBT)
+(S) perl を B<-D>PERL_DEBUG_READONLY_COW (L<perlguts/"Copy on Write"> 参照) で
+コンパイルしましたが、共有文字列バッファを読み込み専用にできませんでした。
 
 =item mprotect for %p %u failed with %d
 
@@ -7488,10 +7487,9 @@
 
 =end original
 
-(S) You compiled perl with B<-D>PERL_DEBUG_READONLY_COW (see
-L<perlguts/"Copy on Write">), but a read-only shared string
-buffer could not be made mutable.
-(TBT)
+(S) perl を B<-D>PERL_DEBUG_READONLY_COW (L<perlguts/"Copy on Write"> 参照) で
+コンパイルしましたが、読み込み専用共有文字列バッファを変更可能に
+できませんでした。
 
 =item mprotect RW for %p %u failed with %d
 
@@ -10275,10 +10273,9 @@
 
 =end original
 
-(W syntax) There is a possible problem with the mixing of a control
-flow operator (e.g. C<return>) and a low-precedence operator like
-C<or>.  Consider:
-(TBT)
+(W syntax) フロー制御演算子 (例えば C<return>) と、C<or> のような
+低優先順位演算子を混ぜると問題が起きることがあります。
+次を考えると:
 
     sub { return $a or $b; }
 
@@ -11489,7 +11486,7 @@
 =end original
 
 (F) A named reference of the form C<(?&...)> was missing the final
-closing parenthesis after the name.
+名前の後のかっこがありません。
 S<<-- HERE> で正規表現のどこに問題が発見されたかを示しています。
 (TBT)
 
@@ -11504,8 +11501,8 @@
 
 =end original
 
-(F) A named group of the form C<(?'...')> or C<< (?<...>) >> was missing the final
-closing quote or angle bracket.
+(F) A named group of the form C<(?'...')> or C<< (?<...>) >> was
+名前の後の最後の閉じクォートまたは山かっこがありません。
 S<<-- HERE> で正規表現のどこに問題が発見されたかを示しています。
 (TBT)
 
@@ -11522,7 +11519,7 @@
 =end original
 
 (F) A named reference of the form C<(?('...')...)> or C<< (?(<...>)...) >> was
-missing the final closing quote or angle bracket after the name.
+名前の後の最後の閉じクォートまたは山かっこがありません。
 S<<-- HERE> で正規表現のどこに問題が発見されたかを示しています。
 (TBT)
 
@@ -11562,8 +11559,8 @@
 
 =end original
 
-(F) A named reference of the form C<(?P=...)> was missing the final
-closing parenthesis after the name.
+(F) A named reference of the form C<(?P=...)> was
+名前の後のかっこがありません。
 S<<-- HERE> で正規表現のどこに問題が発見されたかを示しています。
 (TBT)
 
@@ -11731,8 +11728,9 @@
 
 =end original
 
-(W deprecated) You assigned a reference to a scalar to C<$/> where the
-referenced item is not a positive integer.  In older perls this B<appeared>
+(W deprecated) リファレンス先のアイテムが正の整数でないときに、
+C<$/> にスカラへの整数を代入しました。
+In older perls this B<appeared>
 to work the same as setting it to C<undef> but was in fact internally
 different, less efficient and with very bad luck could have resulted in
 your file being split by a stringified form of the reference.
@@ -11746,10 +11744,8 @@
 
 =end original
 
-In Perl 5.20.0 this was changed so that it would be B<exactly> the same as
-setting C<$/> to undef, with the exception that this warning would be
-thrown.
-(TBT)
+Perl 5.20.0 でこれは変更され、これはこの警告が投げられることを除いては
+B<正確に> C<$/> に undef を設定するのと同じになりました。
 
 =begin original
 
@@ -11759,10 +11755,9 @@
 
 =end original
 
-You are recommended to change your code to set C<$/> to C<undef> explicitly
-if you wish to slurp the file. In future versions of Perl assigning
-a reference to will throw a fatal error.
-(TBT)
+ファイル全体を読み込みたい場合は、明示的に C<$/> に C<undef> を
+設定するようにコードを変更することを勧めます。
+将来のバージョンの Perl では、リファレンスの代入は致命的エラーになります。
 
 =item Setting $/ to %s reference is forbidden
 
@@ -11776,10 +11771,12 @@
 
 =end original
 
-(F) You tried to assign a reference to a non integer to C<$/>.  In older
+(F) 非整数へのリファレンスを C<$/> に代入しようとしました。
+In older
 Perls this would have behaved similarly to setting it to a reference to
 a positive integer, where the integer was the address of the reference.
-As of Perl 5.20.0 this is a fatal error, to allow future versions of Perl
+Perl 5.20.0 から、これは致命的エラーになりました;
+to allow future versions of Perl
 to use non-integer refs for more interesting purposes.
 (TBT)
 
@@ -11914,10 +11911,10 @@
 
 =end original
 
-(F) In a subroutine signature, you put something after a slurpy (array or
-hash) parameter.  The slurpy parameter takes all the available arguments,
-so there can't be any left to fill later parameters.
-(TBT)
+(F) サブルーチンシグネチャの中で、吸い込み(配列またはハッシュ)パラメータの後に
+何かを起きました。
+吸い込みパラメータは利用可能な全ての引数を取るので、その後のパラメータに
+対応するものを残しません。
 
 =item Smart matching a non-overloaded object breaks encapsulation
 
@@ -12895,11 +12892,11 @@
 
 =end original
 
-(F) A subroutine using a signature received fewer arguments than required
-by the signature.  The caller of the subroutine is presumably at fault.
-Inconveniently, this error will be reported at the location of the
-subroutine, not that of the caller.
-(TBT)
+(F) シグネチャを使っているサブルーチンが、シグネチャが要求しているよりも
+少ない引数を受け取りました。
+おそらくサブルーチンの呼び出し元が間違っています。
+不便なことに、このエラーは呼び出し元ではなく、サブルーチンの位置で
+報告されます。
 
 =item Too late for "-%s" option
 
@@ -12990,11 +12987,11 @@
 
 =end original
 
-(F) A subroutine using a signature received more arguments than required
-by the signature.  The caller of the subroutine is presumably at fault.
-Inconveniently, this error will be reported at the location of the
-subroutine, not that of the caller.
-(TBT)
+(F) シグネチャを使っているサブルーチンが、シグネチャが要求しているよりも
+多い引数を受け取りました。
+おそらくサブルーチンの呼び出し元が間違っています。
+不便なことに、このエラーは呼び出し元ではなく、サブルーチンの位置で
+報告されます。
 
 =item Too many )'s
 
@@ -13513,10 +13510,9 @@
 
 =end original
 
-This is not really a "serious" error, but it is supposed to be raised
-by default even if warnings are not enabled, and currently the only
-way to do that in Perl is to mark it as serious.
-(TBT)
+これは実際には「重大な」エラーではありませんが、例え警告が有効でなくても
+デフォルトで発生させることになっていて、今のところ Perl で出来る唯一のことは
+これを重大なものとして扱うことです。
 
 =item Unicode surrogate U+%X is illegal in UTF-8
 
@@ -15458,10 +15454,12 @@
 =end original
 
 There are non-obvious Unicode rules under C</i> that can match variably,
-but which you might not think could.  For example, the substring C<"ss">
-can match the single character LATIN SMALL LETTER SHARP S.  There are
-other sequences of ASCII characters that can match single ligature
-characters, such as LATIN SMALL LIGATURE FFI matching C<qr/ffi/i>.
+but which you might not think could.
+例えば、部分文字列 C<"ss"> は単一文字 LATIN SMALL LETTER SHARP S に
+マッチングします。
+ASCII 文字並びが単一の合字にマッチングするパターンとしては、
+LATIN SMALL LIGATURE FFI が C<qr/ffi/i> にマッチングするといったものが
+あります。
 Starting in Perl v5.16, if you only care about ASCII matches, adding the
 C</aa> modifier to the regex will exclude all these non-obvious matches,
 thus getting rid of this message.  You can also say C<S<use re qw(/aa)>>
@@ -15859,13 +15857,13 @@
 
 =end original
 
-(F) Named Unicode character escapes C<(\N{...})> may return a zero-length
-sequence.  Such an escape was used in an extended character class, i.e.
-C<(?[...])>, which is not permitted.
+(F) 名前付き Unicode 文字エスケープ C<(\N{...})> はゼロ幅並びを
+返すことがあります。
+このようなエスケープが拡張文字クラス、つまり C<(?[...])> の中で使われました;
+これは認められていません。
 正しいエスケープを使っているか、および正しい文字名ハンドラがスコープ内に
 あるかをチェックしてください。
 S<<-- HERE> で正規表現のどこに問題が発見されたかを示しています。
-(TBT)
 
 =back
 



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