In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/5e6b238927a6bd1b080b1a2f0ec23e491575355b?hp=d9672076f4cbd7c06358070490010aafc18de1e3>
- Log ----------------------------------------------------------------- commit 5e6b238927a6bd1b080b1a2f0ec23e491575355b Author: Ãvar Arnfjörð Bjarmason <a...@cpan.org> Date: Tue Feb 15 22:43:31 2011 +0000 perldelta for most of 5.13.10 Add a perldelta for the commits since v5.13.9 that I thought worthy of mention. What should be included was discussed on perl5-porters in the "The status of the perldelta for 5.13.10" and "[PATCH/RFC] pod/perldelta.pod: WIP perldelta from v5.13.9..356123f144" threads. There might still be things that need a delta that I either don't fully understand or don't have the competency to write a perldelta for. These were when I started writing this commit message at least: $ git-deltatool --mode summary --type blocking Scanning for blocking commits since v5.13.9... 2f65c56 regexec.c: Handle sharp s in middle of backref 6e326e8 regcomp.c: Handle more cases of tricky fold chars b1e3e56 regexec.c: Give context for ANYOFV call 4e8910e regexec.c: Give context for ANYOFV call a5d74e1 regcomp.c: Remove special handling for U+00DF 8e3094e regcomp.c: tell regexec more about multi-char folds d18bf9d regcomp.c: Synthetic start class should include ord >255 folds 43322ea regcomp.c: Be more precise about ANYOF matching flag 4c9daa0 regcomp.c: Put two static functions in embed.fnc 17a3df4 Fix up \cX for 5.14 0cd14f2 Minor bugfixes to Socket::getaddrinfo d1de25c Add supplied tests from perl #83194. 33d9abf code points above 0x7fff_ffff problematic d764b54 Add initial inversion list object 2f833f5 regcomp.c: Generate different property for /i matching 6c29054 bmodpow() fails when GMP library is used. There I have not included commits by Father Chrysostomos since he told me that he "plan[s] to write perldelta entries for everything [he] committed that is worthy of note.". Later I noticed a mail by Karl Williamson where he said that he "always[s] put in a delta if [he] think[s] one is needed". That along with marking up the remaining as ignored turned the list of pending commits into: $ perl Porting/git-deltatool --mode summary --type blocking Scanning for blocking commits since v5.13.9... $ We'll probably still need perldelta for"Fix up \cX for 5.14" and related changes, but that can be done for the final 5.14 release. ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 184 insertions(+), 1 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index b751608..8f54b6f 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -86,6 +86,32 @@ C</i> must change to read the new boolean parameter passed it which is non-zero if case-insensitive matching is in effect; 0 if not. See L<perluniprops/User-Defined Character Properties>. +=head2 [perl #82996] Use the user's from address as return-path in perlbug + +Many systems these days don't have a valid Internet domain name and +perl...@perl.org does not accept email with a return-path that does +not resolve. Therefore pass the user's address to sendmail so it's +less likely to get stuck in a mail queue somewhere. (019cfd2) + +=head2 regex: \p{} in pattern implies Unicode semantics + +Now, a Unicode property match specified in the pattern will indicate +that the pattern is meant for matching according to Unicode rules +(e40e74f) + +=head2 add GvCV_set() and GvGP_set() macros and change GvGP() + +This allows a future commit to eliminate some backref magic between GV +and CVs, which will require complete control over assignment to the +gp_cv slot. + +If you've been using GvGP() in lvalue context this change will break +your code, you should use GvGP_set() instead. (c43ae56) + +=head2 _swash_inversion_hash is no longer exported as part of the API + +This function shouldn't be called from XS code. (4c2e113) + =head1 Deprecations XXX Any deprecated features, syntax, modules etc. should be listed here. @@ -207,6 +233,10 @@ or of "Mathematical Bold" digits would would be safe. =item * +C<CPAN> has been upgraded from version1.94_63 to 1.94_64. + +=item * + XXX =back @@ -261,6 +291,39 @@ that used to be in perlrepository has been moved to perlhack. =back +=head3 L<perlfunc> + +=over 4 + +=item * + +The documentation for the C<map> function now contains more examples, +see B<perldoc -f map> (f947627) + +=back + +=head3 L<perlfaq4> + +=over 4 + +=item * + +Examples in L<perlfaq4> have been updated to show the use of +L<Time::Piece>. (9243591) + +=back + +=head3 Miscellaneous + +=over 4 + +=item * + +Many POD related RT bugs and other issues which are too numerous to +enumerate have been solved by Michael Stevens. + +=back + =head1 Diagnostics The following additions or changes have been made to diagnostic output, @@ -285,6 +348,10 @@ XXX Newly added diagnostic messages go here Use of an unescaped "{" immediately following a C<\b> or C<\B> is now deprecated so as to reserve its use for Perl itself in a future release. +=item regcomp: Add warning if \p is used under locale. (fb2e24c) + +C<\p> implies Unicode matching rules, which are likely going to be +different than the locale's. =back @@ -296,6 +363,20 @@ XXX Changes (i.e. rewording) of diagnostic messages go here =item * +The warning message about regex unrecognized escapes passed through is +changed to include any literal '{' following the 2-char escape. e.g., +"\q{" will include the { in the message as part of the escape +(216bfc0). + +=item * C<binmode $fh, ':scalar'> no longer warns (8250589) + +Perl will now no longer produce this warning: + + $ perl -we 'open my $f, ">", \my $x; binmode $f, "scalar"' + Use of uninitialized value in binmode at -e line 1. + +=item * + XXX =back @@ -330,6 +411,22 @@ L</Platform Support> section, instead. =over 4 +=item * make reg_eval_scope.t TODOs consistently fail (daaf7ac) + +Some of the TODO tests in reg_eval_scope.t spuriously passed under +non-threaded builds. Make the tests harder so they always fail. + +Since one of the key bugs in (?{..}) is the trashing of the parent pad, +add some extra lexical vars to the parent scope and check they're still +there at the end. + +=item * + +Stop EU::CBuilder's tests from failing in parallel (cbf59d5) + +It used to use the same paths for temporary files in all tests. This +blew up randomly when the tests were run in parallel. + =item * XXX @@ -414,6 +511,26 @@ F<t/porting/buildtoc.t> test to run successfully. =back +=item MirBSD + +=over 4 + +=item * + +[perl #82988] Skip hanging taint.t test on MirBSD 10 (1fb83d0) + +Skip a hanging test under MirBSD that was already being skipped under +OpenBSD. + +=item * + +Previously if you build perl with a shared libperl.so on MirBSD (the +default config), it will work up to the installation; however, once +installed, it will be unable to find libperl. Treat path handling +like in the other BSD dialects. + +=back + =back =head1 Internal Changes @@ -426,6 +543,34 @@ be noted as well. =over 4 +=item * Fix harmless invalid read in Perl_re_compile() (f6d9469) + +[perl #2460] described a case where electric fence reported an invalid +read. This could be reproduced under valgrind with blead and -e'/x/', +but only on a non-debugging build. + +This was because it was checking for certain pairs of nodes (e.g. BOL + END) +and wasn't allowing for EXACT nodes, which have the string at the next +node position when using a naive NEXTOPER(first). In the non-debugging +build, the nodes aren't initialised to zero, and a 1-char EXACT node isn't +long enough to spill into the type field of the "next node". + +Fix this by only using NEXTOPER(first) when we know the first node is +kosher. + +=item * Break out the generated function Perl_keywords() into F<keywords.c>, a new file. (26ea9e1) + +As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is +no longer static, and the two macro definitions move from toke.c to perl.h + +Previously, one had to cut and paste the output of perl_keywords.pl into the +middle of toke.c, and it was not clear that it was generated code. + +=item * + +A lot of tests have been ported from Test to Test::More, e.g. in +3842ad6. + =item * XXX @@ -444,9 +589,47 @@ L</Modules and Pragmata>. =item * -A Unicode C<\p{}> property match in a regular rexpression pattern will +A Unicode C<\p{}> property match in a regular expression pattern will now force Unicode rules for the rest of the regular expression +=item * + +[perl #38456] binmode FH, ":crlf" only modifies top crlf layer (7826b36) + +When pushed on top of the stack, crlf will no longer enable crlf layers +lower in the stack. This will prevent unexpected results. + +=item * + +Fix 'raw' layer for RT #80764 (ecfd064) + +Made a ':raw' open do what it advertises to do (first open the file, +then binmode it), instead of leaving off the top layer. + +=item * + +Use PerlIOBase_open for pop, utf8 and bytes layers (c0888ac) + +Three of Perl's builtin PerlIO layers (C<:pop>, C<:utf8> and +C<:bytes>) didn't allow stacking when opening a file. For example +this: + + open FH, '>:pop:perlio', 'some.file' or die $!; + +Would throw an error: "Invalid argument". This has been fixed in this +release. + +=item * + +An issue present since 5.13.1, where s/A/B/ with A utf8 and B +non-utf8, could cause corruption or segfaults has been +fixed. (c95ca9b) + +=item * + +String evals will no longer fail after 2 billion scopes have been +compiled (d1bfb64, 2df5bdd, 0d311cd and 6012dc8) + =back =head1 Known Problems -- Perl5 Master Repository