In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/61f055fdc1637ca101b78de847a04564ff6fd206?hp=ad275677c817a644a9045aaa3a48c604d073cf40>

- Log -----------------------------------------------------------------
commit 61f055fdc1637ca101b78de847a04564ff6fd206
Author: Father Chrysostomos <[email protected]>
Date:   Fri Apr 20 23:26:00 2012 -0700

    perl5160delta: new xs bug fix section

M       Porting/perl5160delta.pod

commit 39ae1ea7609fd70e23d08dcee695ec64e716af80
Author: Father Chrysostomos <[email protected]>
Date:   Fri Apr 20 23:22:14 2012 -0700

    perl5160delta: new glob bug fix section

M       Porting/perl5160delta.pod

commit 081d8988da1dc65cf6f95f8c5dca79fe306d8ca2
Author: Father Chrysostomos <[email protected]>
Date:   Fri Apr 20 23:20:37 2012 -0700

    perl5160delta: more regexp bugs

M       Porting/perl5160delta.pod

commit b7967cca7841850e908256bfa530a9c7c9af70cc
Author: Father Chrysostomos <[email protected]>
Date:   Fri Apr 20 23:16:40 2012 -0700

    perl5160delta: Move Hash::Util core fixes to hash section
    
    I was going to put it under COW, but it’s not COW-specific.  It’s not
    hash-specific, either, the fixes being in Internals::SvREADONLY, but
    Hash::Util is the only supported way to use that function.

M       Porting/perl5160delta.pod

commit a771b28ff34b14834c994833bd5e520769c5396c
Author: Father Chrysostomos <[email protected]>
Date:   Fri Apr 20 23:14:19 2012 -0700

    perl5160delta: Don’t mention study bug fixes
    
    Now that we’ve made it a no-op, it’s not necessary to list the bug
    fixes it had.

M       Porting/perl5160delta.pod
-----------------------------------------------------------------------

Summary of changes:
 Porting/perl5160delta.pod |  173 +++++++++++++++++++++++----------------------
 1 files changed, 89 insertions(+), 84 deletions(-)

