This is a live mirror of the Perl 5 development currently hosted at
6 years agoop_class_sv removed for threaded perls op_class_targ removed for non-threaded perls
syber [Sat, 22 Nov 2014 23:30:32 +0000 (02:30 +0300)]
op_class_sv removed for threaded perls op_class_targ removed for non-threaded perls

6 years agoThis commit speeds up class method calls when class name is constant.
syber [Fri, 21 Nov 2014 17:21:00 +0000 (20:21 +0300)]
This commit speeds up class method calls when class name is constant.


By about 30%.

It was done by saving class name (as shared COW string) in METHOP
and later checking it in method_common().

If it was set, then it fetches stash via gv_stashsv using precomputed
hash value instead of falling into a bunch of conditions and fetching
stash without hash value.

6 years agoremove a branch in SvIV_please_nomg
Daniel Dragan [Wed, 19 Nov 2014 04:08:25 +0000 (23:08 -0500)]
remove a branch in SvIV_please_nomg

On VC 2003 and GCC 4.6.3, this patch decreases from 3 branches to
2 branches that machine code that makes up SvIV_please_nomg. Functionality
should be identical as before. This is intended to make math functions like
pp_add faster. Due to complexity/my time, SvIV_please wasn't optimized.
"(SvNOK(sv) || SvPOK(sv)" was optimized to
"(SvFLAGS(sv) & (SVf_NOK|SVf_POK))" on GCC and VC 2003 before this patch,
so that change reenforces what the optimizer already did before.

.text section of miniperl.exe size in bytes
gcc 32b 4.6.3 -O2 before 0x10d154
gcc 32b 4.6.3 -O2 after  0x10d064
vc2003            before 0xa4odf
vc2003            after  0xa406f

6 years agoperldelta for d9bb50d52d1c
Tony Cook [Mon, 24 Nov 2014 03:40:55 +0000 (14:40 +1100)]
perldelta for d9bb50d52d1c

6 years agoimprove ParseXS RETVAL code gen
Daniel Dragan [Sat, 22 Nov 2014 22:11:20 +0000 (17:11 -0500)]
improve ParseXS RETVAL code gen

This patch avoids using ST(0) repeatedly in the OUTPUT section for RETVAL.
ST() include a read of global PL_stack_base. This read must be done between
every function call per C lang. XSRETURN also contains a PL_stack_base
read. sv_2mortal returns the incoming SV, the retval was previously ignored
and ST was used again. This patch reduced the number of ST references to
exactly 1, per RETVAL. The PL_stack_base reference in XSRETURN will be
optimized into the PL_stack_base reference in ST(0). Using the retval of
sv_2mortal allows the SV* to stay in a cheaper volatile register. In a
sequence of "RETVALSV = newSViv(RETVAL); RETVALSV = sv_2mortal(RETVALSV);
ST(0) = RETVALSV; XSRETURN(1);" RETVALSV never had to be saved around a
function call. Also ST(0) in a multi eval macro with different
function calls in it, will cause more PL_stack_base reads, so badly written
user supplied typemaps get optimized since a C auto that never had & done
on it is guarenteed to not change between function calls.

To produce cleaner C code, indenting cleanup is done, and if RETVAL is a
SV *, RETVALSV isn't created. Also if no additional boilerplate lines
like sv_2mortal are added, RETVALSV isn't created.

