platform/upstream/perl.git
12 years agoOptimise __SUB__ to a constant
Father Chrysostomos [Fri, 25 Nov 2011 21:36:29 +0000 (13:36 -0800)]
Optimise __SUB__ to a constant

If __SUB__ is not inside a closure, it can be optimised to a constant.
We can only do this in the peephole optimiser, as we cannot tell
whether PL_compcv will become a closure until we reach the end
of the sub.

The __SUB__ op cannot simply be replaced with a const op, as the par-
ent op is not readily available in the peephole optimiser and, hence,
we cannot change its pointer.

So we have to convert the runcv op itself into a const op.  So it
has to be the same size.  This commit makes it a PVOP, since newPVOP,
unlike newSVOP, allows a null pv.  To avoid adding workarounds to B
modules, I put an exception in newPVOP’s assertion, instead of chang-
ing the type in regen/opcodes.

But B::Deparse still had to be updated to avoid infinite recursion.

12 years agoUpdate Unicode-Collate to CPAN version 0.87
Chris 'BinGOs' Williams [Sat, 26 Nov 2011 21:22:55 +0000 (21:22 +0000)]
Update Unicode-Collate to CPAN version 0.87

  [DELTA]

  0.87  Sat Nov 26 17:01:42 2011
    - Now Locale/*.pl files are searched in @INC. (see [rt.cpan.org #72666])
    - added locale_version method to access the version number of Locale/*.pl.

12 years agocorrect some erroneous linking in 5.14.0 delta
Ricardo Signes [Sat, 26 Nov 2011 01:26:45 +0000 (20:26 -0500)]
correct some erroneous linking in 5.14.0 delta

12 years agoAdd AutoLoader upgrade to perldelta
Chris 'BinGOs' Williams [Fri, 25 Nov 2011 22:12:44 +0000 (22:12 +0000)]
Add AutoLoader upgrade to perldelta

12 years agoUpdate B-Debug to CPAN version 1.17
Chris 'BinGOs' Williams [Fri, 25 Nov 2011 22:09:52 +0000 (22:09 +0000)]
Update B-Debug to CPAN version 1.17

  [DELTA]

  1.17 2011-11-25 rurban
        * FSF address change

12 years agobisect.pl avoids perl-5.004 and earlier on case insensitive systems.
Nicholas Clark [Fri, 25 Nov 2011 17:39:04 +0000 (18:39 +0100)]
bisect.pl avoids perl-5.004 and earlier on case insensitive systems.

bisect.pl now probes to see if the checkout is on a case insensitive file
system (such as the default HFS+ on OS X), and if so, uses perl-5.005 as
the earliest stable release to test.

This should make bisect.pl "just work" on a typical OS X system, for the
vast majority of use cases.

12 years agobisect-runner.pl now builds back to 5.005 on the default OS X filesystem.
Nicholas Clark [Fri, 25 Nov 2011 15:32:26 +0000 (16:32 +0100)]
bisect-runner.pl now builds back to 5.005 on the default OS X filesystem.

OS X defaults to case-insensitive HFS+. perl-5.8.0 and later have hints
files to avoid a clash between Makefile and makefile, and hence can build
without problems. Teaching bisect-runner.pl to replicate this hints tweak
allows it to build perl-5.6.0 and perl-5.005 on a default HFS+.
However, only do this for a case insensitive filesystem, else it breaks
the build for 5.003 and earlier (which hardcode 'makefile' in places).

perl-5.004 and earlier won't work on a default HFS+ without a *lot* of
bodgery, as the distribution from that era has two files, Configure and
configure, which trample over each other and confuse git. There are case
clashes in later revisions, which may create unexpected failures for
some actions (versus the same action on a case sensitive file system) but
they don't appear to affect building any 5.*.0 revisions.

bisect-runner.pl can build back to 5.002 on OS X on a case sensitive HFS+
file system.

12 years agobisect-runner.pl should avoid ext/Hash/Util/FieldHash being built twice.
Nicholas Clark [Fri, 25 Nov 2011 11:19:45 +0000 (12:19 +0100)]
bisect-runner.pl should avoid ext/Hash/Util/FieldHash being built twice.

Commit 550428fe486b1888 stopped the invocation of ext/Hash/Util/Makefile.PL
automatically recursing to ext/Hash/Util/FieldHash/Makefile.PL, as make_ext
was also calling it directly. This then resulted in two makes running in
parallel in ext/Hash/Util/FieldHash, which could all end in tears (and
failed builds). Hence we need to apply this fix if it isn't present, to
avoid spurious build failures during bisect runs.

12 years agobisect-runner.pl can now build on AIX back to perl-5.002
Nicholas Clark [Fri, 25 Nov 2011 10:41:14 +0000 (11:41 +0100)]
bisect-runner.pl can now build on AIX back to perl-5.002

Two "one line" fixes to Configure and pp_sys.c are enough to get all .0
stable releases to build. perl-5.001n also builds as far as miniperl.

This makes bisect.pl useful for diagnosing problems on AIX.

12 years agoIn bisect-runner.pl, fall back to context diffs for ancient patch binaries.
Nicholas Clark [Fri, 25 Nov 2011 09:58:16 +0000 (10:58 +0100)]
In bisect-runner.pl, fall back to context diffs for ancient patch binaries.

AIX supplies a pre-historic patch program, which certainly predates Linux
and is probably older than NT. It can't cope with unified diffs. Meanwhile,
it's hard enough to get git diff to output context diffs, let alone git show,
and nearly all the patches embedded here are unified. So it seems that the
path of least resistance is to convert unified diffs to context diffs.

12 years agoIn bisect-runner.pl, only shell out to patch from apply_patch().
Nicholas Clark [Wed, 23 Nov 2011 21:51:13 +0000 (22:51 +0100)]
In bisect-runner.pl, only shell out to patch from apply_patch().

Previously the system's patch binary was invoked from 3 places. Refactoring
the code to only call it from one place will make it easier to work around
ancient versions of patch that some vendors still supply.

12 years ago.\win32\mdelete.bat not needed
Konovalov, Vadim (Vadim)** CTR ** [Fri, 25 Nov 2011 09:10:24 +0000 (09:10 +0000)]
.\win32\mdelete.bat not needed

From: "Konovalov, Vadim (Vadim)** CTR **" <vadim.konovalov@alcatel-lucent.com>
Subject: [PATCH v5.15.5-187] .\win32\mdelete.bat not needed
Date: Thu, 24 Nov 2011 21:48:26 +0100
Message-ID: <35BF8D9716175C43BB9D67CA60CC345E2E0284DD@FRMRSSXCHMBSC2.dc-m.alcatel-lucent.com>

12 years agoDon’t warn for foo+1 with ($) proto
Father Chrysostomos [Fri, 25 Nov 2011 03:20:00 +0000 (19:20 -0800)]
Don’t warn for foo+1 with ($) proto

Commit 22393538 added the warning for (;$) prototypes, but
ended up adding it for ($) as well.

12 years agoevalbytes should ignore outer utf8 declaration
Father Chrysostomos [Fri, 25 Nov 2011 01:43:38 +0000 (17:43 -0800)]
evalbytes should ignore outer utf8 declaration

A slight mistake in the evalbytes.t test script caused a lot of tests
not be testing what they were supposed to be testing for.  I used
'qq(\x...)' instead of qq('\x...').  (I.e., I was trying to embed lit-
eral Unicode characters in the string, rather than pass escapes to
evalbytes.)

I had wondered at the time why it worked without my doing anything, so
I probably should have looked deeper.

12 years agoUpgrade AutoLoader to 5.72
Steffen Mueller [Thu, 24 Nov 2011 18:21:05 +0000 (19:21 +0100)]
Upgrade AutoLoader to 5.72

Mostly just a FSF address update.

12 years agoregen pod issues
Father Chrysostomos [Thu, 24 Nov 2011 16:52:59 +0000 (08:52 -0800)]
regen pod issues

12 years agoperlgpl.pod: wrap long line
Father Chrysostomos [Thu, 24 Nov 2011 16:52:52 +0000 (08:52 -0800)]
perlgpl.pod: wrap long line

12 years agoIncrease $SelfLoader::VERSION to 1.19
Father Chrysostomos [Thu, 24 Nov 2011 16:36:54 +0000 (08:36 -0800)]
Increase $SelfLoader::VERSION to 1.19

12 years agoUpdate references to the FSF's postal address
Dominic Hargreaves [Thu, 24 Nov 2011 16:08:04 +0000 (16:08 +0000)]
Update references to the FSF's postal address

12 years agoTest ambiguous warning with (;$) proto
Father Chrysostomos [Thu, 24 Nov 2011 16:27:13 +0000 (08:27 -0800)]
Test ambiguous warning with (;$) proto

12 years agoWhen parsing subs with user-defined prototypes, store information needed to throw...
Matthew Horsfall (alh) [Tue, 23 Aug 2011 03:32:10 +0000 (23:32 -0400)]
When parsing subs with user-defined prototypes, store information needed to throw warnings

12 years agoSuppress ‘once’ warning in gmagic.t
Father Chrysostomos [Thu, 24 Nov 2011 09:33:33 +0000 (01:33 -0800)]
Suppress ‘once’ warning in gmagic.t

12 years agoAdd lib/perl5db/t/rt-104168 to MANIFEST
Father Chrysostomos [Thu, 24 Nov 2011 09:22:38 +0000 (01:22 -0800)]
Add lib/perl5db/t/rt-104168 to MANIFEST

12 years agoThe attached patch adds to the debugger a capability I thought about
Peter Scott [Thu, 24 Nov 2011 09:21:29 +0000 (01:21 -0800)]
The attached patch adds to the debugger a capability I thought about
ages ago and which turned out to be absurdly easy to implement.  It adds
an optional parameter to the t(race) command, a maximum number of stack
frames to trace below the current one:, e.g.:

     t 3 - turn tracing on, trace up to 3 levels below current depth, be
silent below that
     t 2 fnord() - trace up to 2 levels deep in execution of fnord()

Since it is backwards compatible I added it to the legacy command set as
well, but that's certainly debatable.

12 years ago‘Inline’ S_sv_unglob
Father Chrysostomos [Thu, 24 Nov 2011 09:18:46 +0000 (01:18 -0800)]
‘Inline’ S_sv_unglob

S_sv_unglob is only called in one place, so inline it (but cheat, to
preserve blame history).

12 years agoMake COW-clobbering faster
Father Chrysostomos [Thu, 24 Nov 2011 09:16:32 +0000 (01:16 -0800)]
Make COW-clobbering faster

There is this special SV_COW_DROP_PV flag that gets passed to
sv_force_normal_flags to signal that the SV is about to be clobbered,
so there is no point in allocating a new PV.  But this flag was not
actually being used, until the previous commit commandeered it for
globs (despite the name).

Now it actually does what it says.

Before and after:

$ time ./perl -e '$x = __PACKAGE__, undef $x for 1..8000000'

real 0m5.758s
user 0m5.740s
sys 0m0.008s
$ time ./perl -e '$x = __PACKAGE__, undef $x for 1..8000000'

real 0m3.290s
user 0m3.282s
sys 0m0.006s

12 years agoMake assignment over glob copies much faster
Father Chrysostomos [Thu, 24 Nov 2011 09:09:14 +0000 (01:09 -0800)]
Make assignment over glob copies much faster

sv_force_normal is passed the SV_COW_DROP_PV flag if the scalar is
about to be written over.  That flag is not currently used.  We can
speed up assignment over fake GVs a lot by taking advantage of the flag.

Before and after:

$ time ./perl -e '$x = *foo, undef $x for 1..2000000'

real 0m4.264s
user 0m4.248s
sys 0m0.007s
$ time ./perl -e '$x = *foo, undef $x for 1..2000000'

real 0m1.820s
user 0m1.812s
sys 0m0.005s

12 years agoCall FETCH once for rcatline
Father Chrysostomos [Thu, 24 Nov 2011 07:32:30 +0000 (23:32 -0800)]
Call FETCH once for rcatline

12 years agolib/version.t: suppress warning
Father Chrysostomos [Thu, 24 Nov 2011 04:40:06 +0000 (20:40 -0800)]
lib/version.t: suppress warning

12 years agoperlfunc: Don’t put __SUB__ between substr entries
Father Chrysostomos [Thu, 24 Nov 2011 04:31:55 +0000 (20:31 -0800)]
perlfunc: Don’t put __SUB__ between substr entries

I made the mistake of putting it after the first =item substr,
instead of before it.

12 years agosysread should not ignore magic on its buffer
Father Chrysostomos [Thu, 24 Nov 2011 04:26:51 +0000 (20:26 -0800)]
sysread should not ignore magic on its buffer

sysread uses SvPV_force, which has a bug in it.  Even if the SV_GMAGIC
flag is passed to sv_pvn_force_flags (which SvPV_force does), it
ignores magic in any typeglob argument.

12 years agoMake sselect call fetch once
Father Chrysostomos [Thu, 24 Nov 2011 01:48:47 +0000 (17:48 -0800)]
Make sselect call fetch once

Not only does this commit make four-argument select call fetch once
on each argument (instead of sometimes 0 times), but it also checks
whether the argument is a string after calling fetch now, instead of
before, in determining whether to warn about a non-string.

12 years agoMove substr tests under t/op
Father Chrysostomos [Wed, 23 Nov 2011 21:41:52 +0000 (13:41 -0800)]
Move substr tests under t/op

Commit a4499558 moved them under t/re along with the subst tests, but
these are unrelated to regexps.

12 years agoCall FETCH once when chomping a tied ref
Father Chrysostomos [Wed, 23 Nov 2011 21:29:48 +0000 (13:29 -0800)]
Call FETCH once when chomping a tied ref

12 years agopp.c: Remove useless read-only check from S_do_chomp
Father Chrysostomos [Wed, 23 Nov 2011 21:11:48 +0000 (13:11 -0800)]
pp.c: Remove useless read-only check from S_do_chomp

After sv_force_normal_flags, the scalar will no longer be read-only,
except in those cases where sv_force_normal_flags croaks.  So this
check will never be true when SvFAKE was true.

12 years agoCall FETCH once for $tied_ref =~ y/a/b/
Father Chrysostomos [Wed, 23 Nov 2011 21:03:06 +0000 (13:03 -0800)]
Call FETCH once for $tied_ref =~ y/a/b/

12 years agoIncrease $IO::File::VERSION to 1.16
Father Chrysostomos [Wed, 23 Nov 2011 20:52:33 +0000 (12:52 -0800)]
Increase $IO::File::VERSION to 1.16

12 years agoRemove ‘use File::Spec’ from IO::File
Father Chrysostomos [Wed, 23 Nov 2011 20:52:20 +0000 (12:52 -0800)]
Remove ‘use File::Spec’ from IO::File

It is not using it any more.

12 years ago__SUB__ should warn in void context
Father Chrysostomos [Wed, 23 Nov 2011 20:50:38 +0000 (12:50 -0800)]
__SUB__ should warn in void context

12 years agoUse correct err msg in XS version check
Father Chrysostomos [Wed, 23 Nov 2011 20:47:50 +0000 (12:47 -0800)]
Use correct err msg in XS version check

When an XS module’s version is checked when it is loading, the string
"version" should be treated the same way as "versions" and emit the
‘Invalid version format’ error, instead of being treated as a version
object at first and then rejected by the validator with the ‘Invalid
version object’ error.

See also perl #102586.

12 years agoRemove $SIG{__WARN__} from XSLoader.t
Father Chrysostomos [Wed, 23 Nov 2011 20:34:49 +0000 (12:34 -0800)]
Remove $SIG{__WARN__} from XSLoader.t

Nothing is using the results of this handler any more.

12 years agoProduce right error msg for $ver < "version"
Father Chrysostomos [Wed, 23 Nov 2011 17:48:01 +0000 (09:48 -0800)]
Produce right error msg for $ver < "version"

"version" was being treated as a version object and then failing
the validation check.  It should be treated as a string, just like
"versions":

$ perl5.15.4 -Ilib -e '$^V < "version"'
Invalid version object at -e line 1.

$ perl5.15.4 -Ilib -e '$^V < "versions"'
Invalid version format (dotted-decimal versions require at least three parts) at -e line 1.

See also perl #102586.

12 years agogv.c: Remove SV_GMAGIC from sv_catpvn_flags call.
Father Chrysostomos [Wed, 23 Nov 2011 16:43:19 +0000 (08:43 -0800)]
gv.c: Remove SV_GMAGIC from sv_catpvn_flags call.

This function doesn’t take that flag.  It wasn’t doing anything.

12 years agoUpdate Pod-LaTeX to CPAN version 0.60
Chris 'BinGOs' Williams [Wed, 23 Nov 2011 21:20:51 +0000 (21:20 +0000)]
Update Pod-LaTeX to CPAN version 0.60

  [DELTA]

  added another LaTeX escape: --- => -{}-{}-

  Pod::LaTeX doesn't handle -- in PODs specially, passing it directly to
  LaTeX, which then proceeds to replace it with a single -. This patch
  replaces ----- with -{}-{}-{}-{}-

12 years agoUpdate Unicode-Collate to CPAN version 0.86
Chris 'BinGOs' Williams [Wed, 23 Nov 2011 21:11:52 +0000 (21:11 +0000)]
Update Unicode-Collate to CPAN version 0.86

  [DELTA]

  0.86  Wed Nov 23 17:16:00 2011
    - tailored compatibility ideographs as well as unified ideographs for
      the locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
    - added loc_cjkc.t in t.

12 years agoMove the implementation of --validate from bisect.pl to bisect-runner.pl
Nicholas Clark [Wed, 23 Nov 2011 20:39:06 +0000 (21:39 +0100)]
Move the implementation of --validate from bisect.pl to bisect-runner.pl

--validate sets a default testcase by assigning to @ARGV if its empty. It
makes more sense to do this in bisect-runner.pl, as that processes options
fully, unlike bisect.pl, which passes most through. Hence bisect.pl doesn't
know if some elements of @ARGV are actually options, and hence no testcase
has been supplied, and hence the default is needed.

This change permits the use of --validate with build options such as -D to
work as expected.

12 years agoAdd a --make option to bisect.pl, to specify an alternate make command.
Nicholas Clark [Wed, 23 Nov 2011 14:15:15 +0000 (15:15 +0100)]
Add a --make option to bisect.pl, to specify an alternate make command.

For example, one can utilise this to use gmake instead of the system make.

12 years agoUNIVERSAL::VERSION should treat "version" as a string
Father Chrysostomos [Wed, 23 Nov 2011 06:34:07 +0000 (22:34 -0800)]
UNIVERSAL::VERSION should treat "version" as a string

It was treating it as a version object and then failing the validation
test, instead of treating it as an invalid version format, as it does
with "versions":

$ ./perl -Ilib -e'$VERSION = "versions"; main->VERSION(1)'
Invalid version format (dotted-decimal versions require at least three parts) at -e line 1.
$ ./perl -Ilib -e'$VERSION = "version"; main->VERSION(1)'
Invalid version object at -e line 1.

See also perl #102586.

12 years agoprintf "%vd", "version" should not SEGV
Father Chrysostomos [Wed, 23 Nov 2011 06:22:08 +0000 (22:22 -0800)]
printf "%vd", "version" should not SEGV

See perl #102586.

12 years agoOn AIX, bisect-runner.pl must patch Makefile.SH for parallel make issues.
Nicholas Clark [Wed, 23 Nov 2011 09:59:52 +0000 (10:59 +0100)]
On AIX, bisect-runner.pl must patch Makefile.SH for parallel make issues.

It needs to emulate the bug fix of e6807d8ab22b761c, to ensure lib/Config.pm
is built before makedef.pl is run.

12 years agomakedef.pl uses Config.pm, so needs a Makefile dependency on it.
Nicholas Clark [Wed, 23 Nov 2011 09:08:34 +0000 (10:08 +0100)]
makedef.pl uses Config.pm, so needs a Makefile dependency on it.

Commit 9d6c7f2eccef26a6 changed makedef.pl to use Config.pm
Commit 208d7614b345d1fb refactored makedef.pl to read values from
%Config::Config, instead of reading directly from config.sh

Hence we can replace the dependency on config.sh with one on lib/Config.pm

12 years ago[perl #102586] version->new("version") SEGVs
Father Chrysostomos [Wed, 23 Nov 2011 05:28:15 +0000 (21:28 -0800)]
[perl #102586] version->new("version") SEGVs

This adds an ROK check after calling sv_derived_from, as the latter
also works for class names.  It is done after sv_derived_from, rather
than before, as sv_derived_from calls get-magic.

12 years agoarybase.xs be more defensive
Reini Urban [Tue, 22 Nov 2011 19:30:08 +0000 (13:30 -0600)]
arybase.xs be more defensive

There can be no other keys used with ab_ck_base but clang's static
analyzer has a point in complaining about the missing default case.
This is too fragile if any CHECK is added in BOOT.

12 years agoCorrect spelling of double free warning
Father Chrysostomos [Tue, 22 Nov 2011 22:23:04 +0000 (14:23 -0800)]
Correct spelling of double free warning

The perldiag entry said ‘nonexistent’, which is correct.  hv.c said
‘non-existent’, which is, well, questionable.  They should be the
same, so I corrected hv.c.  I also added the %s%s to the end in
perldiag.

12 years agoCorrect perldiag entry for sv_replace panic
Father Chrysostomos [Tue, 22 Nov 2011 22:18:57 +0000 (14:18 -0800)]
Correct perldiag entry for sv_replace panic

This commit changed the warning to an error and reworded it, but never
updated the docs (this commit completes the TODO):

perl-5.8.0-5715-g30e5c35
commit 30e5c352c9c1099120007e8b6e9318a33d99b3bb
Author: Nicholas Clark <nick@ccl4.org>
Date:   Thu Aug 25 13:46:31 2005 +0000

    Promote the warning about reference miscount in sv_replace to a panic.
    TODO - document the panics

    p4raw-id: //depot/perl@25330

12 years agoperldiag: Fix categories of internal severe warnings
Father Chrysostomos [Tue, 22 Nov 2011 22:14:02 +0000 (14:14 -0800)]
perldiag: Fix categories of internal severe warnings

Some severe/default warnings in the internal and debugging categories
were listed as errors (P) or regular warnings (W).

12 years agosv.c/sv_insert_flags: typo
Father Chrysostomos [Tue, 22 Nov 2011 21:43:12 +0000 (13:43 -0800)]
sv.c/sv_insert_flags: typo

12 years agoamagic_deref_call does not necessitate SPAGAIN
Father Chrysostomos [Tue, 22 Nov 2011 21:34:37 +0000 (13:34 -0800)]
amagic_deref_call does not necessitate SPAGAIN

As amagic_deref_call pushes a new stack, PL_stack_sp will always have
the same value before and after, so SPAGAIN is unnecessary.

12 years ago[Merge] [RT #36079] Convert ` to '
Father Chrysostomos [Wed, 23 Nov 2011 00:27:38 +0000 (16:27 -0800)]
[Merge] [RT #36079] Convert ` to '

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 15:07:02 +0000 (10:07 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 15:03:16 +0000 (10:03 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 14:55:28 +0000 (09:55 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Where sensible, replace consecutive single quotation marks with a double...
jkeenan [Tue, 22 Nov 2011 23:59:53 +0000 (15:59 -0800)]
[RT #36079] Where sensible, replace consecutive single quotation marks with a double quotation mark.

12 years ago[RT #36079] Due to test failures, revert conversion from backtick to single quote.
jkeenan [Sun, 20 Nov 2011 03:12:05 +0000 (22:12 -0500)]
[RT #36079] Due to test failures, revert conversion from backtick to single quote.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:21:40 +0000 (20:21 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:19:56 +0000 (20:19 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:16:47 +0000 (20:16 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:15:33 +0000 (20:15 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:09:26 +0000 (20:09 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:02:17 +0000 (20:02 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 01:01:01 +0000 (20:01 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:56:56 +0000 (19:56 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:51:11 +0000 (19:51 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:49:10 +0000 (19:49 -0500)]
[RT #36079] Convert ` to '.

12 years agoVersion bumps
Father Chrysostomos [Tue, 22 Nov 2011 22:51:46 +0000 (14:51 -0800)]
Version bumps

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:41:00 +0000 (19:41 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:37:03 +0000 (19:37 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:28:08 +0000 (19:28 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:23:00 +0000 (19:23 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:18:10 +0000 (19:18 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:15:23 +0000 (19:15 -0500)]
[RT #36079] Convert ` to '.

12 years ago[RT #36079] Convert ` to '.
jkeenan [Sun, 20 Nov 2011 00:00:59 +0000 (19:00 -0500)]
[RT #36079] Convert ` to '.

12 years agoop.c: typo
Father Chrysostomos [Tue, 22 Nov 2011 21:15:58 +0000 (13:15 -0800)]
op.c: typo

12 years agoMake Data::Dumper UTF8- and null-clean with GVs
Father Chrysostomos [Tue, 22 Nov 2011 20:56:37 +0000 (12:56 -0800)]
Make Data::Dumper UTF8- and null-clean with GVs

12 years agoUpdate IO-Compress to CPAN version 2.043
Chris 'BinGOs' Williams [Tue, 22 Nov 2011 19:32:55 +0000 (19:32 +0000)]
Update IO-Compress to CPAN version 2.043

  [DELTA]

  2.043 20 November 2011

      * IO::Compress::Base
        - Fixed issue that with handling of Zip files with two (or more)
          entries that were STORED. Symptom is the first is uncompressed
          ok, but the next will terminate early if the size of the file is
          greater than BlockSize.
          Regression test added to t/006zip.t
          [RT# 72548]

12 years agoUpdate Compress-Raw-Bzip2 to CPAN version 2.043
Chris 'BinGOs' Williams [Tue, 22 Nov 2011 19:27:12 +0000 (19:27 +0000)]
Update Compress-Raw-Bzip2 to CPAN version 2.043

  [DELTA]

  2.043 20 November 2011

      * No Changes

12 years agoUpdate Compress-Raw-Zlib to CPAN version 2.043
Chris 'BinGOs' Williams [Tue, 22 Nov 2011 19:23:51 +0000 (19:23 +0000)]
Update Compress-Raw-Zlib to CPAN version 2.043

  [DELTA]

  2.043 20 November 2011

      * No Changes

12 years agoUpdate Archive-Tar to CPAN version 1.82
Chris 'BinGOs' Williams [Tue, 22 Nov 2011 19:18:53 +0000 (19:18 +0000)]
Update Archive-Tar to CPAN version 1.82

  [DELTA]

  * important changes in version 1.82 21/11/2011 (CDRAKE)
    - Adjustments to handle files >8gb (>0777777777777 octal)
    - Feature to return the MD5SUM of files in the archive

12 years ago[perl #103766] Wrong $" warning in perl 5.14
Father Chrysostomos [Tue, 22 Nov 2011 17:31:31 +0000 (09:31 -0800)]
[perl #103766] Wrong $" warning in perl 5.14

This code:

    "@{[ $x ]}"

was producing the warning:

    Use of uninitialized value $" in join or string at -e line 1.

erroneously, as of commit 6d1f0892c.

Commit 6d1f0892c was meant to fix bug #72090, which caused the varia-
ble to be mentioned even for the > warning in this instance:

    $ ./perl -we '$a = @$a > 0'
    Use of uninitialized value $a in array dereference at -e line 1.
    Use of uninitialized value $a in numeric gt (>) at -e line 1.

The fix for #72090 was wrong, because the loop that it modified loops
through the kid ops, finding out how many candidates there are.  If
there is only one candidate left, it is used.  Skipping ops that could
be responsible for the undefined value just because we don’t want
to mention their variables is the wrong approach, at least in that
loop, as the blame will fall on whatever other op is left if there
is only one.

There is code further up to deal with the OP_RV2[AH]V case, that des-
cends explicitly into the child ops.  This commit tweaks that code to
descend only for the top-level op, to allow @{ $x } to warn still
about an uninitialised value used in array dereference.  Where @{...}
is an operand to the operator that is emitting the warning, we don’t
descend.  That is how #72090 should have been fixed to begin with, as
it has no odd side effects.

This bug (#103766) affects any other cases where there are two oper-
ands and one is @{...} or %{...}:

    $ perl5.15.4 -e 'use warnings "uninitialized"; $y = 6; $y + @{ $x }'
    Use of uninitialized value $x in array dereference at -e line 1.
    Use of uninitialized value $y in addition (+) at -e line 1.

$y is obviously not responsible there.

12 years agoMove a test from t/lib/warnings/sv to .../9uninit
Father Chrysostomos [Tue, 22 Nov 2011 16:35:37 +0000 (08:35 -0800)]
Move a test from t/lib/warnings/sv to .../9uninit

I think .../sv is for warnings originating from code in sv.c, not just
any uninitialized warnings, the code for handling which is in sv.c.
We have 9uninit for a reason.

12 years agoIn Perl_moreswitches(), merge the cases for 't' and 'T'.
Nicholas Clark [Tue, 22 Nov 2011 14:05:01 +0000 (15:05 +0100)]
In Perl_moreswitches(), merge the cases for 't' and 'T'.

Both bodies were the same, aside from hardcoded 't' and 'T', which can be
replaced with a variable.

12 years agoMerge bisect-runner.pl fixes for 5.11-era parallel make bugs.
Nicholas Clark [Tue, 22 Nov 2011 09:53:20 +0000 (09:53 +0000)]
Merge bisect-runner.pl fixes for 5.11-era parallel make bugs.

"all known" - that's a description to tempt fate. But bisect-runner.pl
should now avoid falling foul of make race conditions introduced from late
December 2008, and only resolved in January 2010.

Without the fixes, the parallel make bugs could mean that a bisect would
sometimes fail to build any revision in the range. The best case would be a
"skip" on an intermediate revision, and a slightly slower bisect run. The
worst case would be the bisect reporting failure to complete, giving a
range of skipped revisions instead of a definitive answer.

12 years agobisect-runner.pl now fixes all known 5.11-era parallel make bugs.
Nicholas Clark [Mon, 21 Nov 2011 19:48:32 +0000 (19:48 +0000)]
bisect-runner.pl now fixes all known 5.11-era parallel make bugs.

bisect-runner.pl now patches Makefile.SH to ensure that lib/Config_git.pl
is built before configpm is run, and that configpm is run exactly ones.

"all known" - that's a description to tempt fate. But bisect-runner.pl should
now avoid falling foul of make race conditions introduced from late December
2008, and only resolved in January 2010.

12 years agobisect-runner.pl now fixes another 5.11-era parallel make bug.
Nicholas Clark [Mon, 21 Nov 2011 17:20:02 +0000 (17:20 +0000)]
bisect-runner.pl now fixes another 5.11-era parallel make bug.

Emulate commit 2b63e250843b907e, by correcting Makefile.SH to correctly
describe the relationship between git_version.h, lib/Config_git.pl and
running make_patchnum.pl

12 years agobisect-runner.pl now fixes more 5.11-era make bugs.
Nicholas Clark [Mon, 21 Nov 2011 16:12:04 +0000 (16:12 +0000)]
bisect-runner.pl now fixes more 5.11-era make bugs.

bisect-runner.pl now patches Makefile.SH to ensure that git_version.h is built
before perl.o, for revisions between the addition of git_version.h, and the
addition of rules to ensure the correct build sequence.

12 years agobisect-runner.pl now fixes more 5.11-era parallel make bugs.
Nicholas Clark [Sun, 20 Nov 2011 19:03:35 +0000 (19:03 +0000)]
bisect-runner.pl now fixes more 5.11-era parallel make bugs.

Backport two of the bugfixes from commit 0f13ebd5d71f8177 into earlier
revisions. Avoid running autodoc.pl or ./generate_uudmap more than once.

12 years agobisect-runner.pl now fixes some 5.11-era parallel make bugs.
Nicholas Clark [Sun, 20 Nov 2011 16:53:47 +0000 (16:53 +0000)]
bisect-runner.pl now fixes some 5.11-era parallel make bugs.

bisect-runner.pl now patches Makefile.SH with correct dependencies for the
first iteration of incorporating the git version in perl -V output by
writing the files .patchnum or unpushed.h.

This era is important because contains the commit that merges Schwern's y2038
work, which is likely to be significant for some testcases.

12 years agoSynchronise Module-CoreList version with what is teh on CPAN
Chris 'BinGOs' Williams [Tue, 22 Nov 2011 08:18:44 +0000 (08:18 +0000)]
Synchronise Module-CoreList version with what is teh on CPAN

12 years ago[perl #80628] __SUB__
Father Chrysostomos [Tue, 22 Nov 2011 07:43:17 +0000 (23:43 -0800)]
[perl #80628] __SUB__

After much alternation, altercation and alteration, __SUB__ is
finally here.

12 years agoTest for lack of uninit warnings in sub redef
Father Chrysostomos [Tue, 22 Nov 2011 06:40:41 +0000 (22:40 -0800)]
Test for lack of uninit warnings in sub redef

This adds tests for something I fixed ‘by mistake’ in efcf35c4, which
occurs from 5.8.0 to 5.15.5:

$ perl5.15.4  -le '
   use warnings "uninitialized";
   use constant {u=>undef,v=>undef};
   sub foo(){u} sub foo(){v}
'
Use of uninitialized value at -e line 1.
Use of uninitialized value at -e line 1.