3 years agoBump version to RC1 v5.14.2-RC1
Florian Ragwitz [Mon, 19 Sep 2011 05:22:19 +0000]
Bump version to RC1

3 years agoAdd 5.14.2-RC1 to perlhist
Florian Ragwitz [Mon, 19 Sep 2011 05:18:57 +0000]
Add 5.14.2-RC1 to perlhist

3 years agoUpdate Module::CoreList for 5.14.2
Florian Ragwitz [Mon, 19 Sep 2011 04:34:54 +0000]
Update Module::CoreList for 5.14.2

3 years agoAcknowledgements in perldelta
Florian Ragwitz [Mon, 19 Sep 2011 04:21:15 +0000]
Acknowledgements in perldelta

3 years ago/aa and \b fail under some utf8 strings
Karl Williamson [Sat, 30 Jul 2011 18:33:31 +0000]
/aa and \b fail under some utf8 strings

This was due to my failure to realize that this 'if' needed to
be updated when the /aa modifier was added.

3 years agoPanic with \b and /aa
Karl Williamson [Sat, 30 Jul 2011 18:08:47 +0000]
Panic with \b and /aa

This was due to my oversight in not fixing this switch statement
to accommodate /aa when it was added.

3 years agoNote that PERL_GLOBAL_STRUCT is broken
Florian Ragwitz [Thu, 8 Sep 2011 08:19:01 +0000]
Note that PERL_GLOBAL_STRUCT is broken

3 years agoIn Glob.xs, use memset() instead of bzero()
Nicholas Clark [Tue, 6 Sep 2011 13:06:06 +0000]
In Glob.xs, use memset() instead of bzero()

3c97495f56fb647c used bzero(), which isn't available on some platforms.

3 years agoPerldelta for the CPAN updates
Florian Ragwitz [Wed, 7 Sep 2011 15:33:44 +0000]
Perldelta for the CPAN updates

3 years agoBump CPAN{,::Distribution}::VERSION after MYMETA/configure_requires fixes
Florian Ragwitz [Wed, 7 Sep 2011 15:33:09 +0000]
Bump CPAN{,::Distribution}::VERSION after MYMETA/configure_requires fixes

3 years agoChanged read_meta to ignore dynamic_config
David Golden [Sat, 25 Jun 2011 01:13:40 +0000]
Changed read_meta to ignore dynamic_config

Because read_meta is also used to read META.* for configure_requires,
it must not return undef when dynamic_config is true.  Instead,
the caller of read_meta must check dynamic_config when appropriate.

This is an API change, but as this is a new function, I think getting
correct semantics is more important than preserving back compatibility.

3 years agoconfigure_requires should only check META
David Golden [Sat, 25 Jun 2011 00:52:33 +0000]
configure_requires should only check META

It should not check MYMETA if for some reason configure_requires
is checked again after MYMETA has been created.

This patch adds a regex filter to the check for the meta file.

3 years agoPerldelta for the CVE-2011-2939 fix
Florian Ragwitz [Mon, 5 Sep 2011 11:43:50 +0000]
Perldelta for the CVE-2011-2939 fix

3 years agoBackport the CVE-2011-2939 fix for Encode
Florian Ragwitz [Mon, 5 Sep 2011 11:43:37 +0000]
Backport the CVE-2011-2939 fix for Encode

3 years agoPerldelta for the PerlIO::scalar COW fix
Florian Ragwitz [Mon, 5 Sep 2011 11:03:50 +0000]
Perldelta for the PerlIO::scalar COW fix

3 years agoGet PerlIO::scalar to write to COWs
Father Chrysostomos [Sun, 5 Jun 2011 02:01:59 +0000]
Get PerlIO::scalar to write to COWs

3 years agoFix a perldelta pod nit
Florian Ragwitz [Mon, 5 Sep 2011 11:02:37 +0000]
Fix a perldelta pod nit

3 years agoPerldelta for read-only glob copies
Florian Ragwitz [Mon, 5 Sep 2011 10:38:27 +0000]
Perldelta for read-only glob copies

3 years agoMake it possible to have read-only glob copies
Father Chrysostomos [Tue, 12 Jul 2011 18:13:31 +0000]
Make it possible to have read-only glob copies

(aka Fun with Hash::Util)

This script gives ‘Modification of a read-only value’:

use Hash::Util lock_value;
*foo::; # autovivify
lock_value %::, foo::::;
*foo:: = [];

