argra****@users*****
argra****@users*****
2011年 4月 30日 (土) 04:03:33 JST
Index: docs/perl/5.14.0/perl5140delta.pod diff -u docs/perl/5.14.0/perl5140delta.pod:1.16 docs/perl/5.14.0/perl5140delta.pod:1.17 --- docs/perl/5.14.0/perl5140delta.pod:1.16 Tue Apr 26 01:22:17 2011 +++ docs/perl/5.14.0/perl5140delta.pod Sat Apr 30 04:03:33 2011 @@ -413,9 +413,9 @@ ãã®å¤æ´ã¯ãæåååãããæ£è¦è¡¨ç¾ã C<?-xism> ãå«ãåºå®æåå㨠æ¯è¼ãã¦ããã³ã¼ããå£ãããã§ãã -=head3 C</d>, C</l>, C</u>, C</a>, and C</aa> modifiers +=head3 C</d>, C</l>, C</u>, and C</a> modifiers -(C</d>, C</l>, C</u>, C</a>, C</aa> 修飾å) +(C</d>, C</l>, C</u>, C</a> 修飾å) =begin original @@ -485,17 +485,15 @@ ãã®ä»ã§ã¯ãC</a> 㯠C</u> 修飾åã¨åæ§ã«æ¯ãèãã®ã§ã大æåå°æåã ç¡è¦ãããããã³ã°ã¯ Unicode ã®æå³è«ã使ãã¾ãã -=item * - =begin original -The C</aa> modifier is like C</a>, except that, in case-insensitive +If the C</a> modifier is repeated, then additionally in case-insensitive matching, no ASCII character can match a non-ASCII character. For example, =end original -C</aa> 修飾å㯠C</a> ã¨åæ§ã§ããã大æåå°æåãç¡è¦ãããããã³ã°ã§ã¯ +C</a> 修飾åãç¹°ãè¿ãããã¨ãããã«ã大æåå°æåãç¡è¦ãããããã³ã°ã§ã¯ ASCII æåã§ãªããã®ã¯ãããã³ã°ãã¾ããã ä¾ãã°ã @@ -1397,14 +1395,12 @@ ããã¯ä»¥å㯠Unicode ãããã³ã°ã«ã¼ã«ã«ãã£ã¦(ããã«é¢ããããã¤ãã®ãã°ã ããã¾ããã)é ASCII æåã«ãããã³ã°ãã¾ãã -Now -matching under C</i> gives the same results as non-C</i> matching except -for those few properties where people have come to expect differences, -namely the ones where casing is an integral part of their meaning, such -as C<m/\p{Uppercase}/i> and C<m/\p{Lowercase}/i>, both of which match -the same code points as matched by C<m/\p{Cased}/i>. +ä»ã§ã¯ C</i> ã®ä¸ã§ã¯ã人ã ãéããå¿ã«æµ®ãã¹ããããªããã¤ãã® +ç¹æ§(ç¹ã« C<m/\p{Uppercase}/i> and C<m/\p{Lowercase}/i> (ã©ã¡ãã +C<m/\p{Cased}/i> ã§ãããã³ã°ãã符å·ä½ç½®ã¨åããã®ã«ãããã³ã°ãã¾ã) +ã®ãããªãæå³çã«å¤§æåå°æåãä¸å¯æ¬ ãªé¨åãå ãããããªååã®ãã®)ãé¤ãã¦ã +é C</i> ãããã³ã°ã¨åãçµæã¨ãªãã¾ãã 詳細㯠L<perlrecharclass/Unicode Properties> ã«ããã¾ãã -(TBT) =begin original @@ -1935,7 +1931,7 @@ 使ã£ãé¢æ°ã¯ä»¥åããé«ãåªå é ä½ã§ãã¼ã¹ããã¾ãã å¾ã£ã¦ã以ä¸ã®ãããªã³ã¼ãã¯: - sub foo($); + sub foo(;$); foo $a < $b; =begin original @@ -1959,6 +1955,7 @@ .. ... ?: = += -= *= etc. + , => =head3 Smart-matching against array slices @@ -2157,9 +2154,9 @@ å¾ ããªããªãã¾ããã It is up to the parent process to waitpid() for these children if child-cleanup processing must be -allowed to finish. However, it is also then the responsibility of the -parent to avoid the deadlock by making sure the child process -can't be blocked on I/O. +allowed to finish. +ããããåããã»ã¹ã I/O ããããã¯ã§ããªããã¨ã確å®ã«ãããã¨ã§ +ãããããã¯ãé¿ããããã«è¦ªã責任ãæã¡ã¾ãã (TBT) =begin original @@ -2302,9 +2299,24 @@ C<"\b"> ã C<"\B{"> ãç¶ãããã¨ã¯ãPerl èªèº«ãå°æ¥ä½¿ããããã«ããããã«ã éæ¨å¥¨ã¨ãªãã¾ããã -=head2 Deprecation warning added for deprecated-in-core Perl 4-era .pl libraries +=head2 Perl 4-era .pl libraries -(ã³ã¢ã«ãã Perl 4 æ代㮠.pl ã©ã¤ãã©ãªã¸ã®éæ¨å¥¨è¦åã追å ããã¾ãã) +(Perl 4 æ代㮠.pl ã©ã¤ãã©ãª) + +=begin original + +Perl bundles a handful of library files that predate Perl 5. +This bundling is now deprecated for most of these files, which are now +available from CPAN. The affected files now warn when run, if they were +installed as part of the core. + +=end original + +Perl 㯠Perl 5 ããåã®ã©ã¤ãã©ãªãã¡ã¤ã«ãå°éå梱ãã¦ãã¾ãã +å梱ãã¡ã¤ã«ã®ã»ã¨ãã©ã¯(ä»ã§ã¯ CPAN ããå©ç¨å¯è½ã§ãã) +éæ¨å¥¨ã¨ãªãã¾ããã +å½±é¿ãåãããã¡ã¤ã«ã¯ãã³ã¢ã®ä¸é¨ã¨ãã¦ã¤ã³ã¹ãã¼ã«ããã¦ããå ´å㯠+å®è¡æã«è¦åãåºãããã«ãªãã¾ããã =begin original @@ -2370,37 +2382,19 @@ =begin original -This is being deprecated because C<qw(a b c)> is supposed to mean -C<"a", "b", "c"> not C<("a", "b", "c")>. In other words, this doesn't compile: +This is being deprecated because the parentheses in C<for $i (1,2,3) { ... }> +are not part of expression syntax. They are part of the statement +syntax, with the C<for> statement wanting literal parentheses. +The synthetic parentheses that a C<qw> expression acquired were only +intended to be treated as part of expression syntax. =end original -C<qw(a b c)> ã¯æ¬æ¥ C<("a", "b", "c")> ã§ã¯ãªã C<"a", "b", "c"> ã -æå³ããã®ã§ãéæ¨å¥¨ã§ãã -è¨ãæããã¨ãããã¯ã³ã³ãã¤ã«åºæ¥ã¾ãã: - - for my $i "a", "b", "c" { } - -=begin original - -So neither should this: - -=end original - -å¾ã£ã¦ãããåä½ãã¾ãã: - - for my $i qw(a b c) {} - -=begin original - -But these both work: - -=end original - -ããã以ä¸ã¯ä¸¡æ¹ã¨ãåä½ãã¾ã: - - for my $i ("a", "b", "c") { } - for my $i (qw(a b c)) {} +ããã¯ãC<for $i (1,2,3) { ... }> ã®ãã£ãã¯å¼ã®ææ³ã®ä¸é¨ã§ã¯ãªãã®ã§ã +éæ¨å¥¨ã¨ãªãã¾ããã +ããã¯æã®ææ³ã®ä¸é¨ã§ãC<for> æã¯ãªãã©ã«ãªãã£ããå¿ è¦ã§ãã +C<qw> å¼ãè¦æ±ããåæããããã£ãã¯ãå¼ææ³ã®ä¸é¨ã¨ãã¦æ±ããã¨ã +対象ã¨ãã¦ããã ãã§ãã =begin original @@ -2410,16 +2404,16 @@ ããã¯ä»¥ä¸ã®ãããªå ´åã®æ¯ãèãã¯å¤æ´ããªããã¨ã«æ³¨æãã¦ãã ãã: - use POSIX qw(setlocale localeconv) + use POSIX qw(setlocale localeconv); our @EXPORT = qw(foo bar baz); =begin original -Where a list with or without parentheses could have been provided. +where parentheses were never required around the expression. =end original -ããã§ã¯ãã£ãããã£ã¦ããªãã¦ããªã¹ããæä¾ããã¾ãã +ããã§ã¯å¼ã®åãã«ãã£ãã¯ä¸è¦ã§ãã =head2 C<\N{BELL}> @@ -2517,16 +2511,16 @@ =begin original -The following modules will be removed from the core distribution in a +The following module will be removed from the core distribution in a future release, and should be installed from CPAN instead. Distributions -on CPAN that require these should add them to their prerequisites. The -core versions of these modules now issue a deprecation warning. +on CPAN that require this should add it to their prerequisites. The +core version of these module now issues a deprecation warning. =end original 以ä¸ã®ã¢ã¸ã¥ã¼ã«ã¯å°æ¥ã®ãªãªã¼ã¹ã§ã¯ã³ã¢é å¸ããã¯åãé¤ããã 代ããã« CPAN ããã¤ã³ã¹ãã¼ã«ããããã«ãªãã¾ãã -CPAN ã§ã®é å¸ç©ã®ã§ãããã®ã¢ã¸ã¥ã¼ã«ãå¿ è¦ãªå ´åã¯ãäºåæ¡ä»¶ã«è¿½å ãã +CPAN ã§ã®é å¸ç©ã®ã§ãã®ã¢ã¸ã¥ã¼ã«ãå¿ è¦ãªå ´åã¯ãäºåæ¡ä»¶ã«è¿½å ãã å¿ è¦ãããã¾ãã ãããã®ã¢ã¸ã¥ã¼ã«ã®ã³ã¢çã¯ãéæ¨å¥¨è¦åãçºçããã¾ãã @@ -2535,15 +2529,15 @@ If you ship a packaged version of Perl, either alone or as part of a larger system, then you should carefully consider the repercussions of core module deprecations. You may want to consider shipping your default -build of Perl with packages for some or all deprecated modules that -install into C<vendor> or C<site> Perl library directories. This will +build of Perl with a package for the deprecated module that +installs into C<vendor> or C<site> Perl library directories. This will inhibit the deprecation warnings. =end original åç¬ããããã¯ãã大ããã·ã¹ãã ã®ä¸é¨ã¨ãã¦ãããã±ã¼ã¸çã® Perl ã åºè·ããå ´åãéæ¨å¥¨ã®ã³ã¢ã¢ã¸ã¥ã¼ã«ã®å½±é¿ã注ææ·±ãæ¤è¨ããã¹ãã§ãã -ããã¤ãããããã¯å ¨ã¦ã®éæ¨å¥¨ã¢ã¸ã¥ã¼ã«ã perl ã©ã¤ãã©ãªãã£ã¬ã¯ã㪠+éæ¨å¥¨ã¢ã¸ã¥ã¼ã«ã perl ã©ã¤ãã©ãªãã£ã¬ã¯ã㪠C<vendor> ã C<site> ã«ã¤ã³ã¹ãã¼ã«ã㦠Perl ã®ããã©ã«ããã«ãã åºè·ãããããããã¾ããã ããã¯éæ¨å¥¨è¦åãæå¶ãã¾ãã @@ -2569,9 +2563,9 @@ =begin original -You can silence these deprecation warnings by installing the modules -in question from CPAN. To install the latest version of all of them, -just install C<Task::Deprecations::5_14>. +You can silence these deprecation warnings by installing the module +in question from CPAN. To install the latest version of it by role +rather than by name, just install C<Task::Deprecations::5_14>. =end original @@ -2587,7 +2581,7 @@ =begin original We strongly recommend that you install and use L<Devel::NYTProf> instead -of L<Devel::Dprof>, as L<Devel::NYTProf> offers significantly +of L<Devel::DProf>, as L<Devel::NYTProf> offers significantly improved profiling and reporting. =end original @@ -2698,10 +2692,9 @@ =end original -C<sv_grow>, the function used to allocate more memory if necessary -when appending to a string, has been taught to round up the memory -it requests to a certain geometric progression, making it much faster on -certain platforms and configurations. +æååã追å ããã¨ãã«ããå¿ è¦ãªãããå¤ãã®ã¡ã¢ãªãå²ãå½ã¦ã¦ãã +C<sv_grow> é¢æ°ã¯ããã種ã®çæ¯ç´æ°ã«åãä¸ããã¡ã¢ãªãä¼ããããã«ãªãã +ç¹å®ã®ãã©ãããã©ã¼ã ã¨è¨å®ã§ã¯ã¨ã¦ãæ©ããªãã¾ããã Win32 ã§ã¯ãããã¯ç´ 100 åé«éã§ãã (TBT) @@ -6012,6 +6005,7 @@ L<Ambiguous use of %c{%s} resolved to %c%s|perldiag/"Ambiguous use of %c{%s} resolved to %c%s"> + =item * L<Ambiguous use of -%s resolved as -&%s()|perldiag/"Ambiguous use of -%s resolved as -&%s()"> @@ -6056,6 +6050,18 @@ 説æãåç´ã«ééã£ã¦ãã¾ããã ããã¯ä¿®æ£ããã¾ããã +=head3 op manipulation functions + +(op æä½é¢æ°) + +=begin original + +Several API functions that process optrees have been newly documented. + +=end original + +op æ¨ãå¦çããããã®ããã¤ãã® API é¢æ°ãæ°ãã«ææ¸åããã¾ããã + =head3 L<perlvar> revamp (L<perlvar> ã®å·æ°) @@ -7352,12 +7358,18 @@ =begin original -Several functions have been added for parsing statements or multiple -statements: +Several functions have been added for parsing Perl statements and +expressions. These functions are meant to be used by XS code invoked +during Perl parsing, in a recursive-descent manner, to allow modules to +augment the standard Perl syntax. =end original -æã®ãã¼ã¹ã®ããã®ããã¤ãã®é¢æ°ã追å ããã¾ãã: +æãå¼ã®ãã¼ã¹ã®ããã®ããã¤ãã®é¢æ°ã追å ããã¾ãã: +These functions are meant to be used by XS code invoked +during Perl parsing, in a recursive-descent manner, to allow modules to +augment the standard Perl syntax. +(TBT) =over @@ -7365,84 +7377,79 @@ =begin original -C<parse_fullstmt> parses a complete Perl statement. +L<parse_stmtseq()|perlapi/parse_stmtseq> +parses a sequence of statements, up to closing brace or EOF. =end original -C<parse_fullstmt> ã¯å®å ¨ãª Perl æããã¼ã¹ãã¾ãã +L<parse_stmtseq()|perlapi/parse_stmtseq> ã¯æã®ä¸¦ã³ããéãä¸ãã£ãã +EOF ã¾ã§ãã¼ã¹ãã¾ãã =item * =begin original -C<parse_stmtseq> parses a sequence of statements, up -to closing brace or EOF. +L<parse_fullstmt()|perlapi/parse_fullstmt> +parses a complete Perl statement, including optional label. =end original -C<parse_stmtseq> ã¯æã®ä¸¦ã³ããéãä¸ãã£ãã EOF ã¾ã§ãã¼ã¹ãã¾ãã +L<parse_fullstmt()|perlapi/parse_fullstmt> ã¯ãªãã·ã§ã³ã® +ã©ãã«ãå«ããå®å ¨ãª Perl æããã¼ã¹ãã¾ãã =item * =begin original -C<parse_block> parses a block [perl #78222]. +L<parse_barestmt()|perlapi/parse_barestmt> +parses a statement without a label. =end original -C<parse_block> ã¯ãããã¯ããã¼ã¹ãã¾ã [perl #78222]ã +L<parse_barestmt()|perlapi/parse_barestmt> ã¯ã©ãã«æãã®æããã¼ã¹ãã¾ãã =item * =begin original -C<parse_barestmt> parses a statement -without a label. +L<parse_block()|perlapi/parse_block> +parses a code block. =end original -C<parse_barestmt> ã¯ã©ãã«æãã®æããã¼ã¹ãã¾ãã +L<parse_block()|perlapi/parse_block> ã¯ã³ã¼ããããã¯ããã¼ã¹ãã¾ãã =item * =begin original -C<parse_label> parses a statement label, separate from statements. +L<parse_label()|perlapi/parse_label> +parses a statement label, separate from statements. =end original -C<parse_label> ã¯æããåé¢ãã¦ãæã®ã©ãã«ããã¼ã¹ãã¾ãã +L<parse_label()|perlapi/parse_label> ã¯æããåé¢ãã¦ãæã®ã©ãã«ã +ãã¼ã¹ãã¾ãã -=back +=item * =begin original -The L<C<parse_fullexpr()>|perlapi/parse_fullexpr>, L<C<parse_listexpr()>|perlapi/parse_listexpr>, L<C<parse_termexpr()>|perlapi/parse_termexpr>, and L<C<parse_arithexpr()>|perlapi/parse_arithexpr> -functions have been added to the API. They run -recursive-descent parsing of expressions at various precedence levels. -They are expected to be used by syntax plugins. +parse expressions at various precedence levels. =end original L<C<parse_fullexpr()>|perlapi/parse_fullexpr>, L<C<parse_listexpr()>|perlapi/parse_listexpr>, L<C<parse_termexpr()>|perlapi/parse_termexpr>, -L<C<parse_arithexpr()>|perlapi/parse_arithexpr> é¢æ°ã API ã« -追å ããã¾ããã -ãããã¯ãã¾ãã¾ãªåªå é ä½ã¬ãã«ã§ãå帰éä¸ãã¼ã¹ãå®è¡ãã¾ãã -ãããã¯ææ³ãã©ã°ã¤ã³ã§ä½¿ããããã¨ãæ³å®ãã¦ãã¾ãã - -=begin original +L<C<parse_arithexpr()>|perlapi/parse_arithexpr> ã¯ãã¾ãã¾ãª +åªå é ä½ã¬ãã«ã§ãå帰éä¸ãã¼ã¹ãå®è¡ãã¾ãã -See L<perlapi> for details. - -=end original - -詳ãã㯠L<perlapi> ãåç §ãã¦ãã ããã +=back =head3 Hints hash API @@ -7878,11 +7885,10 @@ =end original -The option to define C<PERL_POLLUTE> to expose older 5.005 symbols for -backwards compatibility has been removed. +å¾æ¹äºææ§ã®ããã«å¤ã 5.005 ã®ã·ã³ãã«ãé²åºãããããã® +C<PERL_POLLUTE> ãå®ç¾©ãããªãã·ã§ã³ã¯åé¤ããã¾ããã ãã®ä½¿ç¨ã¯å¸¸ã«å§ããããã MakeMaker ã¯ããå ·ä½çãªåé¿æ¹æ³ãæã£ã¦ãã¾ã: -(TBT) perl Makefile.PL POLLUTE=1 @@ -7908,10 +7914,10 @@ =end original -When Perl's API changes in incompatible ways (which usually happens between -major releases), XS modules compiled for previous versions of Perl will no -longer work. They need to be recompiled against the new Perl. -(TBT) +Perl ã® API ãäºææ§ã®ãªãå½¢ã§å¤æ´ãããã¨ã (æ®éã¯ã¡ã¸ã£ã¼ãªãªã¼ã¹é㧠+èµ·ããã¾ã)ã以åã®ãã¼ã¸ã§ã³ã® Perl ç¨ã«ã³ã³ãã¤ã«ããã XS ã¢ã¸ã¥ã¼ã«ã¯ +ãã¯ãåä½ããªããªãã¾ãã +æ°ãã Perl ç¨ã«åã³ã³ãã¤ã«ããå¿ è¦ãããã¾ãã =begin original @@ -7924,12 +7930,12 @@ =end original -The C<XS_APIVERSION_BOOTCHECK> macro has been added to ensure that modules +C<XS_APIVERSION_BOOTCHECK> ãã¯ãã¯ãhas been added to ensure that modules are recompiled and to prevent users from accidentally loading modules -compiled for old perls into newer perls. That macro, which is called when -loading every newly compiled extension, compares the API version of the -running perl with the version a module has been compiled for and raises an -exception if they don't match. +compiled for old perls into newer perls. +æ°ããã³ã³ãã¤ã«ãããã¨ã¯ã¹ãã³ã·ã§ã³ãèªã¿è¾¼ã¾ãã度ã«å¼ã³åºããã +ãã®ãã¯ãã¯ãå®è¡ä¸ã® perl ã® API ã®ãã¼ã¸ã§ã³ã¨ãã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ããã +ãã¼ã¸ã§ã³ãæ¯è¼ãããããä¸è´ããªããã°ä¾å¤ãçºçããã¾ãã (TBT) =head3 Perl_fetch_cop_label @@ -7937,15 +7943,13 @@ =begin original The first argument of the C API function C<Perl_fetch_cop_label> has changed -from C<struct refcounted he *> to C<COP *>, to insulate the user from +from C<struct refcounted_he *> to C<COP *>, to insulate the user from implementation details. =end original -The first argument of the C API function C<Perl_fetch_cop_label> has changed -from C<struct refcounted he *> to C<COP *>, to insulate the user from -implementation details. -(TBT) +C API é¢æ° C<Perl_fetch_cop_label> ã®ç¬¬ 1 å¼æ°ã¯ãã¦ã¼ã¶ã¼ããå®è£ 詳細ã +åé¢ããããã«ãC<struct refcounted_he *> ãã C<COP *> ã«å¤æ´ããã¾ããã =begin original @@ -7955,9 +7959,10 @@ =end original -This API function was marked as "may change", and likely isn't in use outside -the core. (Neither an unpacked CPAN nor Google's codesearch finds any other -references to it.) +ãã® API é¢æ°ã¯ãå¤æ´ããããããããªããã¨ããå°ãä»ãããã +ã³ã¢ã®å¤ã§ä½¿ããããã¨ã¯ãªãããã§ãã +(CPAN ãå±éãããã®ã Google ã³ã¼ããµã¼ãã§ã¯ãããåç §ãã¦ãããã®ã¯ +è¦ã¤ããã¾ããã§ããã) =head3 GvCV() and GvGP() are no longer lvalues @@ -7981,10 +7986,9 @@ =end original -This allows a future commit to eliminate some backref magic between GV -and CVs, which will require complete control over assignment to the -C<gp_cv> slot. -(TBT) +ããã«ãããC<gp_cv> ã¹ãããã¸ã®ä»£å ¥ãå®å ¨ã«å¶å¾¡ããã®ã«å¿ è¦ãªã +GV 㨠CV ã®éã®å¾æ¹åç §ãã¸ãã¯ãåãé¤ãããã®ã³ããããå°æ¥ +åºæ¥ãããã«ãªãã¾ãã =head3 CvGV() is no longer an lvalue @@ -8001,14 +8005,13 @@ =end original -Under some circumstances, the CvGV() field of a CV is now -reference-counted. To ensure consistent behaviour, direct assignment to -it, for example C<CvGV(cv) = gv> is now a compile-time error. A new macro, -C<CvGV_set(cv,gv)> has been introduced to run this operation -safely. +ãã種ã®ç¶æ³ã§ã¯ãCV ã® CvGV() ãã£ã¼ã«ãã¯åç §ã«ã¦ã³ãããã¾ãã +ä¸è²«æ§ã®ããæ¯ãèããä¿è¨¼ããããã«ãä¾ãã° C<CvGV(cv) = gv> ã®ãã㪠+ç´æ¥ã®ä»£å ¥ã¯ã³ã³ãã¤ã«ã¨ã©ã¼ã«ãªãã¾ãã +æ°ãããã¯ãã§ãã C<CvGV_set(cv,gv)> ãããã®æä½ãå®å ¨ã«è¡ãããã« +å°å ¥ããã¾ããã ãã®æ°ãããã¯ãã«ãé¢ããã(ããã¦ãã®ç¯ã«æ¸ãã¦ããã«ãé¢ããã) ãã®ãã£ã¼ã«ãã®å¤æ´ã¯å ¬å¼ API ã®ä¸é¨ã§ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã -(TBT) =head3 CvSTASH() is no longer an lvalue @@ -8023,11 +8026,10 @@ =end original -The CvSTASH() macro can now only be used as an rvalue. CvSTASH_set() -has been added to replace assignment to CvSTASH(). This is to ensure -that backreferences are handled properly. These macros are not part of the -API. -(TBT) +CvSTASH() ãã¯ãã¯å³è¾ºå¤ã¨ãã¦ã®ã¿ä½¿ããããã«ãªãã¾ããã +CvSTASH_set() ããCvSTASH() ã¸ã®ä»£å ¥ã®ä»£ããã¨ãã¦è¿½å ããã¾ããã +ããã¯ãããã¯ãªãã¡ã¬ã³ã¹ãæ£ããæ±ãããã®ãä¿è¨¼ããããã§ãã +ãããã®ãã¯ã㯠API ã®ä¸é¨ã§ã¯ããã¾ããã =head3 Calling conventions for C<newFOROP> and C<newWHILEOP> @@ -8074,35 +8076,27 @@ C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a fundamentally broken model of how the Unicode non-character code points should be handled, which is now described in +L<perlunicode/Non-character code points>. See also the Unicode section +under L</Selected Bug Fixes>. =end original uvuni_to_utf8_flags() 㨠utf8n_to_uvuni() ã¸ã®ãã©ã°å¼æ°ã®ä¸é¨ã å¤æ´ããã¾ããã -This is a result of Perl's now allowing -internal storage and manipulation of code points that are problematic -in some situations. +ããã¯ããã種ã®ç¶æ³ã§åé¡ã¨ãªã符å·ä½ç½®ã®å é¨ä¿ç®¡ã¨æä½ãå¯è½ã«ãªã£ã +çµæã§ãã å¾ã£ã¦ããããã®é¢æ°ã®ããã©ã«ãã¢ã¯ã·ã§ã³ã¯ãããã®ç¬¦å·ä½ç½®ãèªããããã« è£å®ããã¾ããã æ°ãããã©ã°ã¯ L<perlapi> ã§ææ¸åããã¦ãã¾ãã -Code that requires the problematic code -points to be rejected needs to change to use the new flags. +åé¡ã®ãã符å·ä½ç½®ãæ絶ãããã¨ãå¿ è¦ãªã³ã¼ãã¯ããã®æ°ãããã©ã°ã +使ãããã«å¤æ´ããå¿ è¦ãããã¾ãã ä¸é¨ã®ãã©ã°åã¯å¾æ¹ã½ã¼ã¹äºææ§ã®ããã«ä¿æãã¦ãã¾ãããä½ããã¾ãã; ä»ã§ã¯ããã©ã«ãã¨ãªã£ã¦ãã¾ãã ããã C<UNICODE_ALLOW_FDD0>, C<UNICODE_ALLOW_FFFF>, C<UNICODE_ILLEGAL>, -C<UNICODE_IS_ILLEGAL> ã¯åé¤ããã¾ãã; as they stem from a -fundamentally broken model of how the Unicode non-character code points -should be handled, which is now described in -(TBT) - -=begin original - -L<perlunicode/Non-character code points>. See also the Unicode section -under L</Selected Bug Fixes>. - -=end original - -L<perlunicode/Non-character code points>ã +C<UNICODE_IS_ILLEGAL> ã¯åé¤ããã¾ãã; +L<perlunicode/Non-character code points> ã«è¨è¿°ããã¦ããããã«ã +Unicode éæå符å·ä½ç½®ãã©ãæ±ãã¹ããã«é¢ãã¦æ¬è³ªçã«å£ããã¢ãã«ã« +åºã¥ããã®ã ããã§ãã L</Selected Bug Fixes> ã® Unicode ã®ç¯ãåç §ãã¦ãã ããã =head2 Deprecated C APIs @@ -8267,14 +8261,12 @@ =end original ãã¤ã³ã¿ãã¼ãã«ã®ããã®ã¡ã¢ãªå²ãå½ã¦ãå¤æ´ããã¾ããã -Previously -C<Perl_ptr_table_store> allocated memory from the same arena system as -C<SV> bodies and C<HE>s, with freed memory remaining bound to those arenas -until interpreter exit. Now it allocates memory from arenas private to the -specific pointer table, and that memory is returned to the system when -C<Perl_ptr_table_free> is called. +以å㯠C<Perl_ptr_table_store> 㯠C<SV> ããã£ããã³ C<HE> ã¨åãé åãã +ã¡ã¢ãªãå²ãå½ã¦ã解æ¾ãããã¡ã¢ãªã¯ã¤ã³ã¿ããªã¿ãçµäºããã¾ã§ãã®é åã« +æ®ã£ã¦ãã¾ããã +ä»ã§ã¯ç¹å®ã®ãã¤ã³ã¿ãã¼ãã«å°ç¨ã®é åããã¡ã¢ãªãå²ãå½ã¦ããããã®ã¡ã¢ãªã¯ +C<Perl_ptr_table_free> ãå¼ã³åºãããã¨ã·ã¹ãã ã«è¿ããã¾ãã ããã«ãå²ãå½ã¦ã¨è§£æ¾ã¯ä¸¡æ¹ã¨ã CPU ãã¯ã¼ã使ããªããªãã¾ãã -(TBT) =head3 C<UNDERBAR> @@ -8849,10 +8841,9 @@ =end original -Parsing Perl code (either with string C<eval> or by loading modules) from -within a C<UNITCHECK> block no longer causes the interpreter to crash -[perl #70614]. -(TBT) +C<UNITCHECK> ãããã¯å ããã® (æåå C<eval> ãã¢ã¸ã¥ã¼ã«èªã¿è¾¼ã¿ã«ãã) +Perl ã³ã¼ãã®ãã¼ã¹ã¯ããã¯ãã¤ã³ã¿ããªã¿ãã¯ã©ãã·ã¥ãããªããªãã¾ãã +[perl #70614]ã =item * @@ -8941,11 +8932,10 @@ =end original -C<< @$a > 3 >> ã®ãããªå¼ã¯ no longer cause C<$a> to be mentioned in -the "Use of uninitialized value in numeric gt" warning when C<$a> is -undefined (since it is not part of the C<< > >> expression, but the operand -of the C<@>) [perl #72090]. -(TBT) +C<< @$a > 3 >> ã®ãããªå¼ã¯ã(C<< > >> å¼ã®ä¸é¨ã§ã¯ãªããC<@> ã® +ãªãã©ã³ããªã®ã§) C<$a> ãæªå®ç¾©ã®ã¨ãã«ãã¯ã +"Use of uninitialized value in numeric gt" è¦åãåºããªããªãã¾ãã +[perl #72090]ã =item * @@ -8958,11 +8948,10 @@ =end original -Accessing an element of a package array with a hard-coded number (as -opposed to an arbitrary expression) would crash if the array did not exist. -æ®éã¯é åã¯ã³ã³ãã¤ã«ä¸ã«èªåæå¹åããã¾ãããtypeglob -manipulation could remove it, as in these two cases which used to crash: -(TBT) +(ä»»æã®å¼ã§ãªã) ãã¼ãã³ã¼ããããæ°å¤ã§ããã±ã¼ã¸é åã®è¦ç´ ã« +ã¢ã¯ã»ã¹ããã¨ããã®è¦ç´ ããªãã¨ãã«ã¯ã©ãã·ã¥ãã¦ãã¾ããã +æ®éã¯é åã¯ã³ã³ãã¤ã«ä¸ã«èªåæå¹åããã¾ãããåã°ããã®æä½ã¯ +ãããåãé¤ãã以ä¸ã®äºã¤ã®ã±ã¼ã¹ã§ã¯ã©ãã·ã¥ãã¦ãã¾ãã: *d = *a; print $d[0]; undef *d; print $d[0]; @@ -9013,9 +9002,10 @@ Perl 5.10.0 introduced a new internal mechanism for caching MROs (method resolution orders, or lists of parent classes; aka "isa" caches) to make method lookup faster (so C<@ISA> arrays would not have to be searched -repeatedly). Unfortunately, this brought with it quite a few bugs. Almost -all of these have been fixed now, along with a few MRO-related bugs that -existed before 5.10.0: +repeatedly). +æ®å¿µãªãããããã«ã¯ããã¤ããã°ãããã¾ããã +ãã®ã»ã¨ãã©ã¯ã5.10.0 以åãããã£ã MRO é¢ä¿ã®ãã°ã¨å ±ã«ã +ä»ã§ã¯ä¿®æ£ããã¾ãã: (TBT) =over @@ -9083,9 +9073,10 @@ =end original -Typeglob assignments would crash if the glob's stash no longer existed, so +åã°ããã®ä»£å ¥ã¯ãwould crash if the glob's stash no longer existed, so long as the glob assigned to were named C<ISA> or the glob on either side of the assignment contained a subroutine. +(TBT) =item * @@ -9098,11 +9089,11 @@ =end original -C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now -updated properly when packages are deleted or removed from the C<@ISA> of -other classes. This allows many packages to be created and deleted without -causing a memory leak [perl #75176]. -(TBT) +C<mro::get_isarev> çµç±ã§ Perl ã«ã¢ã¯ã»ã¹ã§ãã C<PL_isarev> ã¯ã +ããã±ã¼ã¸ãåé¤ãããããä»ã®ã¯ã©ã¹ã® C<@ISA> ããããã±ã¼ã¸ã +åãé¤ãããã¨ããé©åã«æ´æ°ãããããã«ãªãã¾ããã +ããã«ããå¤ãã®ããã±ã¼ã¸ãã¡ã¢ãªãªã¼ã¯ãªãã«ä½æããã³ +åé¤ã§ããããã«ãªãã¾ã [perl #75176]ã =back @@ -9129,12 +9120,11 @@ =end original -Some work has been done on the internal pointers that link between symbol -tables (stashes), typeglobs, and subroutines. This has the effect that -various edge cases related to deleting stashes or stash entries (for example, -<%FOO:: = ()>), and complex typeglob or code-reference aliasing, will no -longer crash the interpreter. -(TBT) +ã·ã³ãã«ãã¼ãã«(ã¹ã¿ãã·ã¥)ãåã°ããããµãã«ã¼ãã³ã®éã®ãªã³ã¯ã¨ãªã +å é¨ãã¤ã³ã¿ã«å¯¾ãã¦ããã¤ãã®ä½æ¥ãè¡ããã¾ããã +ãã®éä¸ã«ãããã¹ã¿ãã·ã¥ãã¹ã¿ãã·ã¥ã®ã¨ã³ããªã®åé¤ (ä¾ãã° +<%FOO:: = ()>)ããè¤éãªåã°ããã¨ã³ã¼ããªãã¡ã¬ã³ã¹ã®å¥åã«ãã£ã¦ +ãã¯ãã¤ã³ã¿ããªã¿ãã¯ã©ãã·ã¥ãããªããªãã¾ããã =item * @@ -9542,12 +9532,11 @@ =end original -Sometimes the UTF8 length cache would not be reset on a value -returned by substr, causing C<length(substr($uni_string, ...))> to give -wrong answers. -C<${^UTF8CACHE}> ã« -1 ãã»ãããããã¨ã§ã"panic" ã¨ã©ã¼ã¡ãã»ã¼ã¸ã +æã UTF8 ã® length ãã£ãã·ã¥ã substr ã®è¿ãå¤ã«ãã£ã¦ãªã»ãããããã +ãã®ããã« C<length(substr($uni_string, ...))> ãééã£ãçãã +è¿ãã¦ãã¾ããã +C<${^UTF8CACHE}> ã« -1 ãã»ãããã¦ããã¨ã"panic" ã¨ã©ã¼ã¡ãã»ã¼ã¸ã å¼ãèµ·ããã¦ãã¾ãã [perl #77692]ã -(TBT) =back @@ -9569,12 +9558,12 @@ =end original -Overloading now works properly in conjunction with tied -variables. What formerly happened was that most ops checked their -arguments for overloading I<before> checking for magic, so for example -an overloaded object returned by a tied array access would usually be -treated as not overloaded [RT #57012]. -(TBT) +ãªã¼ãã¼ãã¼ã㯠tie ãããå¤æ°ã¨çµã¿åãããããæ£ãã +åä½ããããã«ãªãã¾ããã +以åèµ·ãã¦ããã®ã¯ãã»ã¨ãã©ã® op ã¯å¼æ°ã®ãªã¼ãã¼ãã¼ãã®ãã§ãã¯ã +ãã¸ãã¯ã®ãã§ãã¯ã® I<åã«> è¡ã£ã¦ããã®ã§ãä¾ãã° tie ããã +é åã¢ã¯ã»ã¹ã«ãã£ã¦è¿ããããªã¼ãã¼ãã¼ãããããªãã¸ã§ã¯ã㯠+æ®éã¯ãªã¼ãã¼ãã¼ãããã¦ããªããã®ã¨ãã¦æ±ããã¦ãã¾ãã [RT #57012]ã =item * @@ -10058,12 +10047,11 @@ =end original -Perl now does a timely cleanup of SVs that are cloned into a new -thread but then discovered to be orphaned (that is, their owners -are I<not> cloned). +Perl ã¯ãSV ãæ°ããã¹ã¬ããã«ã¯ãã¼ã³åãããããã©ã親ãããªããªã£ã¦ãã +(ã¤ã¾ãããã®ææè ã¯ã¯ãã¼ã³å I<ãããªãã£ã>) ãã¨ãçºè¦ããå ´åã +å®æçã« SV ãæé¤ãã¾ãã ããã¯ãã¹ã¬ãããçµåããã¨ãã®ããã¤ãã® "scalars leaked" è¦åã é¤å»ãã¾ãã -(TBT) =back @@ -10717,12 +10705,12 @@ =begin original -A possible segfault in the C<T_PRTOBJ> default typemap has been fixed +A possible segfault in the C<T_PTROBJ> default typemap has been fixed (5.12.2). =end original -ããã©ã«ã typemap C<T_PRTOBJ> ã§ã»ã°ã¡ã³ãã³ã·ã§ã³ãã©ã¼ã«ãã +ããã©ã«ã typemap C<T_PTROBJ> ã§ã»ã°ã¡ã³ãã³ã·ã§ã³ãã©ã¼ã«ãã èµ·ããå¯è½æ§ããã£ãåé¡ãä¿®æ£ããã¾ãã (5.12.2)ã =item * @@ -10844,9 +10832,41 @@ F<ExtUtils-MakeMaker-6.57_05> ã¸ã®æ´æ°ã«ãããCPAN ã® F<Module-Install> é å¸ã® ããã¤ãã®ãã¹ãã失æããããã«ãªãã¾ããã -(å ·ä½çã«ã¯ããã¼ã¸ã§ã³ 1.00 ã§ã¯ F<02_mymeta.t> ãã¹ã 5 㨠21; F<18_all_from.t> -ãã¹ã 6 㨠15; F<19_authors.t> tests 5, 13, 21, 29; -F<20_authors_with_special_characters.t> tests 6, 15, 23 ã失æãã¾ãã) +(å ·ä½çã«ã¯ããã¼ã¸ã§ã³ 1.00 ã§ã¯ F<02_mymeta.t> ãã¹ã 5 㨠21; +F<18_all_from.t> ãã¹ã 6 㨠15; F<19_authors.t> ãã¹ã 5, 13, 21, 29; +F<20_authors_with_special_characters.t> ãã¹ã 6, 15, 23 ã失æãã¾ãã) + +=item * + +=begin original + +On VMS, C<Time::HiRes> tests will fail due to a bug in the CRTL's +implementation of C<setitimer>: previous timer values would be cleared +if a timer expired but not if the timer was reset before expiring. HP +OpenVMS Engineering have corrected the problem and will release a patch +in due course (Quix case # QXCM1001115136). + +=end original + +VMS ã§ã¯ãC<Time::HiRes> ã®ãã¹ã㯠CRTL ã® C<setitimer> å®è£ ã®ãã°ã«ãã +失æãã¦ãã¾ãã: 以åã¯ãã¿ã¤ãã¼ã®å¤ã¯æéåãã«ãªã㨠+ã¯ãªã¢ããã¦ãã¾ããããããã¿ã¤ãã¼ãæéåãã«ãªãåã«ãªã»ããããã㨠+ã¯ãªã¢ããã¾ããã§ããã +HP OpenVMS Engineering ã¯ãã®åé¡ãä¿®æ£ããå¾æ¥ãããããªãªã¼ã¹ãã¾ã +(Quix case # QXCM1001115136)ã + +=item * + +=begin original + +On VMS, there were a handful of C<Module::Build> test failures we didn't +get to before the release; please watch CPAN for updates. + +=end original + +VMS ã§ã¯ãthere were a handful of C<Module::Build> test failures we didn't +get to before the release; please watch CPAN for updates. +(TBT) =back