2581 |
|
|
2582 |
=end original |
=end original |
2583 |
|
|
2584 |
We no longer read from STDIN when the Content-Length is not set, |
Content-Length が設定されていないとき、もはや STDIN から |
2585 |
preventing requests with no Content-Length from sometimes freezing. |
読み込まなくなりました; Content-Length がないリクエストがときどき |
2586 |
This is consistent with the CGI RFC 3875, and is also consistent with |
フリーズするのを回避します。 |
2587 |
CGI::Simple. |
これは CGI RFC 3875 と一貫性があり、CGI::Simple とも一貫性があります。 |
2588 |
しかし、古い振る舞いは CGI.pm のいくつかのコマンドライン利用で |
しかし、古い振る舞いは CGI.pm のいくつかのコマンドライン利用で |
2589 |
想定されていました。 |
想定されていました。 |
|
(TBT) |
|
2590 |
|
|
2591 |
=begin original |
=begin original |
2592 |
|
|
2641 |
|
|
2642 |
=end original |
=end original |
2643 |
|
|
2644 |
addfile メソッドと shasum に bITS モードが追加されました。 |
addfile メソッドと shasum に BITS モードが追加されました。 |
2645 |
This makes |
これにより ファイル/STDIN から部分的なバイトの入力が可能になり、 |
2646 |
partial-byte inputs possible via files/STDIN and lets shasum check |
shasum で以前は特別なプログラミングが必要であった 8074 NIST Msg ベクタ全ての |
2647 |
all 8074 NIST Msg vectors, where previously special programming was |
チェックが出来るようになりました。 |
|
required to do this. |
|
|
(TBT) |
|
2648 |
|
|
2649 |
=item * |
=item * |
2650 |
|
|
2714 |
|
|
2715 |
=end original |
=end original |
2716 |
|
|
2717 |
Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>, |
XS コンパイラ C<xsubpp> の裏側にいるモジュールである |
2718 |
was rewritten and cleaned up. It has been made somewhat more extensible |
L<ExtUtils::ParseXS> のほとんどが書き直され整理されました。 |
2719 |
and now finally uses strictures. |
これによりいくらか拡張可能になり、ついに strict を使うようになりました。 |
|
(TBT) |
|
2720 |
|
|
2721 |
=begin original |
=begin original |
2722 |
|
|
2769 |
|
|
2770 |
C<:glob> の置き換えを意図した新しい C<:bsd_glob> エクスポートタグが |
C<:glob> の置き換えを意図した新しい C<:bsd_glob> エクスポートタグが |
2771 |
追加されました。 |
追加されました。 |
2772 |
C<:glob> と同様、これは overrides C<glob> with a function that does not split the glob |
C<:glob> と同様、これは C<glob> を、グロブパターンを単語に分割しない |
2773 |
pattern into words, but, unlike C<:glob>, it iterates properly in scalar |
関数で上書きしますが、C<:glob> と違って、スカラコンテキストでも |
2774 |
context, instead of returning the last file. |
最後のファイルを返すのではなく、正しく反復します。 |
|
(TBT) |
|
2775 |
|
|
2776 |
=begin original |
=begin original |
2777 |
|
|
3473 |
C<sigsuspend> と C<pause> は帰る前にシグナルハンドラを実行するように |
C<sigsuspend> と C<pause> は帰る前にシグナルハンドラを実行するように |
3474 |
なりました; as the |
なりました; as the |
3475 |
whole point of these two functions is to wait until a signal has |
whole point of these two functions is to wait until a signal has |
3476 |
arrived, and then return I<after> it has been triggered. Delayed, or |
arrived, and then return I<after> it has been triggered. |
3477 |
"safe", signals were preventing that from happening, possibly resulting in |
遅延、またの名を「安全」シグナルは、これが起きることによって競合条件が |
3478 |
race conditions [perl #107216]. |
起きることがある可能性を防ぎます [perl #107216]。 |
3479 |
(TBT) |
(TBT) |
3480 |
|
|
3481 |
=begin original |
=begin original |
3489 |
|
|
3490 |
=end original |
=end original |
3491 |
|
|
3492 |
C<POSIX::sleep> is now a direct call into the underlying OS C<sleep> |
C<POSIX::sleep> は C<CORE::sleep> の Perl ラッパーにではなく、基礎となる |
3493 |
function, instead of being a Perl wrapper on C<CORE::sleep>. |
OS の C<sleep> 関数を呼び出すようになりました。 |
3494 |
C<POSIX::dup2> now returns the correct value on Win32 (I<i.e.>, the file |
C<POSIX::dup2> は Win32 で正しい値 (つまり、ファイル記述子) を |
3495 |
descriptor). C<POSIX::SigSet> C<sigsuspend> and C<sigpending> and |
返すようになりました。 |
3496 |
C<POSIX::pause> now dispatch safe signals immediately before returning to |
C<POSIX::SigSet> C<sigsuspend> と C<sigpending> と |
3497 |
their caller. |
C<POSIX::pause> は呼び出し元に返る直前に安全なシグナルを |
3498 |
(TBT) |
発行するようになりました。 |
3499 |
|
|
3500 |
=begin original |
=begin original |
3501 |
|
|
3620 |
|
|
3621 |
=end original |
=end original |
3622 |
|
|
3623 |
Term::ReadLine now supports any event loop, including unpublished ones and |
Term::ReadLine は、発行されていないものや単純な L<IO::Select>、 |
3624 |
simple L<IO::Select>, loops without the need to rewrite existing code for |
特定のフレームワークのために既存のコードを書き換える必要のないループを |
3625 |
any particular framework [perl #108470]. |
含む、任意のイベントループに対応しました [perl #108470]。 |
|
(TBT) |
|
3626 |
|
|
3627 |
=item * |
=item * |
3628 |
|
|
3693 |
|
|
3694 |
=end original |
=end original |
3695 |
|
|
3696 |
Tailored compatibility ideographs as well as unified ideographs for the |
ロケールのための調整された互換表意文字と統合表意文字: |
3697 |
locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke. |
ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke. |
|
(TBT) |
|
3698 |
|
|
3699 |
=begin original |
=begin original |
3700 |
|
|
3745 |
=end original |
=end original |
3746 |
|
|
3747 |
四つの関数が追加されました: C<prop_aliases()> と |
四つの関数が追加されました: C<prop_aliases()> と |
3748 |
C<prop_value_aliases()> は which are used to find all the Unicode-approved |
C<prop_value_aliases()> は特性名への Unicode で承認された全ての同義語を |
3749 |
synonyms for property names, or to convert from one name to another; |
見つけるため、あるいは一つの名前を他の名前に変換するために使われます; |
3750 |
C<prop_invlist> which returns all code points matching a given |
C<prop_invlist> は与えられた Unicode バイナリ特性にマッチングする全ての |
3751 |
Unicode binary property; and C<prop_invmap> which returns the complete |
符号位置を返します; C<prop_invmap> は与えられた Unicode 特性の完全な |
3752 |
specification of a given Unicode property. |
仕様を返します。 |
|
(TBT) |
|
3753 |
|
|
3754 |
=item * |
=item * |
3755 |
|
|
4980 |
|
|
4981 |
=end original |
=end original |
4982 |
|
|
4983 |
The magic types and magic vtables are now generated from data in a new script |
マジック型とマジック vtable は手作業による保守ではなく、新しいスクリプト |
4984 |
F<regen/mg_vtable.pl>, instead of being maintained by hand. |
F<regen/mg_vtable.pl> のデータから生成されるようになりました。 |
4985 |
異なった EBCDIC バリアントは符号位置として '~' を使えないので、 |
異なった EBCDIC バリアントは符号位置として '~' を使えないので、 |
4986 |
符号位置を変換の文字は F<generate_uudmap> から新しく生成されるヘッダ |
符号位置を変換の文字は F<generate_uudmap> から新しく生成されるヘッダ |
4987 |
F<mg_data.h> でビルド時に行われます。 |
F<mg_data.h> でビルド時に行われます。 |
4988 |
C<PL_vtbl_bm> と C<PL_vtbl_fm> は明確な C の変数ではなく、 |
C<PL_vtbl_bm> と C<PL_vtbl_fm> は明確な C の変数ではなく、 |
4989 |
C<PL_vtbl_regexp> としてプリプロセッサで定義されるようになりました。 |
C<PL_vtbl_regexp> としてプリプロセッサで定義されるようになりました。 |
4990 |
C<PL_vtbl_sig> は削除されました。 |
C<PL_vtbl_sig> は削除されました。 |
|
(TBT) |
|
4991 |
|
|
4992 |
=item * |
=item * |
4993 |
|
|
5053 |
F<global.sym> は不要になったので削除されました。 |
F<global.sym> は不要になったので削除されました。 |
5054 |
これは全てのエクスポートされた関数の一覧で、F<embed.fnc> と |
これは全てのエクスポートされた関数の一覧で、F<embed.fnc> と |
5055 |
F<regen/opcodes> のデータから F<regen/embed.pl> で生成されたものです。 |
F<regen/opcodes> のデータから F<regen/embed.pl> で生成されたものです。 |
5056 |
The code |
コードがリファクタリングされたので、F<global.sym>, F<makedef.pl> の |
5057 |
has been refactored so that the only user of F<global.sym>, F<makedef.pl>, |
ユーザーだけが F<embed.fnc> および F<regen/opcodes> を直接読み込み、 |
5058 |
now reads F<embed.fnc> and F<regen/opcodes> directly, removing the need to |
中間ファイルのエクスポートされた関数のリストを補完する必要が |
5059 |
store the list of exported functions in an intermediate file. |
なくなりました。 |
|
(TBT) |
|
5060 |
|
|
5061 |
=begin original |
=begin original |
5062 |
|
|
5481 |
|
|
5482 |
F<embedvar.h> が単純化され、デフォルトの (非多重化) 設定での PL_* |
F<embedvar.h> が単純化され、デフォルトの (非多重化) 設定での PL_* |
5483 |
変数の 1 レベルの間接マクロが削除されました。 |
変数の 1 レベルの間接マクロが削除されました。 |
5484 |
PERLVAR*() マクロは、now directly expand their arguments to |
PERLVAR*() マクロは、C<PL_Idefgv> ではなく C<PL_defgv> のようなトークンに |
5485 |
tokens such as C<PL_defgv>, instead of expanding to C<PL_Idefgv>, with |
直接拡張するようになり、F<embedvar.h> は C<PL_Idefgv> から C<PL_defgv> へ |
5486 |
F<embedvar.h> defining a macro to map C<PL_Idefgv> to C<PL_defgv>. |
マッピングするためのマクロを定義しています。 |
5487 |
実装上の保証されていない友好性をもつ XS コードは更新が必要かもしれません。 |
実装上の保証されていない友好性をもつ XS コードは更新が必要かもしれません。 |
|
(TBT) |
|
5488 |
|
|
5489 |
=item * |
=item * |
5490 |
|
|
5698 |
|
|
5699 |
=end original |
=end original |
5700 |
|
|
5701 |
Perl now checks whether the array (the linearized isa) returned by a MRO |
Perl は、MRO プラグインから返された配列 (線形化された isa) が配列が |
5702 |
plugin begins with the name of the class itself, for which the array was |
作られたクラス自身の名前から始まっていることを仮定するのではなく、それを |
5703 |
created, instead of assuming that it does. |
チェックするようになりました。 |
5704 |
これはメソッド検索中に最初の要素がスキップされるのを防ぎます。 |
これはメソッド検索中に最初の要素がスキップされるのを防ぎます。 |
5705 |
これはまた、C<mro::get_linear_isa> が MRO プラグインが提供するよりも一つ |
これはまた、C<mro::get_linear_isa> が MRO プラグインが提供するよりも一つ |
5706 |
要素の多い配列を返すかもしれないことも意味します [perl #94306]。 |
要素の多い配列を返すかもしれないことも意味します [perl #94306]。 |
|
(TBT) |
|
5707 |
|
|
5708 |
=item * |
=item * |
5709 |
|
|
5887 |
|
|
5888 |
=end original |
=end original |
5889 |
|
|
5890 |
When hash elements are deleted in void context, the internal hash entry is |
無効コンテキストでハッシュ要素が削除されたとき、値が解放されるときに |
5891 |
now freed before the value is freed, to prevent destructors called by that |
一貫性のない状態のハッシュを見ることがないように、内部のハッシュエントリは |
5892 |
latter freeing from seeing the hash in an inconsistent state. |
値が解放される前に解放されるようになりました。 |
5893 |
デストラクタがハッシュ自身を解放すると二重解放になる可能性がありました |
デストラクタがハッシュ自身を解放すると二重解放になる可能性がありました |
5894 |
[perl #100340]。 |
[perl #100340]。 |
|
(TBT) |
|
5895 |
|
|
5896 |
=item * |
=item * |
5897 |
|
|
5930 |
|
|
5931 |
=end original |
=end original |
5932 |
|
|
5933 |
It is possible from XS code to create hashes with elements that have no |
XS コードから、値を持っていない要素を持つハッシュを作ることが |
5934 |
values. The hash element and slice operators used to crash |
可能でした。 |
5935 |
when handling these in lvalue context. They now |
ハッシュ要素とスライス演算子はこれらを左辺値コンテキストで扱うと |
5936 |
produce a "Modification of non-creatable hash value attempted" error |
クラッシュしていました。 |
5937 |
message. |
これらは "Modification of non-creatable hash value attempted" エラー |
5938 |
(TBT) |
メッセージを出力するようになりました。 |
5939 |
|
|
5940 |
=item * |
=item * |
5941 |
|
|
5947 |
|
|
5948 |
=end original |
=end original |
5949 |
|
|
5950 |
If list assignment to a hash or array triggered destructors that freed the |
ハッシュや配列へのリスト代入が解放されたハッシュや配列自身のデストラクタを |
5951 |
hash or array itself, a crash would ensue. |
引き起こした場合、後でクラッシュしていました。 |
5952 |
これはもう起こらなくなりました [perl #107440]。 |
これはもう起こらなくなりました [perl #107440]。 |
|
(TBT) |
|
5953 |
|
|
5954 |
=item * |
=item * |
5955 |
|
|
5976 |
|
|
5977 |
=end original |
=end original |
5978 |
|
|
5979 |
Some core bugs affecting L<Hash::Util> have been fixed: locking a hash |
L<Hash::Util> に影響を与えるいくつかのコアのバグが修正されました: |
5980 |
element that is a glob copy no longer causes the next assignment to it to |
グロブコピーであるハッシュ要素をロックしても引き続く代入によって |
5981 |
corrupt the glob (5.14.2), and unlocking a hash element that holds a |
グロブを壊さなくなり (5.14.2)、 |
5982 |
|
and unlocking a hash element that holds a |
5983 |
copy-on-write scalar no longer causes modifications to that scalar to |
copy-on-write scalar no longer causes modifications to that scalar to |
5984 |
modify other scalars that were sharing the same string buffer. |
modify other scalars that were sharing the same string buffer. |
5985 |
(TBT) |
(TBT) |
6013 |
|
|
6014 |
=end original |
=end original |
6015 |
|
|
6016 |
The C<SvIsCOW> C macro now returns false for read-only copies of typeglobs, |
C<SvIsCOW> C マクロは、以下のようにして作られたような、型グロブの |
6017 |
such as those created by: |
読み込み専用のコピーに対して偽を返すようになりました: |
|
(TBT) |
|
6018 |
|
|
6019 |
$hash{elem} = *foo; |
$hash{elem} = *foo; |
6020 |
Hash::Util::lock_value %hash, 'elem'; |
Hash::Util::lock_value %hash, 'elem'; |
6072 |
|
|
6073 |
=end original |
=end original |
6074 |
|
|
6075 |
When presented with malformed UTF-8 input, the XS-callable functions |
不正な UTF-8 入力のとき、XS 呼び出し可能な関数 C<is_utf8_string()>, |
6076 |
C<is_utf8_string()>, C<is_utf8_string_loc()>, and |
C<is_utf8_string_loc()>, C<is_utf8_string_loclen()> は入力文字列の |
6077 |
C<is_utf8_string_loclen()> could read beyond the end of the input |
末尾を超えて最大 12 バイト読み込むことがありました。 |
6078 |
string by up to 12 bytes. This no longer happens. [perl #32080]. |
これはもう起きません。 |
6079 |
However, currently, C<is_utf8_char()> still has this defect, see |
[perl #32080]。 |
6080 |
L</is_utf8_char()> above. |
しかし、現在のところ、C<is_utf8_char()> はまだこの問題点があります; |
6081 |
(TBT) |
上述の L</is_utf8_char()> を参照してください。 |
6082 |
|
|
6083 |
=item * |
=item * |
6084 |
|
|
6090 |
|
|
6091 |
=end original |
=end original |
6092 |
|
|
6093 |
C レベルの C<pregcomp> 関数は could become confused about whether the |
C レベルの C<pregcomp> 関数は、パターンがオーバーロードされていたり、 |
6094 |
pattern was in UTF8 if the pattern was an overloaded, tied, or otherwise |
tie されていたり、その他のマジカルなスカラの場合、パターンが UTF8 か |
6095 |
magical scalar [perl #101940]. |
どうかについて混乱することがありました [perl #101940]。 |
|
(TBT) |
|
6096 |
|
|
6097 |
=back |
=back |
6098 |
|
|
6111 |
|
|
6112 |
=end original |
=end original |
6113 |
|
|
6114 |
Tying C<%^H> no longer causes perl to crash or ignore the contents of |
C<%^H> を tie しても、コンパイルスコープに入ったときにクラッシュしたり |
6115 |
C<%^H> when entering a compilation scope [perl #106282]. |
C<%^H> の内容を無視したりしなくなりました [perl #106282]。 |
|
(TBT) |
|
6116 |
|
|
6117 |
=item * |
=item * |
6118 |
|
|
6128 |
|
|
6129 |
C<eval $string> and C<require> used not to |
C<eval $string> and C<require> used not to |
6130 |
localize C<%^H> during compilation if it |
localize C<%^H> during compilation if it |
6131 |
was empty at the time the C<eval> call itself was compiled. This could |
was empty at the time the C<eval> call itself was compiled. |
6132 |
lead to scary side effects, like C<use re "/m"> enabling other flags that |
これは、C<use re "/m"> が、周りのコードが呼び出し元に有効にしようとしていた |
6133 |
the surrounding code was trying to enable for its caller [perl #68750]. |
その他のフラグを有効にする、といった恐ろしい副作用を起こす可能性が |
6134 |
|
ありました [perl #68750]。 |
6135 |
(TBT) |
(TBT) |
6136 |
|
|
6137 |
=item * |
=item * |
6145 |
|
|
6146 |
=end original |
=end original |
6147 |
|
|
6148 |
C<eval $string> and C<require> no longer localize hints (C<$^H> and C<%^H>) |
C<eval $string> と C<require> はヒント (C<$^H> と C<%^H>) の |
6149 |
at run time, but only during compilation of the $string or required file. |
ローカル化を実行時にはせず、$string や読み込まれたファイルの |
6150 |
This makes C<BEGIN { $^H{foo}=7 }> equivalent to |
コンパイル時にのみに行います。 |
6151 |
C<BEGIN { eval '$^H{foo}=7' }> [perl #70151]. |
これにより、C<BEGIN { $^H{foo}=7 }> は C<BEGIN { eval '$^H{foo}=7' }> と |
6152 |
(TBT) |
等価になります [perl #70151]。 |
6153 |
|
|
6154 |
=item * |
=item * |
6155 |
|
|
6161 |
|
|
6162 |
=end original |
=end original |
6163 |
|
|
6164 |
Creating a BEGIN block from XS code (via C<newXS> or C<newATTRSUB>) would, |
(C<newXS> や C<newATTRSUB> で)コンパイル時に XS コードから BEGIN ブロックを |
6165 |
on completion, make the hints of the current compiling code the current |
作ると、現在のヒントの現在のコンパイルコードのヒントを作ります。 |
6166 |
hints. This could cause warnings to occur in a non-warning scope. |
これは非警告スコープで警告を引き起こすことがありました。 |
|
(TBT) |
|
6167 |
|
|
6168 |
=back |
=back |
6169 |
|
|
6182 |
|
|
6183 |
=end original |
=end original |
6184 |
|
|
6185 |
Copy-on-write or shared hash key scalars |
コピーオンライト、あるいは共有ハッシュキースカラは 5.8.0 で導入されましたが、 |
6186 |
were introduced in 5.8.0, but most Perl code |
ほとんどの Perl コードはこれに出会うことはありませんでした (これらは |
6187 |
did not encounter them (they were used mostly internally). Perl |
ほとんど内部で使われていました)。 |
6188 |
5.10.0 extended them, such that assigning C<__PACKAGE__> or a |
Perl 5.10.0 はこれらを拡張子、C<__PACKAGE__> やハッシュキーからスカラへの |
6189 |
hash key to a scalar would make it copy-on-write. Several parts |
代入はコピーオンライトになりました。 |
6190 |
of Perl were not updated to account for them, but have now been fixed. |
Perl のいくつかの部分はこれらを計算に入れるように更新していませんでしたが、 |
6191 |
(TBT) |
修正されました。 |
6192 |
|
|
6193 |
=over |
=over |
6194 |
|
|
6217 |
|
|
6218 |
=end original |
=end original |
6219 |
|
|
6220 |
Lvalue subroutines were not allowing COW scalars to be returned. This was |
左辺値サブルーチンはコピーオンライトスカラを返すことはできませんでした。 |
6221 |
fixed for lvalue scalar context in Perl 5.12.3 and 5.14.0, but list context |
これは左辺値スカラコンテキストについては Perl 5.12.3 と 5.14.0 で |
6222 |
was not fixed until this release. |
修正されていましたが、リストコンテキストではこのリリースまで修正されて |
6223 |
(TBT) |
いませんでした。 |
6224 |
|
|
6225 |
=item * |
=item * |
6226 |
|
|
6258 |
|
|
6259 |
=end original |
=end original |
6260 |
|
|
6261 |
Assigning a copy-on-write string to a stash |
コピーオンライト文字列をスタッシュ要素に代入しても |
6262 |
element no longer causes a double free. Regardless of this change, the |
二重解放しなくなりました。 |
6263 |
results of such assignments are still undefined. |
この変更にもかかわらず、このような代入の結果は未だ未定義です。 |
|
(TBT) |
|
6264 |
|
|
6265 |
=item * |
=item * |
6266 |
|
|
6271 |
|
|
6272 |
=end original |
=end original |
6273 |
|
|
6274 |
Assigning a copy-on-write string to a tied variable no longer stops that |
コピーオンライト文字列から tie された変数への代入すると、内部で |
6275 |
variable from being tied if it happens to be a PVMG or PVLV internally. |
PVMG または PVLV であったときにその変数が tie 状態でなくなって |
6276 |
(TBT) |
いましたが、修正されました。 |
6277 |
|
|
6278 |
=item * |
=item * |
6279 |
|
|
6285 |
|
|
6286 |
=end original |
=end original |
6287 |
|
|
6288 |
Doing a substitution on a tied variable returning a copy-on-write |
コピーオンライトで返された tie された変数に対して置換を行うと |
6289 |
scalar used to cause an assertion failure or an "Attempt to free |
アサーションが失敗したり "Attempt to free nonexistent shared string" 警告が |
6290 |
nonexistent shared string" warning. |
出たりしていました。 |
|
(TBT) |
|
6291 |
|
|
6292 |
=item * |
=item * |
6293 |
|
|
6299 |
|
|
6300 |
=end original |
=end original |
6301 |
|
|
6302 |
This one is a regression from 5.12: In 5.14.0, the bitwise assignment |
これは 5.12 からの退行です: 5.14.0 では、ビット単位代入演算子 |
6303 |
operators C<|=>, C<^=> and C<&=> started leaving the left-hand side |
C<|=>, C<^=>, C<&=> は、これがコピーオンライト文字列であったときに |
6304 |
undefined if it happened to be a copy-on-write string [perl #108480]. |
左側を未定義のままにしていました [perl #108480]。 |
|
(TBT) |
|
6305 |
|
|
6306 |
=item * |
=item * |
6307 |
|
|
6333 |
|
|
6334 |
=end original |
=end original |
6335 |
|
|
6336 |
F<dumpvar.pl>, and therefore the C<x> command in the debugger, have been |
F<dumpvar.pl>、従ってデバッガの C<x> コマンドは、名前に "=" を含む |
6337 |
fixed to handle objects blessed into classes whose names contain "=". The |
クラスに bless されているオブジェクトの扱いが修正されました。 |
6338 |
contents of such objects used not to be dumped [perl #101814]. |
このようなオブジェクトの内容をダンプできていませんでした [perl #101814]。 |
|
(TBT) |
|
6339 |
|
|
6340 |
=item * |
=item * |
6341 |
|
|
6347 |
|
|
6348 |
=end original |
=end original |
6349 |
|
|
6350 |
The "R" command for restarting a debugger session has been fixed to work on |
デバッガセッションをリスタートするための "R" コマンドは、Windows や |
6351 |
Windows, or any other system lacking a C<POSIX::_SC_OPEN_MAX> constant |
その他の C<POSIX::_SC_OPEN_MAX> 定数がないシステムでも動作するように |
6352 |
[perl #87740]. |
修正されました [perl #87740]。 |
|
(TBT) |
|
6353 |
|
|
6354 |
=item * |
=item * |
6355 |
|
|
6362 |
|
|
6363 |
=end original |
=end original |
6364 |
|
|
6365 |
The C<#line 42 foo> directive used not to update the arrays of lines used |
C<#line 42 foo> 指示子は、文字列 eval の中にあると、デバッガによって |
6366 |
by the debugger if it occurred in a string eval. This was partially fixed |
使われる行数の配列を更新していませんでした。 |
6367 |
in 5.14, but it worked only for a single C<#line 42 foo> in each eval. Now |
これは 5.14 で部分的に修正されましたが、ひとつの eval に |
6368 |
it works for multiple. |
C<#line 42 foo> が一つしかない場合にのみ動作していました。 |
6369 |
(TBT) |
複数あっても動作するように修正されました。 |
6370 |
|
|
6371 |
=item * |
=item * |
6372 |
|
|
6697 |
|
|
6698 |
=end original |
=end original |
6699 |
|
|
6700 |
In Perl 5.6, C<-l> followed by anything other than a bareword would treat |
Perl 5.6 では、C<-l> に引き続いて裸の単語以外のものがあると、引数を |
6701 |
its argument as a file name. That was changed in 5.8 for glob references |
ファイル名として扱っていました。 |
6702 |
(C<\*foo>), but not for globs themselves (C<*foo>). C<-l> started |
これは 5.8 でグロブリファレンス (C<\*foo>) に対しては変更されましたが、 |
6703 |
returning C<undef> for glob references without setting the last |
グロブ自体 (C<*foo>) に対しては変更されませんでした。 |
6704 |
stat buffer that the "_" handle uses, but only if warnings |
C<-l> は、"_" ハンドルが使う直前の stat バッファの設定がない場合は、 |
6705 |
were turned on. With warnings off, it was the same as 5.6. |
グロブリファレンスに対しては C<undef> を返していましたが、これは |
6706 |
In other words, it was simply buggy and inconsistent. Now the 5.6 |
warnings がオンの場合のみでした。 |
6707 |
behaviour has been restored. |
warnings はオフの場合、これは 5.6 と同じです。 |
6708 |
(TBT) |
言い換えると、これは単純にバグ持ちで一貫性がありません。 |
6709 |
|
今では 5.6 での振る舞いが復活しました。 |
6710 |
|
|
6711 |
=item * |
=item * |
6712 |
|
|
6719 |
|
|
6720 |
=end original |
=end original |
6721 |
|
|
6722 |
C<-l> followed by a bareword no longer "eats" the previous argument to |
C<-l> に引き続いて裸の単語があっても、存在する引数リストのリスト演算子への |
6723 |
the list operator in whose argument list it resides. |
前の引数を「食べる」ことはなくなりました。 |
6724 |
従って、C<-l> はもう前の引数を食べないので、C<print "bar", -l foo> は |
従って、C<-l> はもう前の引数を食べないので、C<print "bar", -l foo> は |
6725 |
実際には "bar" を表示します。 |
実際には "bar" を表示します。 |
|
(TBT) |
|
6726 |
|
|
6727 |
=item * |
=item * |
6728 |
|
|
6917 |
|
|
6918 |
=end original |
=end original |
6919 |
|
|
6920 |
C<given> was not scoping its implicit $_ properly, resulting in memory |
C<given> は暗黙の $_ を正しくスコープしていなかったので、メモリリークや |
6921 |
leaks or "Variable is not available" warnings [perl #94682]. |
"Variable is not available" 警告を発生させていました [perl #94682]。 |
|
(TBT) |
|
6922 |
|
|
6923 |
=item * |
=item * |
6924 |
|
|
6931 |
|
|
6932 |
=end original |
=end original |
6933 |
|
|
6934 |
C<given> was not calling set-magic on the implicit lexical C<$_> that it |
C<given> は、使っている暗黙のレキシカルな C<$_> に set-magic を |
6935 |
uses. This meant, for example, that C<pos> would be remembered from one |
呼び出していませんでした。 |
6936 |
|
つまり、例えば、C<pos> would be remembered from one |
6937 |
execution of the same C<given> block to the next, even if the input were a |
execution of the same C<given> block to the next, even if the input were a |
6938 |
different variable [perl #84526]. |
different variable [perl #84526]. |
6939 |
(TBT) |
(TBT) |
6947 |
|
|
6948 |
=end original |
=end original |
6949 |
|
|
6950 |
C<when> blocks are now capable of returning variables declared inside the |
C<when> ブロックは取り囲んでいる C<given> ブロックの内側で宣言された変数を |
6951 |
enclosing C<given> block [perl #93548]. |
返すことができるようになりました [perl #93548]。 |
|
(TBT) |
|
6952 |
|
|
6953 |
=back |
=back |
6954 |
|
|
6968 |
|
|
6969 |
=end original |
=end original |
6970 |
|
|
6971 |
On OSes other than VMS, Perl's C<glob> operator (and the C<< <...> >> form) |
VMS 以外の OS では、Perl の C<glob> 演算子 (および C<< <...> >> 形式) は、 |
6972 |
use L<File::Glob> underneath. L<File::Glob> splits the pattern into words, |
水面下で L<File::Glob> を使っています。 |
6973 |
before feeding each word to its C<bsd_glob> function. |
L<File::Glob> は、取得したそれぞれの単語を C<bsd_glob> 関数に渡す前に、 |
6974 |
(TBT) |
パターンを単語に分割しています。 |
6975 |
|
|
6976 |
=begin original |
=begin original |
6977 |
|
|
6985 |
|
|
6986 |
=end original |
=end original |
6987 |
|
|
6988 |
There were several inconsistencies in the way the split was done. Now |
分割を行う方法にいくつかの非一貫性がありました。 |
6989 |
quotation marks (' and ") are always treated as shell-style word delimiters |
引用符 (' と ") は常にシェル風単語デリミタとして扱い(これにより空白を |
6990 |
(that allow whitespace as part of a word) and backslashes are always |
単語の一部にできます)、バックスラッシュは引用符をエスケープするために |
6991 |
preserved, unless they exist to escape quotation marks. Before, those |
存在しているのでない限り常に保存されるようになりました。 |
6992 |
would only sometimes be the case, depending on whether the pattern |
以前は、これはパターンに空白を含んでいるかによって一部の場合にしか |
6993 |
contained whitespace. Also, escaped whitespace at the end of the pattern |
このような動作になっていませんでした。 |
6994 |
is no longer stripped [perl #40470]. |
また、パターンの末尾のエスケープされたくうはくは削除されなくなりました |
6995 |
(TBT) |
[perl #40470]。 |
6996 |
|
|
6997 |
=item * |
=item * |
6998 |
|
|
7056 |
|
|
7057 |
Lvalue subroutines used to enforce lvalue syntax (i.e., whatever can go on |
Lvalue subroutines used to enforce lvalue syntax (i.e., whatever can go on |
7058 |
the left-hand side of C<=>) for the last statement and the arguments to |
the left-hand side of C<=>) for the last statement and the arguments to |
7059 |
return. Since lvalue subroutines are not always called in lvalue context, |
return. |
7060 |
this restriction has been lifted. |
左辺値サブルーチンはいつも左辺値コンテキストで呼ばれるわけではないので、 |
7061 |
|
この制限は取り除かれました。 |
7062 |
(TBT) |
(TBT) |
7063 |
|
|
7064 |
=item * |
=item * |
7071 |
|
|
7072 |
=end original |
=end original |
7073 |
|
|
7074 |
Lvalue subroutines are less restrictive about what values can be returned. |
左辺値サブルーチンはどんな値を返せるかに関する制限が緩められました。 |
7075 |
It used to croak on values returned by C<shift> and C<delete> and from |
以前は C<shift> や C<delete>で返されたり、他のサブルーチンからの値では |
7076 |
other subroutines, but no longer does so [perl #71172]. |
croak していましたが、もはやそうならなくなりました [perl #71172]。 |
|
(TBT) |
|
7077 |
|
|
7078 |
=item * |
=item * |
7079 |
|
|
7085 |
|
|
7086 |
=end original |
=end original |
7087 |
|
|
7088 |
Empty lvalue subroutines (C<sub :lvalue {}>) used to return C<@_> in list |
空の左辺値サブルーチン (C<sub :lvalue {}>) はリストコンテキストでは |
7089 |
context. All subroutines used to do this, but regular subs were fixed in |
C<@_> を返していました。 |
7090 |
Perl 5.8.2. Now lvalue subroutines have been likewise fixed. |
以前は全てのサブルーチンでそうでしたが、通常のサブルーチンに関しては |
7091 |
(TBT) |
Perl 5.8.2 で修正されました。 |
7092 |
|
今回左辺値サブルーチンに関しても修正されました。 |
7093 |
|
|
7094 |
=item * |
=item * |
7095 |
|
|
7135 |
|
|
7136 |
=end original |
=end original |
7137 |
|
|
7138 |
When called in potential lvalue context |
潜在的な左辺値コンテキスト (例えばサブルーチンの引数や C<for> に渡された |
7139 |
(e.g., subroutine arguments or a list |
リスト) で呼び出されたとき、左辺値サブルーチンは返された読み込み専用の値を |
7140 |
passed to C<for>), lvalue subroutines used to copy |
コピーしていました。 |
7141 |
any read-only value that was returned. E.g., C< sub :lvalue { $] } > |
例えば、C< sub :lvalue { $] } > は C<$]> ではなく、そのコピーを |
7142 |
would not return C<$]>, but a copy of it. |
返していました。 |
|
(TBT) |
|
7143 |
|
|
7144 |
=item * |
=item * |
7145 |
|
|
7158 |
arrays or hashes used to bind the arrays or hashes to scalar variables, |
arrays or hashes used to bind the arrays or hashes to scalar variables, |
7159 |
resulting in bugs. This was fixed in 5.14.0 if an array were the first |
resulting in bugs. This was fixed in 5.14.0 if an array were the first |
7160 |
thing returned from the subroutine (but not for C<$scalar, @array> or |
thing returned from the subroutine (but not for C<$scalar, @array> or |
7161 |
hashes being returned). Now a more general fix has been applied |
hashes being returned). |
7162 |
[perl #23790]. |
今回より一般的な修正が適用されました [perl #23790]。 |
7163 |
(TBT) |
(TBT) |
7164 |
|
|
7165 |
=item * |
=item * |
7175 |
|
|
7176 |
Method calls whose arguments were all surrounded with C<my()> or C<our()> |
Method calls whose arguments were all surrounded with C<my()> or C<our()> |
7177 |
(as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on |
(as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on |
7178 |
the subroutine. This would prevent lvalue methods from returning certain |
the subroutine. |
7179 |
values. |
これは左辺値メソッドがある種の値を返すのを妨げていました。 |
7180 |
(TBT) |
(TBT) |
7181 |
|
|
7182 |
=item * |
=item * |
7224 |
Non-lvalue sub calls whose subs I<are> visible at compile time exhibited |
Non-lvalue sub calls whose subs I<are> visible at compile time exhibited |
7225 |
the opposite bug. If the call occurred in the last statement of an lvalue |
the opposite bug. If the call occurred in the last statement of an lvalue |
7226 |
subroutine, there would be no error when the lvalue sub was called in |
subroutine, there would be no error when the lvalue sub was called in |
7227 |
lvalue context. Perl would blindly assign to the temporary value returned |
lvalue context. |
7228 |
by the non-lvalue subroutine. |
Perl は非左辺値サブルーチンによって返された一時的な値に盲目的に |
7229 |
|
代入していました。 |
7230 |
(TBT) |
(TBT) |
7231 |
|
|
7232 |
=item * |
=item * |
7258 |
|
|
7259 |
Applying the C<:lvalue> attribute to an XSUB or to an aliased subroutine |
Applying the C<:lvalue> attribute to an XSUB or to an aliased subroutine |
7260 |
stub with C<< sub foo :lvalue; >> syntax stopped working in Perl 5.12. |
stub with C<< sub foo :lvalue; >> syntax stopped working in Perl 5.12. |
7261 |
This has been fixed. |
これは修正されました。 |
7262 |
(TBT) |
(TBT) |
7263 |
|
|
7264 |
=item * |
=item * |
7276 |
Applying the :lvalue attribute to subroutine that is already defined does |
Applying the :lvalue attribute to subroutine that is already defined does |
7277 |
not work properly, as the attribute changes the way the sub is compiled. |
not work properly, as the attribute changes the way the sub is compiled. |
7278 |
Hence, Perl 5.12 began warning when an attempt is made to apply the |
Hence, Perl 5.12 began warning when an attempt is made to apply the |
7279 |
attribute to an already defined sub. In such cases, the attribute is |
attribute to an already defined sub. |
7280 |
discarded. |
このような場合、属性は捨てられます。 |
7281 |
(TBT) |
(TBT) |
7282 |
|
|
7283 |
=begin original |
=begin original |
7412 |
|
|
7413 |
=end original |
=end original |
7414 |
|
|
7415 |
The prototypes of several built-in functions--C<getprotobynumber>, C<lock>, |
いくつかの組み込み関数のプロトタイプ -- C<getprotobynumber>, C<lock>, |
7416 |
C<not> and C<select>--have been corrected, or at least are now closer to |
C<not>, C<select> -- が修正されたり、少なくとも以前よりはより実際に |
7417 |
reality than before. |
近いものになりました。 |
|
(TBT) |
|
7418 |
|
|
7419 |
=back |
=back |
7420 |
|
|
7436 |
|
|
7437 |
=end original |
=end original |
7438 |
|
|
7439 |
C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under |
C</[[:ascii:]]/> と C</[[:blank:]]/> は、プラットフォームが対応していれば |
7440 |
C<use locale> when the platform supports that. Previously, they used |
C<use locale> のときにロケールのルールを使います。 |
7441 |
the platform's native character set. |
以前は、プラットフォームのネイティブな文字集合を使っていました。 |
|
(TBT) |
|
7442 |
|
|
7443 |
=item * |
=item * |
7444 |
|
|
7451 |
|
|
7452 |
=end original |
=end original |
7453 |
|
|
7454 |
C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not |
C<m/[[:ascii:]]/i> と C</\p{ASCII}/i> は (異なったロケールのもとでは) |
7455 |
under a differing locale). This fixes a regression introduced in 5.14 |
同じようにマッチングしなくなりました。 |
7456 |
in which the first expression could match characters outside of ASCII, |
これは 5.14 で作り込まれた、最初の表現が KELVIN SIGN のような |
7457 |
such as the KELVIN SIGN. |
ASCII の範囲外の文字にもマッチングしていた退行の修正です。 |
|
(TBT) |
|
7458 |
|
|
7459 |
=item * |
=item * |
7460 |
|
|
7465 |
|
|
7466 |
=end original |
=end original |
7467 |
|
|
7468 |
C</.*/g> would sometimes refuse to match at the end of a string that ends |
C</.*/g> はときどき "\n" で終わっている文字列の末尾に |
7469 |
with "\n". |
マッチングしていませんでした。 |
7470 |
これは修正されました [perl #109206]。 |
これは修正されました [perl #109206]。 |
|
(TBT) |
|
7471 |
|
|
7472 |
=item * |
=item * |
7473 |
|
|
7480 |
|
|
7481 |
=end original |
=end original |
7482 |
|
|
7483 |
Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up |
5.12.0 から、Perl は used to get its internal bookkeeping muddled up |
7484 |
after assigning C<${ qr// }> to a hash element and locking it with |
after assigning C<${ qr// }> to a hash element and locking it with |
7485 |
L<Hash::Util>. |
L<Hash::Util>. |
7486 |
これにより二重解放、クラッシュ、間違った振る舞いを引き起こしていました。 |
これにより二重解放、クラッシュ、間違った振る舞いを引き起こしていました。 |
7497 |
|
|
7498 |
=end original |
=end original |
7499 |
|
|
7500 |
The new (in 5.14.0) regular expression modifier C</a> when repeated like |
新しい (5.14.0 からの) 正規表現修飾子 C</a> が C</aa> のように |
7501 |
C</aa> forbids the characters outside the ASCII range that match |
繰り返されると、C</i> の基ではマッチングする範囲内の文字で、ASCII の |
7502 |
characters inside that range from matching under C</i>. |
範囲外の文字を禁止します。 |
7503 |
これは一部の状況では動作していませんでした; 次のような全てに関連する選択は: |
これは一部の状況では動作していませんでした; 次のような全てに関連する選択は: |
|
(TBT) |
|
7504 |
|
|
7505 |
"\N{KELVIN SIGN}" =~ /k|foo/iaa; |
"\N{KELVIN SIGN}" =~ /k|foo/iaa; |
7506 |
|
|
7692 |
|
|
7693 |
=end original |
=end original |
7694 |
|
|
7695 |
RT #78266: The regex engine has been leaking memory when accessing |
RT #78266: 正規表現エンジンは、has been leaking memory when accessing |
7696 |
named captures that weren't matched as part of a regex ever since 5.10 |
named captures that weren't matched as part of a regex ever since 5.10 |
7697 |
when they were introduced; e.g., this would consume over a hundred MB of |
when they were introduced; 例えば、以下のコードは 100 MB 以上のメモリを |
7698 |
memory: |
消費していました: |
7699 |
(TBT) |
(TBT) |
7700 |
|
|
7701 |
for (1..10_000_000) { |
for (1..10_000_000) { |
7742 |
|
|
7743 |
=end original |
=end original |
7744 |
|
|
7745 |
A regression has been fixed that was introduced in 5.14, in C</i> |
5.14 で作り込まれた退行が修正されました; in C</i> |
7746 |
regular expression matching, in which a match improperly fails if the |
regular expression matching, in which a match improperly fails if the |
7747 |
pattern is in UTF-8, the target string is not, and a Latin-1 character |
pattern is in UTF-8, the target string is not, and a Latin-1 character |
7748 |
precedes a character in the string that should match the pattern. |
precedes a character in the string that should match the pattern. |
7808 |
and C<\B> escape sequences did not work properly on UTF-8 encoded |
and C<\B> escape sequences did not work properly on UTF-8 encoded |
7809 |
strings. All non-ASCII characters under C</aa> should be treated as |
strings. All non-ASCII characters under C</aa> should be treated as |
7810 |
non-word characters, but what was happening was that Unicode rules were |
non-word characters, but what was happening was that Unicode rules were |
7811 |
used to determine wordness/non-wordness for non-ASCII characters. This |
used to determine wordness/non-wordness for non-ASCII characters. |
7812 |
is now fixed [perl #95968]. |
これは修正されました [perl #95968]。 |
7813 |
(TBT) |
(TBT) |
7814 |
|
|
7815 |
=item * |
=item * |
7856 |
|
|
7857 |
=end original |
=end original |
7858 |
|
|
7859 |
それでもなお、これらのコードブロックはまだ実験的で、as there are still |
それでもなお、これらのコードブロックはまだ実験的で、(例えばループ中で) |
7860 |
problems with the wrong variables being closed over (in loops for instance) |
間違った変数が閉じ込められたり、正常でない終了(例えば C<die>)でメモリ破壊が |
7861 |
and with abnormal exiting (e.g., C<die>) causing memory corruption. |
起きるという問題があります。 |
|
(TBT) |
|
7862 |
|
|
7863 |
=item * |
=item * |
7864 |
|
|