So far so good.  That’s to be expected.  But this one crashes:

use Hash::Util lock_value;
$a{h} = *foo;
lock_value %a, h;
$a{h} = [];

Under debugging builds, it gives assertion failures.

Anyone who knows how the flags work will see immediately what’s wrong,
but for the sake of those who don’t:

The SVf_FAKE flag is set on a copy of a typeglob, meaning that assign-
ing something other than a glob to it will overwrite the glob, instead
of writing to one of its slots.

The SVf_FAKE flag on a read-only (SVf_READONLY-flagged) string means
that it’s not actually read-only, but a copy-on-write string.

SVf_READONLY on a glob means that you can’t even assign *through* it.
See the first Hash::Util example above.

The crashing occurs when the two flags are combined.
sv_force_normal_flags assumes that anything marked fake AND read-only
is a copy-on-write string, so it proceeds to gut it, even if it’s
actually just corrupting a glob.

So this commit changes that check to take typeglobs into account.

3 years agoFix a skip count in base's t/fields.t
Florian Ragwitz [Sun, 4 Sep 2011 23:50:58 +0000]
Fix a skip count in base's t/fields.t

3 years agoAllow restricted hashes containing COWs to be cleared
Father Chrysostomos [Sat, 4 Jun 2011 18:58:14 +0000]
Allow restricted hashes containing COWs to be cleared

3 years agoPerldelta for deleting COWs in restricted hashes
Florian Ragwitz [Sun, 4 Sep 2011 23:39:43 +0000]
Perldelta for deleting COWs in restricted hashes

3 years agoAllow COW values to be deleted from restricted hashes
Father Chrysostomos [Sat, 4 Jun 2011 18:54:10 +0000]
Allow COW values to be deleted from restricted hashes

I wonder how many other things a604c75 broke....

3 years agoPerldelta for the tied COW string localisation fix
Florian Ragwitz [Sun, 4 Sep 2011 23:27:54 +0000]
Perldelta for the tied COW string localisation fix

3 years agoStop localised ties from becoming ro when COW
Father Chrysostomos [Sat, 4 Jun 2011 20:10:41 +0000]
Stop localised ties from becoming ro when COW

3 years agomove "garbage collection" glossary entry where it belongs
Pau Amma [Sat, 4 Jun 2011 21:31:07 +0000]
move "garbage collection" glossary entry where it belongs

3 years agoAdd Pau Amma to AUTHORS
Father Chrysostomos [Sat, 4 Jun 2011 21:31:58 +0000]
Add Pau Amma to AUTHORS

3 years agoPerldelta entry for the utf8::decode COW fix
Florian Ragwitz [Sun, 4 Sep 2011 23:16:37 +0000]
Perldelta entry for the utf8::decode COW fix