See [perl #123278] for details on machine code reductions that this patch
caused and also see

6 years agoperl5220delta: Hook::LexWrap is fixed
Father Chrysostomos [Mon, 24 Nov 2014 03:25:00 +0000 (19:25 -0800)]
perl5220delta: Hook::LexWrap is fixed

6 years agoknown_pod_issues.dat: 2 more known mods
Father Chrysostomos [Mon, 24 Nov 2014 03:24:38 +0000 (19:24 -0800)]
known_pod_issues.dat: 2 more known mods

6 years agoAdd 2 more problematic mods to perl5220delta
Father Chrysostomos [Mon, 24 Nov 2014 01:44:44 +0000 (17:44 -0800)]
Add 2 more problematic mods to perl5220delta

6 years agoUpdate Test-Simple to Alpha 078
Chad Granum [Mon, 24 Nov 2014 00:24:50 +0000 (16:24 -0800)]
Update Test-Simple to Alpha 078

6 years ago[perl #123062] & proto: only sub{} and \&sub
Father Chrysostomos [Mon, 24 Nov 2014 00:58:45 +0000 (16:58 -0800)]
[perl #123062] & proto: only sub{} and \&sub

It was allowing \@array, \%hash, \($list, %of, @refs), undef, and
recently also \$scalar.  It should only allow sub{} and \&sub.

6 years agoConfigure syncup
H.Merijn Brand [Sun, 23 Nov 2014 18:45:33 +0000 (19:45 +0100)]
Configure syncup

Some of these changes also made it upstream to the dist svn repo.

6 years agofix ext/B/t/optree_misc.t in unthreaded builds
David Mitchell [Sun, 23 Nov 2014 17:18:21 +0000 (17:18 +0000)]
fix ext/B/t/optree_misc.t in unthreaded builds

My fix to fix smokes broke something else.

(The people responsible for sacking the people who broke the builds, have
now been sacked.)

6 years agoAIX: gcc long doubles do not use -qlongdouble.
Jarkko Hietaniemi [Sun, 23 Nov 2014 14:59:25 +0000 (09:59 -0500)]
AIX: gcc long doubles do not use -qlongdouble.

6 years agofix recent Concise tests under PERL_UNICODE=''
David Mitchell [Sun, 23 Nov 2014 11:34:07 +0000 (11:34 +0000)]
fix recent Concise tests under PERL_UNICODE=''

Some smokers run with PERL_UNICODE set; this has the side effect of
making Concise display nextstate ops with open hints flags, e.g.

    nextstate(....) v:>,<,% ->8

where :... are the flags.

Concise 'golden samples' should have these flags set; they're stripped
from the expected output in the non-PERL_UNICODE case, rather than
being stripped from the actual output in the PERL_UNICODE case.

(It would probably make life easier if we did it the other way round.)

6 years agoRemove mysig* macros from vmsish.h.
Craig A. Berry [Sun, 23 Nov 2014 00:46:27 +0000 (18:46 -0600)]
Remove mysig* macros from vmsish.h.

We haven't defined overrides for these functions for a long time
so this is just dead code.

6 years agoUpdate Test-Simple to alpha 076
Chad Granum [Sat, 22 Nov 2014 19:58:05 +0000 (11:58 -0800)]
Update Test-Simple to alpha 076

For: RT #123277

6 years agoRevert part of 8629b8cee5
Steve Hay [Sat, 22 Nov 2014 17:55:17 +0000 (17:55 +0000)]
Revert part of 8629b8cee5

As BinGOs noted, all the EUMM testing should be happening in File::Temp
generated tempdirs under cpan/ExtUtils-MakeMaker/t/ so it handles being
run in parallel.

So the fact that lib/Big/(Dummy|Liar).pm are being created on Windows when
building/testing with GCC (but seemingly not MSVC++) is a bug somewhere.

6 years agodocument the postderef feature in
Ricardo Signes [Sat, 22 Nov 2014 03:20:04 +0000 (22:20 -0500)]
document the postderef feature in

6 years agoProtect ${^E_NCODING} from abuse
Father Chrysostomos [Fri, 21 Nov 2014 16:24:06 +0000 (08:24 -0800)]
Protect ${^E_NCODING} from abuse

When read, it is now always undef.  When set, it croaks as though
read-only except in the encoding package.  Hopefully that will dis-
suade anyone from depending on it.

6 years agoStorable: fixup pod wording
Jim Cromie [Fri, 6 Dec 2013 15:00:28 +0000 (08:00 -0700)]
Storable: fixup pod wording

fix grammar, eschew colloquial expression - s/turned into/converted to/

Increment Storable $VERSION.

For: RT #123271

6 years agomg.c: Remove poorly considered assertion
Karl Williamson [Fri, 21 Nov 2014 20:39:18 +0000 (13:39 -0700)]
mg.c: Remove poorly considered assertion

and following.

The final resolution of what to do here hasn't been made, but the
assertion is definitely not the way to go.

6 years agoUpdate .gitignore file
Steve Hay [Fri, 21 Nov 2014 18:49:36 +0000 (18:49 +0000)]
Update .gitignore file

ExtUtils::MakeMaker's Big/ (and Big/ now lands in lib/,
and Module::Build is no more

6 years agoFix longdblsize and nvsize for 64-bit USE_LONG_DOUBLE builds on Windows
Steve Hay [Fri, 21 Nov 2014 18:39:04 +0000 (18:39 +0000)]
Fix longdblsize and nvsize for 64-bit USE_LONG_DOUBLE builds on Windows

This fixes many test failures in op/pack.t, although two (13177 and 13180)
still remain.  The same two also fail with 32-bit USE_LONG_DOUBLE builds.

Thanks to for spotting the failures and the
likely cause of them.

6 years agoReport inaccesible file on failed require
Petr Písař [Fri, 21 Nov 2014 09:48:51 +0000 (10:48 +0100)]
Report inaccesible file on failed require

Commit 2433d39e6 (require should die if a file exists but can't be
read) made first failed opened file fatal as request in
[perl #113422]. However error message produced in that case is not
much helpful in identifying which file ound not been accessed:

    $ LANG=C perl -I/root -e 'require strict'
    Can't locate   Permission denied at -e line 1.

This patch adds the name of the failed file to the message to help
identify which @INC directory is erroneous:

    $ LANG=C ./perl -I/root -I./lib -e 'require strict'
    Can't locate   /root/ Permission denied at -e line 1.

Signed-off-by: Petr Písař <>
6 years agofix builds with ExtUtils::ParseXS
David Mitchell [Fri, 21 Nov 2014 12:48:59 +0000 (12:48 +0000)]
fix builds with ExtUtils::ParseXS

A recent change to ExtUtils::ParseXS broke builds: add
only when the 'file' var is present.

6 years agoRevert "Since HP cc is strict c89, use -std=c89 with gcc."
Jarkko Hietaniemi [Fri, 21 Nov 2014 12:09:25 +0000 (07:09 -0500)]
Revert "Since HP cc is strict c89, use -std=c89 with gcc."

This reverts commit ff265b04d5aca2feab3937e669b95fe0aefae8cd.

(no way this is going to work with uselargefiles)

Jarkko Hietaniemi [Fri, 21 Nov 2014 11:50:36 +0000 (06:50 -0500)]

6 years agoIncrease other ExtUtils mods’ version to 3.27
Father Chrysostomos [Fri, 21 Nov 2014 08:09:43 +0000 (00:09 -0800)]
Increase other ExtUtils mods’ version to 3.27

6 years agoRemove context param from set_padlist
Father Chrysostomos [Fri, 21 Nov 2014 08:05:00 +0000 (00:05 -0800)]
Remove context param from set_padlist

It doesn’t need it.

6 years agoIncrease $ExtUtils::ParseXS::VERSION to 3.27
Father Chrysostomos [Fri, 21 Nov 2014 08:00:38 +0000 (00:00 -0800)]
Increase $ExtUtils::ParseXS::VERSION to 3.27

6 years agoExtUtils::ParseXS: Suppress unused ‘file’ warning
Father Chrysostomos [Fri, 21 Nov 2014 07:59:59 +0000 (23:59 -0800)]
ExtUtils::ParseXS: Suppress unused ‘file’ warning

Since newXS_deffile was introduced, we don’t always use the file

6 years agoSort perldiag
Father Chrysostomos [Fri, 21 Nov 2014 05:39:55 +0000 (21:39 -0800)]
Sort perldiag

Also change a comma to a semicolon, two independent clauses were
joined with a comma.

6 years agomg.c: _get_encoding needs dVAR
Father Chrysostomos [Fri, 21 Nov 2014 05:22:41 +0000 (21:22 -0800)]
mg.c: _get_encoding needs dVAR

6 years agoIncrease $B::Deparse::VERSION to 1.31
Father Chrysostomos [Fri, 21 Nov 2014 05:20:31 +0000 (21:20 -0800)]
Increase $B::Deparse::VERSION to 1.31

6 years agoIncrease $POSIX::VERSION to 1.47
Father Chrysostomos [Fri, 21 Nov 2014 05:20:04 +0000 (21:20 -0800)]
Increase $POSIX::VERSION to 1.47

6 years agoIncrease $B::VERSION to 1.54
Father Chrysostomos [Fri, 21 Nov 2014 05:19:22 +0000 (21:19 -0800)]
Increase $B::VERSION to 1.54

6 years agoperl5216delta: Move an entry
Father Chrysostomos [Fri, 21 Nov 2014 04:25:02 +0000 (20:25 -0800)]
perl5216delta: Move an entry

This was supposed to have been in Internal Changes to begin with.

6 years agoperldelta for deprecating ${^ENCODING}
Karl Williamson [Thu, 20 Nov 2014 00:02:58 +0000 (17:02 -0700)]
perldelta for deprecating ${^ENCODING}

6 years agoperlvar: More text about ${^ENCODING}; refer by perldiag
Karl Williamson [Wed, 19 Nov 2014 23:49:53 +0000 (16:49 -0700)]
perlvar: More text about ${^ENCODING}; refer by perldiag

6 years agotoke.c: Consistently upgrade under encoding
Karl Williamson [Wed, 19 Nov 2014 05:02:21 +0000 (22:02 -0700)]
toke.c: Consistently upgrade under encoding

The documentation says that intermixing above-Latin1 code points with
ones that would be otherwise encoded to something else, like Greek,
causes the encoding to be foregone.  Until this commit, this only
happened when the above-latin1 code point came first in the string
constant being scanned; meaning string-order was important.  This
changes things to match the documentation

6 years agoDeprecate setting ${^ENCODING}
Dagfinn Ilmari Mannsåker [Mon, 10 Nov 2014 23:54:46 +0000 (23:54 +0000)]
Deprecate setting ${^ENCODING}

The commiter added a no warnings in t/op/leaky-magic.t, and made other
minor changes because of rebasing issues.

6 years agomg.c: White-space only
Karl Williamson [Wed, 19 Nov 2014 00:23:54 +0000 (17:23 -0700)]
mg.c: White-space only

Indent due to new blocks from previous commit

6 years agoMake encoding pragma lexical in scope
Karl Williamson [Wed, 19 Nov 2014 00:03:03 +0000 (17:03 -0700)]
Make encoding pragma lexical in scope

The encoding pragma is deprecated, but in the meantime it causes spooky
action at a distance with other modules that it may be combined with.
In these modules, operations such as chr(), ord(), and utf8::upgrade()
will suddenly start doing the wrong thing.

The documentation for 'encoding' has said to call it after loading other
modules, but this may be impractical.  This is especially bad with
anything that auto-loads at first use, like \N{} does now for charnames.

There is an issue with combining this with setting the variable
${^ENCODING} directly.  The potential for conflicts has always been
there, and remains.  This commit introduces a shadow hidden variable,
subservient to ${^ENCODING} (to preserve backwards compatibility) that
has lexical scope validity.

The pod for 'encoding' has been revamped to be more concise, clear, use
more idiomatic English, and to speak from a modern perspective.

6 years agoMake a function to get PL_encoding's value
Karl Williamson [Fri, 14 Nov 2014 18:18:57 +0000 (11:18 -0700)]
Make a function to get PL_encoding's value

This is in preparation for making the retrieval more complex in future
commits than it is now.  This is going into mg.c because the value is

6 years agoMake testing for PL_encoding into a macro
Karl Williamson [Wed, 12 Nov 2014 05:25:37 +0000 (22:25 -0700)]
Make testing for PL_encoding into a macro

This is in preparation for making the test more complicated.

6 years agolex_assign.t: Make store count test stricter
Father Chrysostomos [Mon, 17 Nov 2014 02:49:29 +0000 (18:49 -0800)]
lex_assign.t: Make store count test stricter

If ‘$foo = some op’ croaks and $foo has not been made read-only, then
it must be becasue ‘some op’ croaked, in which case the assignment
must not have happened.

We can make this test stricter and make sure the assignment doesn’t
happen, to avoid the possibility of buggy ops that write to their
targets before croaking.

6 years agoconcise.t: correct test description to match actual test
Jim Cromie [Tue, 18 Jun 2013 21:46:32 +0000 (15:46 -0600)]
concise.t: correct test description to match actual test

Commit c6036734 changed the subject of an optimized constant function
rendering test to one from the Storable API (ie stable), but missed
the function name repeated in the test description.  Fix that now.

6 years agoMake B use B::COP for nulled COPs
Father Chrysostomos [Fri, 21 Nov 2014 01:57:44 +0000 (17:57 -0800)]
Make B use B::COP for nulled COPs

Former COPs still carry information with them, and to get to it I had
to have B::Deparse rebless the op object into B::COP.

This commit makes B use the right class to begin with.  This happens
to make B::Concise output the extra information that nulled COPs carry
around with them, which was on my to-do list anyway, so I’m happy
about that.

6 years agoRemove extraneous semicolons from Deparse output
Father Chrysostomos [Thu, 20 Nov 2014 22:30:55 +0000 (14:30 -0800)]
Remove extraneous semicolons from Deparse output

Prior to the previous commit, it was emitting extra semicolons for
statements optimised away outside of any subroutine, and extra semi-
colons after sub declarations and the end of the enclosing scope.  The
previous commit made it also emit an extra semicolon at the end of the
main program, if the last thing was a sub declaration.  So I decided
to fix all three at once.

6 years ago[perl #77452] Deparse { ...; BEGIN{} } correctly
Father Chrysostomos [Thu, 20 Nov 2014 17:23:35 +0000 (09:23 -0800)]
[perl #77452] Deparse { ...; BEGIN{} } correctly

8635e3c2 (5.21.6) changed the COP sequence numbers for nested blocks,
such that most BEGIN blocks (incl. ‘use’ statements) and sub declara-
tions end up in the right place.  However, it had the side effect of
causing declarations at the end of the enclosing scope to fall out of
it and appear below.

This commit fixes that by adding an extra nulled COP to the end of the
enclosing scope if that scope ends with a sub, so the final declara-
tion gets deparsed before it.

The frequency of sub declarations at the end of the enclosing scope is
sufficiently low (I’m guessing a bit here) that this slight increase
in run-time memory usage is probably acceptable.

I had to change B::Deparse to deparse nulled COPs the same way it does
live COPs, which means we get more extraneous semicolons than before.
I hope to fix that in a forthcoming commit.  I also ran into a B bug,
in that null ops are not presented to Perl code with the right op
class (see the blessing in the patch).  I plan to fix that in a separ-
ate commit, too.

6 years agoop.h: Note unstack use of OPf_SPECIAL
Father Chrysostomos [Thu, 20 Nov 2014 05:58:08 +0000 (21:58 -0800)]
op.h: Note unstack use of OPf_SPECIAL

6 years Allow multiline prog
Father Chrysostomos [Tue, 18 Nov 2014 02:59:40 +0000 (18:59 -0800)] Allow multiline prog

Split it into multiple -e options for portability.

6 years agoUse in Deparse.t
Father Chrysostomos [Tue, 18 Nov 2014 02:54:04 +0000 (18:54 -0800)]
Use in Deparse.t

I like runperl.  I want runperl.

6 years agoSince HP cc is strict c89, use -std=c89 with gcc.
Jarkko Hietaniemi [Fri, 21 Nov 2014 01:19:27 +0000 (20:19 -0500)]
Since HP cc is strict c89, use -std=c89 with gcc.

Mitigates the downside of 0d55a45a a bit.

6 years agoDrop -std=c89.
Jarkko Hietaniemi [Fri, 21 Nov 2014 01:13:34 +0000 (20:13 -0500)]
Drop -std=c89.

(1) It doesn't mean "strict C89" on its own, -pedantic would also be needed.
(2) Using C99 features like long long or inline becomes harder.

The downside of this change is that C99-isms can more easily
creep into the core code, breaking it for non-gcc C89 compilers.

6 years agotgamma infinity limit for IEEE quad prec.
Jarkko Hietaniemi [Thu, 20 Nov 2014 02:40:55 +0000 (21:40 -0500)]
tgamma infinity limit for IEEE quad prec.

6 years agoUpdate perlhist for v5.21.6
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:56:30 +0000 (00:56 +0000)]
Update perlhist for v5.21.6

6 years agoBump the perl version in various places for 5.21.7
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:53:47 +0000 (00:53 +0000)]
Bump the perl version in various places for 5.21.7

6 years agoNew perldelta for v5.21.7
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:16:56 +0000 (00:16 +0000)]
New perldelta for v5.21.7

6 years agoAdd epigraph for v5.21.6
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:08:28 +0000 (00:08 +0000)]
Add epigraph for v5.21.6

6 years agoFinalise perldelta v5.21.6
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 19:36:36 +0000 (19:36 +0000)]
Finalise perldelta

6 years agoUpdate Module::CoreList for v5.21.6
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 19:10:04 +0000 (19:10 +0000)]
Update Module::CoreList for v5.21.6