diff --git a/Porting/perl5160delta.pod b/Porting/perl5160delta.pod
index 2941baa..bc11968 100644
--- a/Porting/perl5160delta.pod
+++ b/Porting/perl5160delta.pod
@@ -1986,6 +1986,21 @@ The trie optimisation used to have problems with 
alternations containing
 an empty C<(?:)>, causing C<< "x" =~ /\A(?>(?:(?:)A|B|C?x))\z/ >> not to
 match, whereas it should [perl #111842].
 
+=item *
+
+Use of lexical (C<my>) variables in code blocks embedded in regular
+expressions will no longer result in memory corruption or crashes.
+
+Nevertheless, these code blocks are still experimental, as there are still
+problems with the wrong variables being closed over (in loops for instance)
+and with abnormal exiting (e.g., C<die>) causing memory corruption.
+
+=item *
+
+The C<\h>, C<\H>, C<\v> and C<\V> regular expression metacharacters used to
+cause a panic error message when attempting to match at the end of the
+string [perl #96354].
+
 =back
 
 =head2 Formats
@@ -2284,6 +2299,14 @@ hash or array itself, a crash would ensue.  This is no 
longer the case
 It used to be possible to free the typeglob of a localised array or hash
 (e.g., C<local @{"x"}; delete $::{x}>), resulting in a crash on scope exit.
 
+=item *
+
+Some core bugs affecting L<Hash::Util> have been fixed: locking a hash
+element that is a glob copy no longer causes subsequent assignment to it to
+corrupt the glob, and unlocking a hash element that holds a copy-on-write
+scalar no longer causes modifications to that scalar to modify other
+scalars that were sharing the same string buffer.
+
 =back
 
 =head2 Weak references
@@ -2875,6 +2898,72 @@ result in memory corruption [perl #96126].
 
 =back
 
+=head2 Fixes to the C<glob> operator
+
+=over
+
+=item *
+
+On OSes other than VMS, Perl's C<glob> operator (and the C<< <...> >> form)
+use L<File::Glob> underneath.  L<File::Glob> splits the pattern into words,
+before feeding each word to its C<bsd_glob> function.
+
+There were several inconsistencies in the way the split was done.  Now
+quotation marks (' and ") are always treated as shell-style word delimiters
+(that allow whitespace as part of a word) and backslashes are always
+preserved, unless they exist to escape quotation marks.  Before, those
+would only sometimes be the case, depending on whether the pattern
+contained whitespace.  Also, escaped whitespace at the end of the pattern
+is no longer stripped [perl #40470].
+
+=item *
+
+C<CORE::glob> now works as a way to call the default globbing function.  It
+used to respect overrides, despite the C<CORE::> prefix.
+
+=item *
+
+Under miniperl (used to configure modules when perl itself is built),
+C<glob> now clears %ENV before calling csh, since the latter croaks on some
+systems if it does not like the contents of the LS_COLORS enviroment
+variable [perl #98662].
+
+=back
+
+=head2 Fixes affecting the C API
+
+=over
+
+=item *
+
+The C<newHVhv> XS function now works on tied hashes, instead of crashing or
+returning an empty hash.
+
+=item *
+
+The C<SvIsCOW> C macro now returns false for read-only copies of typeglobs,
+such as those created by:
+
+  $hash{elem} = *foo;
+  Hash::Util::lock_value %hash, 'elem';
+
+It used to return true.
+
+=item *
+
+The C<SvPVutf8> C function no longer tries to modify its argument,
+resulting in errors [perl #108994].
+
+=item *
+
+C<SvPVutf8> now works properly with magical variables.
+
+=item *
+
+C<SvPVbyte> now works properly non-PVs.
+
+=back
+
 =head2 Other notable fixes
 
 =over
@@ -2896,13 +2985,6 @@ recommendations.  See L<perlfunc/quotemeta> for details.
 
 =item *
 
-C<newHVhv> and tied hashes
-
-The C<newHVhv> XS function now works on tied hashes, instead of crashing or
-returning an empty hash.
-
-=item *
-
 No warning for C<open(foo::bar)>
 
 When one writes C<open foo || die>, which used to work in Perl 4, a
@@ -3050,25 +3132,6 @@ repeat counts [perl #94560].
 
 =item *
 
-On OSes other than VMS, Perl's C<glob> operator (and the C<< <...> >> form)
-use L<File::Glob> underneath.  L<File::Glob> splits the pattern into words,
-before feeding each word to its C<bsd_glob> function.
-
-There were several inconsistencies in the way the split was done.  Now
-quotation marks (' and ") are always treated as shell-style word delimiters
-(that allow whitespace as part of a word) and backslashes are always
-preserved, unless they exist to escape quotation marks.  Before, those
-would only sometimes be the case, depending on whether the pattern
-contained whitespace.  Also, escaped whitespace at the end of the pattern
-is no longer stripped [perl #40470].
-
-=item *
-
-C<CORE::glob> now works as a way to call the default globbing function.  It
-used to respect overrides, despite the C<CORE::> prefix.
-
-=item *
-
 The C-level C<pregcomp> function could become confused as to whether the
 pattern was in UTF8 if the pattern was an overloaded, tied, or otherwise
 magical scalar [perl #101940].
@@ -3155,11 +3218,6 @@ from when parsing a here document [perl #90128]. (5.14.1)
 
 =item *
 
-The C<study> function could become confused if fed a string longer than
-2**31 characters.  Now that it's a no-op, it can't.
-
-=item *
-
 C<each(I<ARRAY>)> is now wrapped in C<defined(...)>, like C<each(I<HASH>)>,
 inside a C<while> condition [perl #90888].
 
@@ -3211,14 +3269,6 @@ It used to return incorrect prototypes for some and die 
for others
 
 =item *
 
-Some core bugs affecting L<Hash::Util> have been fixed: locking a hash
-element that is a glob copy no longer causes subsequent assignment to it to
-corrupt the glob, and unlocking a hash element that holds a copy-on-write
-scalar no longer causes modifications to that scalar to modify other
-scalars that were sharing the same string buffer.
-
-=item *
-
 C<when> blocks are now capable of returning variables declared inside the
 enclosing C<given> block [perl #93548].
 
@@ -3236,25 +3286,6 @@ subsequently compiled code to become tainted [perl 
#64804].
 
 =item *
 
-Use of lexical (C<my>) variables in code blocks embedded in regular
-expressions will no longer result in memory corruption or crashes.
-
-Nevertheless, these code blocks are still experimental, as there are still
-problems with the wrong variables being closed over (in loops for instance)
-and with abnormal exiting (e.g., C<die>) causing memory corruption.
-
-=item *
-
-The C<SvIsCOW> C macro now returns false for read-only copies of typeglobs,
-such as those created by:
-
-  $hash{elem} = *foo;
-  Hash::Util::lock_value %hash, 'elem';
-
-It used to return true.
-
-=item *
-
 Assignment to C<$^A> (the format output accumulator) now recalculates
 the number of lines output.
 
@@ -3281,12 +3312,6 @@ working for the rest of the block.t
 
 =item *
 
-The C<\h>, C<\H>, C<\v> and C<\V> regular expression metacharacters used to
-cause a panic error message when attempting to match at the end of the
-string [perl #96354].
-
-=item *
-
 For list assignments like C<($a,$b) = ($b,$a)>, Perl has to make a copy of
 the items on the right-hand side before assignment them to the left.  For
 efficiency's sake, it assigns the values on the right straight to the items
@@ -3387,13 +3412,6 @@ scalar to persist [perl #98480].
 
 =item *
 
-Under miniperl (used to configure modules when perl itself is built),
-C<glob> now clears %ENV before calling csh, since the latter croaks on some
-systems if it does not like the contents of the LS_COLORS enviroment
-variable [perl #98662].
-
-=item *
-
 C<++> and C<--> now work on copies of globs, instead of dying.
 
 =item *
@@ -3405,19 +3423,6 @@ worrying about warnings.
 
 =item *
 
-The C<SvPVutf8> C function no longer tries to modify its argument,
-resulting in errors [perl #108994].
-
-=item *
-
-C<SvPVutf8> now works properly with magical variables.
-
-=item *
-
-C<SvPVbyte> now works properly non-PVs.
-
-=item *
-
 C<< $$ >> is no longer tainted.  Since this value comes directly from
 C<< getpid() >>, it is always safe.
 

--
Perl5 Master Repository

Reply via email to