3 years ago2nd try: [perl #91834] utf8::decode does not respect copy-on-write
Father Chrysostomos [Mon, 30 May 2011 03:39:33 +0000]
2nd try: [perl #91834] utf8::decode does not respect copy-on-write

I reverted the first version of this patch because I put the if()
statement before a declaration. I did a revert, rather than a correc-
tion, to make back-porting easier.

3 years agoperldelta entry for File:Glob / CVE-2011-2728 fix.
Craig A. Berry [Sun, 4 Sep 2011 20:49:06 +0000]
perldelta entry for File:Glob / CVE-2011-2728 fix.

3 years agoPlug segfault in bsd_glob() with unsupported ALTDIRFUNC flag.
Craig A. Berry [Fri, 19 Aug 2011 15:14:13 +0000]
Plug segfault in bsd_glob() with unsupported ALTDIRFUNC flag.

First, disable all the unsupported flags just to make sure they aren't
triggering something they shouldn't be.  Also, zero the pglob struct
before passing to bsd_glob(); it contains function pointers, and it's
safest if they are null rather than containing random stack data.

Bug reported by Clément Lecigne <clemun@gmail.com>.

3 years agoPerldelta for the Carp memory leak fix
Florian Ragwitz [Fri, 26 Aug 2011 13:30:17 +0000]
Perldelta for the Carp memory leak fix

3 years ago[perl #97020] Carp (actually caller) leaking memory
Father Chrysostomos [Thu, 18 Aug 2011 15:50:02 +0000]
[perl #97020] Carp (actually caller) leaking memory

Commit eff7e72c3 (Detect incomplete caller overrides in Carp) used
this little trick for detecting a @DB::args that an overridden
caller() failed to set:

+  @args = \$i; # A sentinal, which no-one else has the address of

But there is a bug in caller().  The first time caller tries to write
to @DB::args, it calls Perl_init_dbargs first.  That function checks
whether @DB::args is AvREAL, in case someone has assigned to it, and
takes appropriate measures.  But caller doesn’t bother calling
Perl_init_dbargs more than once.  So manually-assigned items in
@DB::args would leak, starting with the *second* call to caller.

Commit eff7e72c3 triggered that bug, resulting in a regression in
Carp, in that it started leaking.  eff7e72c3 was backported to 5.12.2
with commit 97705941a4, so in both 5.12 and 5.14 Carp is affected.

This bug (the caller bug, not Carp’s triggering thereof) also affects
any caller overrides that set @DB::args themselves, if there are
alternate calls to the overridden caller and CORE::caller.

This commit fixes that by changing the if (!PL_dbargs) condition
in pp_caller to if (!PL_dbargs || AvREAL(PL_dbargs)).  I.e., if
@args is either uninitialised or AvREAL then call Perl_init_dbargs.
Perl_init_dbargs also has a bug in it, that this fixes: The array not
only needs AvREAL turned off, but also AvREIFY turned on, so that
assignments to it that occur after its initialisation turn AvREAL back
on again.  (In fact, Larry Wall added a comment suggesting this back
in perl 5.000.)

3 years agoperldelta for 86212507
Ricardo Signes [Fri, 26 Aug 2011 11:55:54 +0000]
perldelta for 86212507

3 years agoPerldelta for the unpack "U*" fix
Florian Ragwitz [Fri, 26 Aug 2011 10:02:05 +0000]
Perldelta for the unpack "U*" fix

3 years ago[perl #90160] U* gives ‘U0 mode on an empty string’
Father Chrysostomos [Wed, 18 May 2011 21:35:47 +0000]
[perl #90160] U* gives ‘U0 mode on an empty string’

This is a regression in 5.10 caused by change 23966/08ca2aa38a29,
which added a bit of faulty logic. It was treating U* in the middle of
a pack template as equivalent to U0, if the input string was empty.

3 years agoSupport gcc-4.x on HP-UX PA-RISC/64
H.Merijn Brand [Thu, 4 Aug 2011 07:20:32 +0000]
Support gcc-4.x on HP-UX PA-RISC/64

Correct the socketsize. Probably due to big-endian versus
little-endian, this has always worked on Intel CPUs. This
is a very very old problem,  and it has been the reason I
never used gcc-4 on PA-RISC,  because perl would not pass
the test suite in 64bitall.

Noticeable effects of wrong "$socksizetype" are return codes
of 0 (pass) from functions like getpeername (),  but invalid
(or none) data in the returned structures or a return length
of 0 or 256. In the latter case, the length is stored in the
second part of the 64bit long and the 32bit first part is 0.
This might be true on Intel-like machines too, but the tests
will pass, as the significant part of the returned length is
in the first 32bits and a pointer to int will still see that
correct.  Mind that in that case the 32bits after that might
have been overridden => can of worms.

3 years agoPerldelta for the @INC filter fixes
Florian Ragwitz [Fri, 26 Aug 2011 09:36:59 +0000]
Perldelta for the @INC filter fixes

3 years agoFollow-up to d34a6664
Father Chrysostomos [Fri, 3 Jun 2011 21:20:10 +0000]
Follow-up to d34a6664

As Nicholas Clark wrote in
nntp://nntp.perl.org/20110603192458.GZ2604@plum.flirble.org:

> $ valgrind ./perl -Ilib 91880.pl
> ==5542== Memcheck, a memory error detector
...
> I think that the problem is that this code in S_run_user_filter()
>
>  ENTER_with_name("call_filter_sub");
>  SAVEGENERICSV(GvSV(PL_defgv));
>  SAVETMPS;
>  EXTEND(SP, 2);
>
>
> is putting an action on the save stack to write to an address within
> the GP of PL_defgv. However, the perl code run about 10 lines later
> frees up the GP of PL_defgv, so the scope stack now has a dangling
> pointer. 12 lines later at scope exit, the scope stack unwinding
> writes to the pointer, and nasal daemons emerge.

This commit precedes the SAVEGENERICSV with a call to save_gp, to make
sure the GP is not freed (and then a call to GvINTRO_off [set by
save_gp], so that subsequent glob assignments are not implicitly
localised).

This basically emulates what happens with ‘local *_ = \$some_scalar’,
but without the extra intermediate RV.

3 years ago[perl #91880] $_ refcounting problems in @INC filters
Father Chrysostomos [Mon, 30 May 2011 15:55:40 +0000]
[perl #91880] $_ refcounting problems in @INC filters

In @INC filters (subs returned by subs in @INC), $_ is localised to a
variable to which the next line of source code is to be assigned. The
function in pp_ctl.c that calls it (S_run_user_filter) has a pointer
to that variable.

Up till now, it was not setting the refcount or localising
$_ properly.

‘undef *_’ inside the sub would destroy the only refcount it
had, leaving a freed sv for toke.c to parse (which would crash,
of course).

In some cases, S_run_user_filter has to created a new variable. In
those cases, it was setting $_ to a mortal variable with the TEMP
flag, but with a refcount of 1, which would result in ‘Attempt to free
unreferenced scalar’ warnings if the $_ were freed by the subroutine.

This commit changes S_run_user_filter to use SAVEGENERICSV, rather
than SAVE_DEFSV, to localise $_, since the former lowers the refcount
on scope exit, while the latter does not. So now I have also made it
increase the refcount after assigning to the now-properly-localised $_
(DEFSV). I also turned off the TEMP flag, to avoid weird side effects
(which were what led me to this bug to begin with).

3 years agoCreate a perldelta for 5.14.2
Florian Ragwitz [Fri, 26 Aug 2011 09:08:52 +0000]
Create a perldelta for 5.14.2

3 years agoPreliminary version bump for 5.14.2
Florian Ragwitz [Fri, 26 Aug 2011 08:38:05 +0000]
Preliminary version bump for 5.14.2

3 years agodisable use of nm on darwin
Ricardo Signes [Wed, 6 Jul 2011 14:34:31 +0000]
disable use of nm on darwin

Testing from 10.5 with Xcode 3 to the latest OS X works with usenm='false' but
not always with usenm='true'
(cherry picked from commit 60a655a1ee05c577268377c1135ffabc34dbff43)

3 years agoRemove the RC1 marker v5.14.1
Jesse Vincent [Fri, 17 Jun 2011 00:10:26 +0000]
Remove the RC1 marker

3 years agoA pod nit v5.14.1-RC1
Jesse Vincent [Thu, 9 Jun 2011 23:26:33 +0000]
A pod nit

3 years agotypo fix
Jesse Vincent [Thu, 9 Jun 2011 23:18:31 +0000]
typo fix

3 years agomore perldelta nits
Jesse Vincent [Thu, 9 Jun 2011 22:10:08 +0000]
more perldelta nits

3 years agoRemoving XXX sections from perldelta
Jesse Vincent [Thu, 9 Jun 2011 22:01:26 +0000]
Removing XXX sections from perldelta

3 years agoFix pod syntax errors
Jesse Vincent [Thu, 9 Jun 2011 21:57:45 +0000]
Fix pod syntax errors

3 years agoDocumented the most recent cherrypick.
Jesse Vincent [Thu, 9 Jun 2011 20:05:28 +0000]
Documented the most recent cherrypick.

3 years agocherry-pick a delta entry from blead
Jesse Vincent [Thu, 9 Jun 2011 20:02:06 +0000]
cherry-pick a delta entry from blead

3 years agoscan_heredoc could reallocate PL_parser->linestr's PV
David Leadbeater [Sat, 14 May 2011 12:57:21 +0000]
scan_heredoc could reallocate PL_parser->linestr's PV

Since f0e67a1 it was possible the freed buffer may be read from when
parsing a heredoc. This adds a call to lex_grow_linestr to grow the
buffer and ensure the pointers in PL_parser are updated.

The bug is pretty hard to reproduce, hence no test. I'm able to
reproduce it with the following:

  perl -Meverywhere=re,debug -MParams::Util -e1

3 years agosnapshot perldelta work
Jesse Vincent [Thu, 9 Jun 2011 18:11:49 +0000]
snapshot perldelta work

3 years agoBump Module::CoreList for the 5.14.1 release.
Jesse Vincent [Thu, 9 Jun 2011 17:38:54 +0000]
Bump Module::CoreList for the 5.14.1 release.

I very intentionally gave it a "dev" version number because we're about
to deviate from what's in 5.12.4 and it should be as close to what's in
5.14.0 as possible.  I'm not hugely thrilled about this, but it seems
like the most rational thing to do when we have multiple maint versions
in play.

3 years agoAdd a release date for 5.14.1 to perlhist.
Jesse Vincent [Wed, 8 Jun 2011 16:10:38 +0000]
Add a release date for 5.14.1 to perlhist.
Add a track marker for maint-5.14 to perlhist

3 years agoBump the Changes file to describe how to find the .0->.1 delta
Jesse Vincent [Wed, 8 Jun 2011 15:58:28 +0000]
Bump the Changes file to describe how to find the .0->.1 delta

3 years agoBump the RC marker in patchlevel.h to .1
Jesse Vincent [Wed, 8 Jun 2011 15:57:07 +0000]
Bump the RC marker in patchlevel.h to .1

3 years agoUpdate lengthen time-out time for t/re/re.t.
Nobuhiro Iwamatsu [Sun, 5 Jun 2011 00:38:58 +0000]
Update lengthen time-out time for t/re/re.t.

When we carry out this test on SH4, it becomes the time-out.
2 seconds are set in watchdog, but are too short for SH4.
This patch was changed for 10 seconds.

$ time ./perl  t/re/re.t
1..19
ok 1 - is_regexp(REGEXP ref)
ok 2 - is_regexp(REGEXP)
ok 3 - is_regexp("")
ok 4 - regexp_pattern[0] (ref)
ok 5 - regexp_pattern[1] (ref)
ok 6 - scalar regexp_pattern (ref)
ok 7 - regexp_pattern[0] (bare REGEXP)
ok 8 - regexp_pattern[1] (bare REGEXP)
ok 9 - scalar regexp_pattern (bare REGEXP)
ok 10 - !regexp_pattern("")
ok 11 - regnames
ok 12 - regnames
ok 13 - regnames in scalar context
ok 14 - regnames
ok 15
ok 16
ok 17
ok 18
ok 19 - Didn't loop

real    0m7.482s
user    0m3.848s
sys     0m0.036s

3 years agowaitpid doesn't work with WIFSTOPPED
Bo Lindbergh [Fri, 13 May 2011 04:42:03 +0000]
waitpid doesn't work with WIFSTOPPED

> Quoth Emmanuel Rodriguez:
>> I'm see a strange behavior in the fonction WIFSTOPPED($?) when
>> waitpid($pid, WUNTRACED) is invoked and that the child process
>> receives a stop signal. Under this conditions one would expect that
>> WIFSTOPPED($?) would return a true value, but that's not what is
>> happening. A similar program written in C will have the same macro
>> return true instead of false under the same conditions.
>>
>> I can reproduce this with the default perl provided by Ubuntu 9.10 and
>> OS X 10.6. Which lets me guess that this is not a distro related bug.
>
> This is a documentation error.  POSIX.pod incorrectly claims that
> you can pass the value of $? to WIFEXITED and its relatives.
> You must use the raw status value from ${^CHILD_ERROR_NATIVE} instead.

And here's the patch.  Note that perlvar.pod gets it right already.

/Bo Lindbergh

3 years agoregcomp.c: \x{17f} can match /\xdf/i
Karl Williamson [Fri, 13 May 2011 16:25:16 +0000]
regcomp.c: \x{17f} can match /\xdf/i

3 years ago[perl #90850] Outdated Solaris pkg list on README.solaris
Claudio Ramirez [Mon, 23 May 2011 15:33:58 +0000]
[perl #90850] Outdated Solaris pkg list on README.solaris

The required packages for building perl on Solaris are outdated.
The complete list is only appliable to Solaris 8 (released in
February 2000, end of support in March 2009). The patch updates
the requirements for Solaris 9 and 10 (in short: dropping
no longer existant packages).

3 years agoAdd Claudio Ramirez to AUTHORS
Father Chrysostomos [Mon, 23 May 2011 15:33:48 +0000]
Add Claudio Ramirez to AUTHORS

3 years agoUpdate AUTHORS file (add myself)
Leo Lapworth [Sun, 3 Apr 2011 07:49:58 +0000]
Update AUTHORS file (add myself)

3 years agoREADME.macosx - clarify requirement of apple developer tools
Leo Lapworth [Sun, 3 Apr 2011 08:20:04 +0000]
README.macosx - clarify requirement of apple developer tools

3 years agoREADME.macosx - remove Carbon reference
Leo Lapworth [Sun, 3 Apr 2011 08:06:56 +0000]
README.macosx - remove Carbon reference

3 years agoREADME.macosx - cleanup/update copy, remove 'MacPerl'
Leo Lapworth [Sun, 3 Apr 2011 08:04:06 +0000]
README.macosx - cleanup/update copy, remove 'MacPerl'

3 years agoCleanup README.macosx
Leo Lapworth [Sun, 3 Apr 2011 07:48:14 +0000]
Cleanup README.macosx

- Direct people for README.macosx straight away
- Make synopsis copy shorter and clearer

3 years ago/iaa doesn't work when the result is trie'd
Karl Williamson [Sun, 8 May 2011 15:59:13 +0000]
/iaa doesn't work when the result is trie'd

It turns out that caseless tries currently only work on UTF-8 EXACTFU
nodes.  The code attempted to test that by using UNI_SEMANTICS, but that
doesn't actually work; what is important is the semantics of the current
node.

3 years agoperldelta update
Father Chrysostomos [Wed, 8 Jun 2011 03:20:06 +0000]
perldelta update

3 years agoPATCH: perlop.pod
Tom Christiansen [Mon, 2 May 2011 13:25:55 +0000]
PATCH: perlop.pod

(cherry picked from commit c543c01b43a4b95a6edf7898cea8c4662740151a)

3 years agoGeneral perlfunc edit; document ‘default’
Tom Christiansen [Sat, 21 May 2011 12:19:09 +0000]
General perlfunc edit; document ‘default’
(cherry picked from commit 8f1da26d544e0a10ac9cc91249e2e6e57e1847f6)

3 years ago[perl #90592] Porting/epigraphs.pod: add 5.14.0(-RC*)
Zsbán Ambrus [Thu, 19 May 2011 05:03:43 +0000]
[perl #90592] Porting/epigraphs.pod: add 5.14.0(-RC*)
(cherry picked from commit 8b55b0284cb0f0f4e3a37ab37287c6441d6061d8)

3 years agoAdd Nuno Cavalho’s other e-mail address
Father Chrysostomos [Wed, 18 May 2011 23:17:38 +0000]
Add Nuno Cavalho’s other e-mail address
(cherry picked from commit d5564dc44d9a4d84ce4fd1d6562abad29ef6a843)

3 years agoadd given when to perfunc
smash [Mon, 16 May 2011 14:08:59 +0000]
add given when to perfunc
(cherry picked from commit 15a348aa1f233f84aedc3c0a7bcc9d29fc6dc9e9)

3 years ago[perl #89660] PATCH to perlfunc.pod: three forgotten prototypes, unforgotten
Tom Christiansen [Mon, 2 May 2011 13:28:11 +0000]
[perl #89660] PATCH to perlfunc.pod: three forgotten prototypes, unforgotten
(cherry picked from commit dee33c9459543bbd59d00c5418b9b2183239205d)

3 years agoperllol doc updates from tchrist.
Tom Christiansen [Mon, 2 May 2011 13:24:49 +0000]
perllol doc updates from tchrist.
(cherry picked from commit 21863e7e0890fa3f55e9efd85a0746d312e7dc53)

3 years agoThis patch is aagainst the "blead du moment". It fixes various
Tom Christiansen [Mon, 2 May 2011 13:23:11 +0000]
This patch is aagainst the "blead du moment".  It fixes various
things, but does not address the "this version" != 5.14 and the
perlio issues.  I believe that these at least should be addressed
as soon as possible (I don't know whether that means 5.14;
probably not).  It has to either say the particular version that
applies.  We can't keep releasing things that say this version:
they are not trustable.

--tom
(cherry picked from commit f4750dabedb3961d2aa3fec0bc3a92de1ebc06b6)

3 years agoperlfunc: Refer to if.pm from "use"
Karl Williamson [Sun, 24 Apr 2011 15:33:59 +0000]
perlfunc: Refer to if.pm from "use"
(cherry picked from commit 530f0126691388f9891b28f639f47e4280836ccc)

3 years agoAdd Vladimir Timofeev to AUTHORS
Jesse Vincent [Tue, 10 May 2011 13:21:31 +0000]
Add Vladimir Timofeev to AUTHORS
(cherry picked from commit e34fa53ab7895ffe22117b52fd641370cce2d688)

3 years agoFix for [perl #90106] 5.14.0-RC2 ODBM_File failures on Ubuntu natty [multiarch]
Vladimir Timofeev [Tue, 10 May 2011 13:17:41 +0000]
Fix for [perl #90106] 5.14.0-RC2 ODBM_File failures on Ubuntu natty [multiarch]

Ubuntu has juggled lib paths so we get to play games to catch up with
them.
(cherry picked from commit 3c998e07917e4a06d77c572595b246947120b316)

3 years agoUpdate the version of Darwin we know the by_BE locale to be broken on
Jesse Vincent [Mon, 9 May 2011 02:46:24 +0000]
Update the version of Darwin we know the by_BE locale to be broken on
(cherry picked from commit dfa5c78f5986779331a42eae9359203d25e23e80)

3 years agoregexp.h: work around -Werror compile failure of XS in linux perf tool
Jim Cromie [Wed, 1 Jun 2011 04:15:11 +0000]
regexp.h: work around -Werror compile failure of XS in linux perf tool

The linux perf tool has an XS component, but when built using system
perl 5.14.0, its compilation errors out on the switch statement in
regexp.h: get_regex_charset_name(), which lacks a default case.  Add
one, copying the end-of-function return "?".

Preserve the end-of-function return "?", to avoid a hypothetical
compiler bug which misses the default case, and infers a void return
for a function thats declared otherwize.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
(cherry picked from commit 0984e55ea51a3030ba112fb0dd331061c5b0acf5)

3 years agoAssertion fails in multi-char regex match
Karl Williamson [Fri, 13 May 2011 14:35:23 +0000]
Assertion fails in multi-char regex match

In '"s\N{U+DF}" =~ /\x{00DF}/i, the LHS folds to 'sss', the RHS to 'ss'.
The bug occurs when the RHS tries to match the first two es's, but that
splits the LHS \xDF character, which Perl doesn't know how to handle,
and the assertion got triggered.  (This is similar to [perl #72998].)

The solution adopted here is to disallow a partial character match,
as #72998 did as well.

3 years agoregcomp.c: Fix memory leak regression
Nicholas Clark [Fri, 27 May 2011 04:29:40 +0000]
regcomp.c: Fix memory leak regression

There was a remaining memory leak in the new inversion lists data
structure under threading.  This solves it by changing the
implementation to use a SVpPV instead of doing our own memory
management.  Then the already existing code for handling SVs
returns the memory when done.

3 years agoFix link in perldelta
Father Chrysostomos [Thu, 2 Jun 2011 18:37:06 +0000]
Fix link in perldelta

3 years agoregcomp.c: Another leak regression
Karl Williamson [Sun, 22 May 2011 16:51:40 +0000]
regcomp.c: Another leak regression

3 years agoregcomp.c: Another memory leak regression
Karl Williamson [Fri, 20 May 2011 16:54:22 +0000]
regcomp.c: Another memory leak regression

The reference count should be decremented upon freeing.

3 years agoregcomp.c: Fix regression memory leak
Karl Williamson [Thu, 19 May 2011 03:57:25 +0000]
regcomp.c: Fix regression memory leak

I carelessly added this memory leak which happens in a bracketed
character class under /i when there is both a above 255 code point
listed plus one of the several below 256 code points that participate
in a fold with ones above 256.

For 5.16, as the use of the inversion list data structure expands, an
automatic method of freeing space will need to be put in place.  But
this should be sufficient for 5.14.1.

3 years agoperldelta update
Father Chrysostomos [Wed, 1 Jun 2011 20:23:27 +0000]
perldelta update

In addition to documenting the recent integrations, I also
removed the ‘Selected’ from the ‘Selected Bug Fixes’ title,
as maint perldeltas should list *all* bug fixes.

3 years agoRevert the test from 2f77d7b
Father Chrysostomos [Mon, 30 May 2011 21:53:11 +0000]
Revert the test from 2f77d7b

It doesn’t work on VMS.

3 years agoStore the compiled format in mg_ptr instead of after SvCUR() - fixes RT #89218
Nicholas Clark [Tue, 26 Apr 2011 11:12:34 +0000]
Store the compiled format in mg_ptr instead of after SvCUR() - fixes RT #89218

Formats are compiled down to a sequence of U32 opcodes in doparseform().
Previously the block of opcodes was stored in the buffer of SvPVX() after
the raw string by extending the buffer, and calculating the first U32 aligned
address after SvCUR(). A flag bit on the scalar was set to signal this hackery,
tested with SvCOMPILED()

The flag bit used happened to be the same as one of the two used by to signal
Boyer-Moore compiled scalars. The assumption was that no scalar can be used for
both. Unfortunately, this isn't quite true.

Given that the scalar is alway upgraded to PVMG to add PERL_MAGIC_fm magic,
to clear the cached compiled version, there's no extra memory cost in using
mg_ptr in the MAGIC struct to point directly to the block of U32 opcodes. The
test for "is there a compiled version" can switch to mg_find(..., PERL_MAGIC_fm)
returning a pointer, and the use of a flag bit abolished.

Retain SvCOMPILED() and SvCOMPILED_{on,off}() as compatibility for XS code on
CPAN - the first is always 0, the other two now no-ops.

3 years agoS_doparseform() should return void, not OP*, as it should use Perl_die not DIE
Nicholas Clark [Tue, 26 Apr 2011 10:02:45 +0000]
S_doparseform() should return void, not OP*, as it should use Perl_die not DIE

a1b950687051c32e added an error condition in S_doparseform() but used DIE(...)
to report it. DIE is defined as C<return Perl_die>, which acts as a hint to the
compiler about the control flow [as Perl_die() never returns], but also forces
the return type to be OP *. Whilst this is appropriate for pp functions, it's
not for S_doparseform() - a1b950687051c32e had to change the return type to OP*
and return NULL, just to appease DIE(). Hence use Perl_die() instead, remove
return statements, and remove the didn't-return-NULL (dead) code from
pp_formline.

3 years agoCorrect perldoc search path for VMS.
Craig A. Berry [Sun, 15 May 2011 20:34:34 +0000]
Correct perldoc search path for VMS.

3 years ago[perl #90594] PATCH for 5.14.1 perlop.pod
Tom Christiansen [Thu, 19 May 2011 05:06:54 +0000]
[perl #90594] PATCH for 5.14.1 perlop.pod

3 years agoFix deparsing of subs named :::: and ::::::
Father Chrysostomos [Sun, 22 May 2011 01:38:46 +0000]
Fix deparsing of subs named :::: and ::::::

Since a name like :::: is now divided up as ::/:: (since commit
088225f), there can be a package called ‘::’. But %:: returns %main::,
not %main::::. The result is that the main package is searched again
and again recursively and stash_subs hangs.

The easiest fix is to put main:: at the beginning of a substash’s name
when fetching the stash.

3 years ago[perl #90898] B::Deparse failure on glob()
Father Chrysostomos [Wed, 18 May 2011 21:38:48 +0000]
[perl #90898] B::Deparse failure on glob()

Change d1bea3d changed the way that glob() is converted into
a CORE::GLOBAL::glob call, by preserving the OP_GLOB node, so
that it could still do overloading.

But B::Deparse was never updated to account for the change to
the op tree.

3 years ago[perl #85026] deleting elements in a HASH iterator
Ton Hospel [Mon, 16 May 2011 15:33:07 +0000]
[perl #85026] deleting elements in a HASH iterator

Internally a perl HASH is an array of single linked chains of entries.
Deleting an element means removing the correct chain entry by replacing
the pointer to the removed entry with a pointer to the next entry and
then freeing the deleted entry

However, if the deleted element is the current entry the deleted entry
is kept after removing it from the chain and the LAZYDEL flag is set.
Only on the next iteration is the element actually removed and the
iterator is set to the next entry.

However, if you delete the current iterator and then delete the next
element in the same chain the "next" pointer of the iterator is not
updated because the iterator is not on the chain anymore. That means
that when the next iteration looks up the iterator next pointer it
will point to the freed memory of the second element.

This patch fixes the places where the delete is done. Drawback is that
you may never forget to do the lazydel fixup in at any place where the
entry chain gets shortened.

3 years ago[perl #89896] Locale::Maketext test failure
Justin Case [Wed, 18 May 2011 20:43:24 +0000]
[perl #89896] Locale::Maketext test failure
when environment has variable containing unbalanced brackets

Patch is attached to escape brackets in the value of the environment
variable being used in the test.

3 years agobuildtoc output for 5.14.1
Jesse Vincent [Sat, 14 May 2011 21:52:49 +0000]
buildtoc output for 5.14.1

3 years agoAdded the new perldelta for 5.14.1
Jesse Vincent [Sat, 14 May 2011 21:52:34 +0000]
Added the new perldelta for 5.14.1