6 years agoUpdate CPAN-Meta to CPAN version 2.143240
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 15:55:11 +0000 (15:55 +0000)]
Update CPAN-Meta to CPAN version 2.143240


2.143240  2014-11-20 10:26:30-05:00 America/New_York


  - Give correct path in nested merges such as resources

  - Removed strings test that should have been removed when
    CPAN::Meta::Requirements was removed to a separate dist

6 years agoUpdate CPAN-Meta-Requirements to CPAN version 2.130
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 15:54:02 +0000 (15:54 +0000)]
Update CPAN-Meta-Requirements to CPAN version 2.130


2.130     2014-11-19 23:25:46-05:00 America/New_York


    - from_string_hash can take optional constructor arguments


    - bad_version_hook callback gets module name as well as version string

    - undefined/empty versions given to from_string_hash or
      add_string_requirement now carp and are coerced to "0" instead of
      being fatal.  This is more consistent with how the other requirement
      functions work.

6 years agolocale.c: Account for setlocale using static storage
Karl Williamson [Wed, 19 Nov 2014 04:45:46 +0000 (21:45 -0700)]
locale.c: Account for setlocale using static storage

Some systems setlocale()s use static storage for the locale name
returned by it, so that a subsequent setlocale overwrites it.
Therefore, you must make a copy of the name if you want it to work after
the next setlocale.

Thanks to Craig Berry for finding and diagnosing this problem.

6 years agoperldelta: fix inconsistent variable names
Ricardo Signes [Wed, 19 Nov 2014 02:48:05 +0000 (21:48 -0500)]
perldelta: fix inconsistent variable names

6 years agoEscape EFS for directory portion in tovmsspec.
Craig A. Berry [Wed, 19 Nov 2014 01:03:51 +0000 (19:03 -0600)]
Escape EFS for directory portion in tovmsspec.

For some reason extended characters were only being escaped in
the final component of the path, but not in the directory portion,
the one exception being dots.  We need to give the entire path
the same treatment.  There is probably considerable opportunity
for further consolidation and refactoring in what we escape, but
at least now ../foo  bar/ correctly becomes [^_^_bar].

The reverse case has similar problems and is a TODO.

6 years agoTry making gcc happy about casting U32 to void*.
Jarkko Hietaniemi [Wed, 19 Nov 2014 01:20:54 +0000 (20:20 -0500)]
Try making gcc happy about casting U32 to void*.

util.c: In function ‘I32 Perl_xs_handshake(U32, void*, const char*, ...)’:
util.c:5389:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

6 years agoWhile the nan() todo remains, at least warn not.
Jarkko Hietaniemi [Wed, 19 Nov 2014 00:28:32 +0000 (19:28 -0500)]
While the nan() todo remains, at least warn not.

6 years agoComment reformatting.
Jarkko Hietaniemi [Wed, 19 Nov 2014 00:25:48 +0000 (19:25 -0500)]
Comment reformatting.

6 years agoUse my_tgamma/my_lgamma only ifndef HAS_TGAMMA/HAS_LGAMMA.
Jarkko Hietaniemi [Wed, 19 Nov 2014 00:24:22 +0000 (19:24 -0500)]
Use my_tgamma/my_lgamma only ifndef HAS_TGAMMA/HAS_LGAMMA.

6 years agoperldelta for 754cffb02255
Tony Cook [Tue, 18 Nov 2014 21:51:59 +0000 (08:51 +1100)]
perldelta for 754cffb02255

6 years agofix PERL_OP_PARENT builds
Tony Cook [Tue, 18 Nov 2014 06:11:58 +0000 (17:11 +1100)]
fix PERL_OP_PARENT builds

This was broken in two commits:

b46e009d9 - introduced newMETHOP(), which didn't add the parent link
 as newUNOP() was doing

2872f9187 - updated ck_sort() to handle lexical subs named as a
  bareword parameter to sort, but didn't update the parent link in the
  new PADCV op created.

6 years ago[CPAN RT#100275] Add spaces if needed to CCFLAGS
Chris 'BinGOs' Williams [Tue, 18 Nov 2014 19:17:21 +0000 (19:17 +0000)]
[CPAN RT#100275] Add spaces if needed to CCFLAGS

Patch already upstreamed

6 years agoPATCH: [perl #123198] Memory leak in regex in 5.20.1
Karl Williamson [Tue, 18 Nov 2014 04:49:08 +0000 (21:49 -0700)]
PATCH: [perl #123198] Memory leak in regex in 5.20.1

The SV was declared temporary but the pointer to it was getting changed
to another SV under some circumstances and the reference to that wasn't
getting decremented.  The temporary stemmed from earlier code and was no
longer needed.  Now, an explicit reference decrement is always done.

6 years agoFix parse_abstract so it doesn't explode when Encode isn't available
Chris 'BinGOs' Williams [Tue, 18 Nov 2014 10:34:51 +0000 (10:34 +0000)]
Fix parse_abstract so it doesn't explode when Encode isn't available

Upstreamed to EUMM repository

6 years agoUpdate HTTP-Tiny to CPAN version 0.051
Chris 'BinGOs' Williams [Tue, 18 Nov 2014 09:47:48 +0000 (09:47 +0000)]
Update HTTP-Tiny to CPAN version 0.051


0.051     2014-11-17 22:58:44-05:00 America/New_York


    - Checks for threads without loading

6 years agoRemove redundant EBCDIC lines from Deparse.t
Father Chrysostomos [Mon, 17 Nov 2014 07:15:20 +0000 (23:15 -0800)]
Remove redundant EBCDIC lines from Deparse.t

When these were added to b.t in bd145f00387, the Deparse output still
contained \s, so it made sense to replace something else with \s in
order for the test to match.

In fcd95d642 and fee7e83848 it changed, such that the output no longer
contained \s, so, at least here, the EBCDIC code is doing nothing.

6 years agosvleak.t: Add test for #123198
Father Chrysostomos [Tue, 18 Nov 2014 05:45:20 +0000 (21:45 -0800)]
svleak.t: Add test for #123198

6 years agoPlatform may have only one of lgamma/tgamma.
Jarkko Hietaniemi [Tue, 18 Nov 2014 01:36:22 +0000 (20:36 -0500)]
Platform may have only one of lgamma/tgamma.

6 years agofma() emulation.
Jarkko Hietaniemi [Mon, 17 Nov 2014 23:59:45 +0000 (18:59 -0500)]
fma() emulation.

6 years agoNo C++ comments, please, we are C89ish.
Jarkko Hietaniemi [Mon, 17 Nov 2014 23:50:32 +0000 (18:50 -0500)]
No C++ comments, please, we are C89ish.

6 years agoUpdate Test-Simple to alpha 075
Chad Granum [Mon, 17 Nov 2014 23:36:30 +0000 (15:36 -0800)]
Update Test-Simple to alpha 075

For: RT #123235

6 years agoAdd word missing from docs for 'wait' function.
James E Keenan [Mon, 17 Nov 2014 23:58:09 +0000 (18:58 -0500)]
Add word missing from docs for 'wait' function.

Minor POD-formatting changes.

Add Johann 'Myrkraverk' Oskarsson to Perl AUTHORS.

For: RT #123230

6 years agoUpdate CPAN-Meta-Requirements to CPAN version 2.129
Chris 'BinGOs' Williams [Mon, 17 Nov 2014 16:24:17 +0000 (16:24 +0000)]
Update CPAN-Meta-Requirements to CPAN version 2.129


2.129     2014-11-13 16:28:45-05:00 America/New_York


    - from_string_hash can now accept v-strings as hash values

6 years agoManually revert ‘Remove SvREADONLY_on from op.c:op_const_sv’
Father Chrysostomos [Mon, 17 Nov 2014 02:31:09 +0000 (18:31 -0800)]
Manually revert ‘Remove SvREADONLY_on from op.c:op_const_sv’

This effectively reverts d0a32af375ac806258a97cce0091ce4b3636f8dc.

It was wrong.  And I should know that, too.

I was the one who implemented padtmp swiping and went around turning
on the read-only flag to make it work correctly.

This fails, because the second call to &$sub returns undef, its value
having been stolen by the $y assignment.

use Test::More tests=>1;
my $sub = sub {
    my $x = "x"x2000; sub () {$x};
$y = &$sub;
$z = &$sub;
is $z, $y;

6 years agoFix assert fail with my $x; sub() {$x}
Father Chrysostomos [Mon, 17 Nov 2014 02:23:34 +0000 (18:23 -0800)]
Fix assert fail with my $x; sub() {$x}

If $x is not referenced or used in lvalue context elsewhere, then the
constant sub can actually share the same scalar as the enclosing sub’s
pad.  It doesn’t need to copy.  And we don’t in that case, as of
v5.21.5-421-g04472a8.  But we need to make sure the PADTMP flag is
turned off at scope exit if the pad has the only reference to the sub.
(The PADTMP flag has been turned on as of v5.21.5-391-g5543332.)

6 years agoperldelta for fd2709db56
Father Chrysostomos [Mon, 17 Nov 2014 00:36:46 +0000 (16:36 -0800)]
perldelta for fd2709db56

6 years agoperldelta for d88d1fe0d
Father Chrysostomos [Mon, 17 Nov 2014 00:34:36 +0000 (16:34 -0800)]
perldelta for d88d1fe0d

6 years agoperldelta for ddc3d23f07
Father Chrysostomos [Mon, 17 Nov 2014 00:32:41 +0000 (16:32 -0800)]
perldelta for ddc3d23f07

6 years agoperldelta for 659fbb76ee
Father Chrysostomos [Mon, 17 Nov 2014 00:31:03 +0000 (16:31 -0800)]
perldelta for 659fbb76ee

6 years agoperldelta for fbc76eb33c6
Father Chrysostomos [Mon, 17 Nov 2014 00:30:27 +0000 (16:30 -0800)]
perldelta for fbc76eb33c6

6 years agoperldelta for c74d82e0fe
Father Chrysostomos [Mon, 17 Nov 2014 00:28:52 +0000 (16:28 -0800)]
perldelta for c74d82e0fe

6 years agoperldelta: missing paren
Father Chrysostomos [Mon, 17 Nov 2014 00:06:16 +0000 (16:06 -0800)]
perldelta: missing paren

6 years agoperldelta for 8915ba3d0
Father Chrysostomos [Sun, 16 Nov 2014 22:53:35 +0000 (14:53 -0800)]
perldelta for 8915ba3d0

6 years agoperldelta for dc1230de
Father Chrysostomos [Sun, 16 Nov 2014 22:52:06 +0000 (14:52 -0800)]
perldelta for dc1230de

6 years agoperldelta for referencing outer stale vars
Father Chrysostomos [Sun, 16 Nov 2014 22:50:25 +0000 (14:50 -0800)]
perldelta for referencing outer stale vars

e52eb89 Avoid reifying GVs in rv2cv
c5e6a3c Test reference to unavailable lexical variable

6 years agoperldelta for 5a8cd187c67
Father Chrysostomos [Sun, 16 Nov 2014 22:46:06 +0000 (14:46 -0800)]
perldelta for 5a8cd187c67

6 years agoperldelta for bae8cfc69
Father Chrysostomos [Sun, 16 Nov 2014 22:43:01 +0000 (14:43 -0800)]
perldelta for bae8cfc69

6 years agoperldelta for 6a8b6cf09
Father Chrysostomos [Sun, 16 Nov 2014 22:41:19 +0000 (14:41 -0800)]
perldelta for 6a8b6cf09