This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
7 years agot/loc_tools.pl: Comments only
Karl Williamson [Thu, 16 Apr 2015 16:18:09 +0000 (10:18 -0600)]
t/loc_tools.pl: Comments only

The next commit will make this file publicly known.  Add comments that
some functions are internal only.

7 years agofix some minor compiler warnings
David Mitchell [Sat, 18 Apr 2015 17:47:14 +0000 (18:47 +0100)]
fix some minor compiler warnings

S_deb_curcv's first param differed in constness between declaration and
definition.

GIMME_V can return an I32, so don't assign it to a U8.

7 years agoSmall typographical corrections to documentation.
SHIRAKATA Kentaro [Sat, 18 Apr 2015 17:46:39 +0000 (13:46 -0400)]
Small typographical corrections to documentation.

Commit modifies 4 of 5 files in patch submitted by author in RT #124335.

7 years agodo not index the modules under lib/perl5db
Ricardo Signes [Sat, 18 Apr 2015 13:33:41 +0000 (15:33 +0200)]
do not index the modules under lib/perl5db

These are there for testing, and there is nothing to index
under lib/perl5db anyway.  This has, in the past, led to junk
in 02packages.

I think this is probably not the perfect way to do this, but
it works and also does not seem like the worst way...

7 years agoupdates to perlbook.pod
Herbert Breunung [Fri, 17 Apr 2015 11:57:58 +0000 (13:57 +0200)]
updates to perlbook.pod

7 years agoGrammatical correction in inline comment.
James E Keenan [Fri, 17 Apr 2015 10:54:27 +0000 (06:54 -0400)]
Grammatical correction in inline comment.

7 years agofix t/uni/parser.t test
David Mitchell [Fri, 17 Apr 2015 10:39:12 +0000 (11:39 +0100)]
fix t/uni/parser.t test

The test I recently added expected a specific set of error strings to
be output when running a small expected-fail program. One of those strings
was 'Wide character in print', which doesn't appear if the test is
run under PERL_UNICODE="".

So replace the expected string with a regex.

7 years agocorelist: use || not // to run on older perls
Ricardo Signes [Thu, 16 Apr 2015 20:38:01 +0000 (22:38 +0200)]
corelist: use || not // to run on older perls

7 years agoUpdate Config::Perl::V to version 0.24
H.Merijn Brand [Thu, 16 Apr 2015 14:27:12 +0000 (16:27 +0200)]
Update Config::Perl::V to version 0.24

Added USE_QUADMATH to signature

7 years agoperldelta for 41ef2c66e0da, 902d16915db2
Tony Cook [Thu, 16 Apr 2015 00:24:24 +0000 (10:24 +1000)]
perldelta for 41ef2c66e0da902d16915db2

7 years agobump perl5db.pl's $VERSION
Tony Cook [Wed, 15 Apr 2015 23:51:03 +0000 (09:51 +1000)]
bump perl5db.pl's $VERSION

7 years agoJames McCoy is now a perl AUTHOR
Tony Cook [Wed, 15 Apr 2015 23:50:48 +0000 (09:50 +1000)]
James McCoy is now a perl AUTHOR

7 years agolib/perl5db.pl: Restore noop lock prototype
James McCoy [Fri, 20 Mar 2015 02:55:18 +0000 (22:55 -0400)]
lib/perl5db.pl: Restore noop lock prototype

cde405a6b9b86bd8110f63531b42d89590a4c56e removed the lock prototype
"because it's already a do-nothing weak keyword without threads".
However, that causes "perl -d threaded-script.pl" to complain

    lock can only be used on shared values at /usr/share/perl/5.20/perl5db.pl line 4101.
    BEGIN failed--compilation aborted at threaded-script.pl line 2.
    lock can only be used on shared values at /usr/share/perl/5.20/perl5db.pl line 2514.
    END failed--call queue aborted at threaded-script.pl line 2.
    Unbalanced scopes: 3 more ENTERs than LEAVEs

because threaded-script.pl's importing of threads::shared enable's
lock()'s non-noop behavior.  Restoring the lock() prototype fixes the
inconsistency between lock() and share() usage.

Signed-off-by: James McCoy <vega.james@gmail.com>
7 years ago[perl #124127] fix cloning arrays with unused elements
Tony Cook [Tue, 14 Apr 2015 05:59:03 +0000 (15:59 +1000)]
[perl #124127] fix cloning arrays with unused elements

ce0d59fd changed arrays to use NULL instead of &PL_sv_undef for
unused elements, unfortunately it missed updating sv_dup_common()'s
initialization of unused elements, leaving them as &PL_sv_undef.

This resulted in modification of read only value errors at runtime.

7 years agocorelist: bump test count
Ricardo Signes [Wed, 15 Apr 2015 16:41:10 +0000 (18:41 +0200)]
corelist: bump test count

7 years agocope with versions that do not match x.yyyzzz in corelist
Ricardo Signes [Wed, 15 Apr 2015 16:40:36 +0000 (18:40 +0200)]
cope with versions that do not match x.yyyzzz in corelist

Without this, we might be asked about 5.020 but be unable to climb
the delta tree because there is no delta entry for 5.020, only for
5.020.

This is a poor solution for now, because (for example) some versions
are not stored in x.yyyzzz format.  One is eveni n x.yyyzz!  We
should store things in a normalized format, and normalize arguments
on input.

For now, this will do.

7 years agofix fencepost error in Module::CoreList is_core
Ricardo Signes [Wed, 15 Apr 2015 16:24:10 +0000 (18:24 +0200)]
fix fencepost error in Module::CoreList is_core

7 years agoassertion failure on interpolated parse err
David Mitchell [Wed, 15 Apr 2015 07:47:18 +0000 (08:47 +0100)]
assertion failure on interpolated parse err

RT# 124216

When paring the interpolated string "$X", where X is a unicode char that
is not a legal variable name, failure to restore things properly during
error recovery led to corrupted state and assertion failures.

In more detail:

When parsing a double-quoted string, S_sublex_push() saves most of the
current parser state. On parse error, the save stack is popped back,
which restores all that state. However, PL_lex_defer wasn't being saved,
so if we were in the middle of handling a forced token, PL_lex_state gets
restored from PL_lex_defer, and suddenly the lexer thinks we're back
inside an interpolated string again. So S_sublex_done() gets called
multiple times, too many scopes are popped, and things like PL_compcv are
freed prematurely.

Note that in order to reproduce:

* we must be within a double quoted context;
* we must be parsing a var  (which causes a forced token);
* the variable name must be illegal, which implies unicode, as
  chr(0..255) are all legal names;
* the terminating string quote must be the last char of the input
  file, as this code:

    case LEX_INTERPSTART:
if (PL_bufptr == PL_bufend)
    return REPORT(sublex_done());

  won't trigger an extra call to sublex_done() otherwise.

I'm sure this bug affects other cases too, but this was the only way I
found to reproduce.

7 years agoperlport: Various nits
Karl Williamson [Fri, 10 Apr 2015 02:39:39 +0000 (20:39 -0600)]
perlport: Various nits

7 years agoperldelta for 070e2677bff6
Tony Cook [Fri, 10 Apr 2015 00:33:16 +0000 (10:33 +1000)]
perldelta for 070e2677bff6

7 years ago[perl #123971] fix long double pack padding on newer GCC
Tony Cook [Thu, 9 Apr 2015 05:45:16 +0000 (15:45 +1000)]
[perl #123971] fix long double pack padding on newer GCC

7 years agoRegen podcheck db
Karl Williamson [Thu, 9 Apr 2015 18:51:52 +0000 (12:51 -0600)]
Regen podcheck db

Commit 9e86103257aa44e18c24957134bcddc6d4158581 made a change that
podcheck thinks might be a problem (but it really isn't), so has to be
silenced.  The whining happened only in pedantic mode

7 years agoFix regression in 5.21: /[A-Z]/ai
Karl Williamson [Thu, 9 Apr 2015 18:01:37 +0000 (12:01 -0600)]
Fix regression in 5.21: /[A-Z]/ai

/[A-Z]/ai should match KELVIN SIGN, as it folds to a 'k'.  It should not
match under /aai, as that restricts fold matching.  But I tested for the
wrong symbol which ended up forbidding both /ai and /aai.

This commit changes to the correct symbol.  I also reordered the 'if'
while I was at it as a nano optimisation, to test for the /aa last, as
that is the less common part of the '&&' test.

7 years agoFix/simplify VMS-specific info in perlport.
Craig A. Berry [Thu, 9 Apr 2015 16:01:59 +0000 (11:01 -0500)]
Fix/simplify VMS-specific info in perlport.

It turns out that accumulating hastily-written patches for 20+
years does not make for the greatest reading experience, not to
mention the promises still being made that hadn't been true for
a long time, and the verbose explanations of things people really
don't need to worry about when running recent versions of Perl
on VMS versions released in the last 10 or 15 years.

Thanks to kwh for pointing out one of the more incoherent sentences,
which prompted me to take a closer look.

7 years agoskip t/op/dump.t under Address Sanitizer
David Mitchell [Thu, 9 Apr 2015 14:23:42 +0000 (15:23 +0100)]
skip t/op/dump.t under Address Sanitizer

On my Fedora 20 system, when a process built with "clang
-fsanitize=address" coredumps, some clever root process called
abrt-install-ccpp-hook spends hours reading in zillions of zero bytes from
stdin. I guess this is due to ASan storing instrumentation data at very high
addresses, so the memory image of the dumping process consists of
terrabytes of intervening zeroes.

Whether the abrt system is doing doing something useful or is merely
buggy, the net effect is that t/op/dump.t (which purposely does a
coredump) causes the entire test harness to hang.

This commit just makes t/op/dump.c skip tests if -fsanitize is in
$Config{ccflags}.

7 years agokeep FOO read-only in 'FOO'->f()
David Mitchell [Thu, 9 Apr 2015 09:50:51 +0000 (10:50 +0100)]
keep FOO read-only in 'FOO'->f()

RT #123619

The new method code (d648ffcb179) was replacing the const SV attached to
the const op with a shared-string version, but was failing to make the new
SV read-only.

7 years agoRevert "pp_helem: Remove branch seemingly untaken (v2)"
Steffen Mueller [Wed, 8 Apr 2015 20:31:41 +0000 (22:31 +0200)]
Revert "pp_helem: Remove branch seemingly untaken (v2)"

This reverts commit d9dc8e0c5019810bfa3840ecadb302a2f01e01ae because it
breaks autovivification.pm. Vincent writes in a mail to p5p:

  > This is a friendly notification that this change, while
  > being correct as far as I can tell, has broken
  > autovivification.pm (the CPAN module) quite heavily.
  [...]
  > fixing the module to make it work with blead will probably
  > require a complete rewrite

So clearly, this change isn't worth having.

7 years agoFix SET_NUMERIC_STANDARD, _UNDERLYING spelling
Karl Williamson [Mon, 30 Mar 2015 22:42:28 +0000 (16:42 -0600)]
Fix SET_NUMERIC_STANDARD, _UNDERLYING spelling

7 years agoperldelta for c0388966161b, bd8b97a1c641
Tony Cook [Tue, 7 Apr 2015 00:50:40 +0000 (10:50 +1000)]
perldelta for c0388966161bbd8b97a1c641

7 years agofix dmake test for gcc
Tony Cook [Wed, 1 Apr 2015 05:40:33 +0000 (16:40 +1100)]
fix dmake test for gcc

a752046a added TESTPREPGCC to allow VC++ builds to succeed, but
unfortunately defined TESTPREPGCC after use, which meant the
test-prep-gcc target wasn't being treated as a dependency.

Define TESTPREPGCC earlier.

7 years agoutfebcdic.h: Remove comments
Karl Williamson [Mon, 6 Apr 2015 15:23:58 +0000 (09:23 -0600)]
utfebcdic.h: Remove comments

One is false, and one is addressed now in the perlebcdic.pod

7 years agofix #123976 Win32 GCC miniperl needs -fno-strict-aliasing
Daniel Dragan [Mon, 6 Apr 2015 01:39:14 +0000 (21:39 -0400)]
fix #123976 Win32 GCC miniperl needs -fno-strict-aliasing

just like full perl uses -fno-strict-aliasing

7 years agoRegen podcheck db
Karl Williamson [Sun, 5 Apr 2015 02:48:54 +0000 (20:48 -0600)]
Regen podcheck db

Commit a81f7519ba607e6fb9838391ed0be7603c01ca2b fixed a problem
in perlvms.

7 years agoperlpodspec: Nit
Karl Williamson [Sun, 5 Apr 2015 02:48:27 +0000 (20:48 -0600)]
perlpodspec: Nit

7 years agoSome updates for perlvms.pod.
Craig A. Berry [Sat, 4 Apr 2015 23:00:14 +0000 (18:00 -0500)]
Some updates for perlvms.pod.

Remove some woefully out-of-date and/or incorrect material and fix
a few other nits.

7 years agoperlpodspec: Finish EBCDIC updates
Karl Williamson [Sat, 4 Apr 2015 17:58:25 +0000 (11:58 -0600)]
perlpodspec: Finish EBCDIC updates

This is a follow up to bd940430ebc41b7b346cc761cc46be9674f34111

7 years agoperlpodspec: Nits
Karl Williamson [Sat, 4 Apr 2015 17:57:34 +0000 (11:57 -0600)]
perlpodspec: Nits

Some of these weren't displaying correctly.

7 years agoperlebcdic: Clarifications, update
Karl Williamson [Fri, 3 Apr 2015 17:48:48 +0000 (11:48 -0600)]
perlebcdic: Clarifications, update

7 years agoperllocale: Update for EBCDIC
Karl Williamson [Fri, 3 Apr 2015 17:46:59 +0000 (11:46 -0600)]
perllocale: Update for EBCDIC

7 years agoperllocale: Nit
Karl Williamson [Fri, 3 Apr 2015 17:46:31 +0000 (11:46 -0600)]
perllocale: Nit

8 years agotoke.c: UTF-8 aware warning cleanups
Alex Vandiver [Tue, 31 Mar 2015 07:46:41 +0000 (03:46 -0400)]
toke.c: UTF-8 aware warning cleanups

8 years agopod/perluniintro: Update for EBCDIC and newer Unicode handling
Karl Williamson [Tue, 31 Mar 2015 03:28:33 +0000 (21:28 -0600)]
pod/perluniintro: Update for EBCDIC and newer Unicode handling

This commit revises this document to account for the new 5.22 EBCDIC
handling.  It updates the advice for how to make sure your strings and
regular expression patterns are interpreted as Unicode to prefer \N{}
and charnames().  These automatically are portable to EBCDIC as well as
guaranteeing that the Unicode bug will not bite you.

8 years agopod/perluniintro: Nits
Karl Williamson [Tue, 31 Mar 2015 03:26:39 +0000 (21:26 -0600)]
pod/perluniintro: Nits

8 years agoop.c: avoid direct op_sibling access
David Mitchell [Mon, 30 Mar 2015 14:53:07 +0000 (15:53 +0100)]
op.c: avoid direct op_sibling access

Since the introduction of OpSIBLING(), op_sibling_splice() etc, a few
places in op.c have started directly accessing/manipulating op_sibling
again. Use the higher-level macros/functions instead.

8 years agoPerl_save_re_context(): re-indent after last commit
David Mitchell [Wed, 25 Mar 2015 17:11:40 +0000 (17:11 +0000)]
Perl_save_re_context(): re-indent after last commit

whitespace-only change.

8 years agosave_re_context(): do "local $n" with no PL_curpm
David Mitchell [Wed, 25 Mar 2015 16:59:04 +0000 (16:59 +0000)]
save_re_context(): do "local $n" with no PL_curpm

RT #124109.

2c1f00b9036 localised PL_curpm to NULL when calling swash init code
(i.e. perl-level code that is loaded and executed when something
like "lc $large_codepoint" is executed).

b4fa55d3f1 followed this up by gutting Perl_save_re_context(), since
that function did, basically,

    if (PL_curpm) {
        for (i = 1; i <= RX_NPARENS(PM_GETRE(PL_curpm))) {
            do the C equivalent of the perl code "local ${i}";
        }
    }

and now that PL_curpm was null, the code wasn't called any more.  However,
it turns out that the localisation *was* still needed, it's just that
nothing in the test suite actually tested for it.

In something like the following:

    $x = "\x{41c}";
    $x =~ /(.*)/;
    $s = lc $1;

pp_lc() calls get magic on $1, which sets $1's PV value to a copy of the
substring captured by the current pattern match.
Then pp_lc() calls a function to convert the string to upper case, which
triggers a swash load, which calls perl code that does a pattern match
and, most importantly, uses the value of $1. This triggers get magic on
$1, which overwrites $1's PV value with a new value. When control returns
to pp_lc(), $1 now holds the wrong string value.

Hence $1, $2 etc need localising as well as PL_curpm.

The old way that Perl_save_re_context() used to work (localising
$1..${RX_NPARENS}) won't work directly when PL_curpm is NULL (as in the
swash case), since we don't know how many vars to localise.

In this case, hard-code it as localising $1,$2,$3 and add a porting
test file that checks that the utf8.pm code and dependences don't
use anything outside those 3 vars.

8 years agoRevert "Gut Perl_save_re_context"
David Mitchell [Wed, 25 Mar 2015 16:21:31 +0000 (16:21 +0000)]
Revert "Gut Perl_save_re_context"

This reverts commit b4fa55d3f12c6d98b13a8b3db4f8d921c8e56edc.

Turns out we need Perl_save_re_context() after all

8 years agoRevert "Don’t call save_re_context"
David Mitchell [Thu, 19 Mar 2015 20:35:57 +0000 (20:35 +0000)]
Revert "Don’t call save_re_context"

This reverts commit d28a9254e445aee7212523d9a7ff62ae0a743fec.

Turns out we need save_re_context() after all

8 years agoRevert "Mathomise save_re_context"
David Mitchell [Thu, 19 Mar 2015 20:30:04 +0000 (20:30 +0000)]
Revert "Mathomise save_re_context"

This reverts commit 0ddd4a5b1910c8bfa9b7e55eb0db60a115fe368c.

Turns out we need the save_re_context() function after all.

8 years agoRemove 'use lib' left over from refactoring -- five years ago!
James E Keenan [Sun, 22 Mar 2015 22:23:41 +0000 (18:23 -0400)]
Remove 'use lib' left over from refactoring -- five years ago!

Per report by kentnl++ in RT #124151.

Increment $VERSION across dist/ExtUtils-ParseXS/lib.  Add perldelta entry.

8 years agoNo need to list FindExt in perldelta - it isn't an installed module
Steve Hay [Mon, 30 Mar 2015 07:38:07 +0000 (08:38 +0100)]
No need to list FindExt in perldelta - it isn't an installed module

8 years agoSort list of upgraded modules in perldelta
Steve Hay [Mon, 30 Mar 2015 07:35:36 +0000 (08:35 +0100)]
Sort list of upgraded modules in perldelta

8 years agoperldelta for previous commit
Steve Hay [Mon, 30 Mar 2015 07:34:26 +0000 (08:34 +0100)]
perldelta for previous commit

8 years agoUpgrade IO-Socket-IP from version 0.36 to 0.37
Steve Hay [Thu, 26 Mar 2015 08:26:27 +0000 (08:26 +0000)]
Upgrade IO-Socket-IP from version 0.36 to 0.37

8 years agoperlrecharclass: Fix typo
Karl Williamson [Mon, 30 Mar 2015 03:23:54 +0000 (21:23 -0600)]
perlrecharclass: Fix typo

8 years agoperlrebackslash: Nit
Karl Williamson [Mon, 30 Mar 2015 03:23:14 +0000 (21:23 -0600)]
perlrebackslash: Nit

8 years agoReword reference to $ENV{PERL_UNICODE} in utf8
Randy Stauner [Sat, 28 Mar 2015 17:42:17 +0000 (10:42 -0700)]
Reword reference to $ENV{PERL_UNICODE} in utf8

"The $ENV{...}," doesn't read well;
Spell it out for consistency with perlrun.

Committer: Increment $VERSION and add entry to perldelta.

8 years agoperlhacktips: Add caution about clib ptr returns to static memory
Karl Williamson [Sun, 29 Mar 2015 02:54:49 +0000 (20:54 -0600)]
perlhacktips: Add caution about clib ptr returns to static memory

8 years agoDon't raise Wide char warning in UTF-8 locale
Karl Williamson [Sat, 28 Mar 2015 04:18:01 +0000 (22:18 -0600)]
Don't raise Wide char warning in UTF-8 locale

This belongs in the category of "I can't believe I did that."  Commit
613abc6d16e99bd9834fe6afd79beb61a3a4734d introduced warning messages
when a multi-byte character is operated on in a single byte locale.  But
the two macros introduced fail to suppress said messages when in a
multi-byte locale where the operation is perfectly valid.

This partially solves v5.22 blocker [perl #123527].  But it could still
fail if the test files are called from within a non-UTF-8 locale.  I
will issue a pull request for fixing that.

8 years ago[perl #124153] Fix require(v5.6)
Father Chrysostomos [Fri, 27 Mar 2015 20:30:29 +0000 (13:30 -0700)]
[perl #124153] Fix require(v5.6)

For some reason the argument to require v5.6 has the NOK flag on,
but the parenthesized version lacks that flag, so the code added in
v5.21.3-504-ged6f447 to precompute the hash was wrong, and caused
require(v5.6) to lose its vstringness.

8 years agoFix "...without parentheses is ambuguous" warning for UTF-8 function names
Alex Vandiver [Mon, 23 Mar 2015 03:08:24 +0000 (23:08 -0400)]
Fix "...without parentheses is ambuguous" warning for UTF-8 function names

While isWORDCHAR_lazy_if is UTF-8 aware, checking advanced byte-by-byte.
This lead to errors of the form:

   Passing malformed UTF-8 to "XPosixWord" is deprecated
   Malformed UTF-8 character (unexpected continuation byte 0x9d, with
     no preceding start byte)
   Warning: Use of "�" without parentheses is ambiguous

Use UTF8SKIP to advance character-by-character, not byte-by-byte.

8 years agoAllow unquoted UTF-8 HERE-document terminators
Alex Vandiver [Mon, 23 Mar 2015 02:45:54 +0000 (22:45 -0400)]
Allow unquoted UTF-8 HERE-document terminators

When not explicitly quoted, tokenization of the HERE-document terminator
dealt improperly with multi-byte characters, advancing one byte at a
time instead of one character at a time.  This lead to
incomprehensible-to-the-user errors of the form:

    Passing malformed UTF-8 to "XPosixWord" is deprecated
    Malformed UTF-8 character (unexpected continuation byte 0xa7, with
      no preceding start byte)
    Can't find string terminator "EnFra�" anywhere before EOF

If enclosed in single or double quotes, parsing was correctly effected,
as delimcpy advances byte-by-byte, but looks only for the single-byte
ending character.

When doing a \w+ match looking for the end of the word, advance
character-by-character instead of byte-by-byte, ensuring that the size
does not extend past the available size in PL_tokenbuf.

8 years ago[perl #124113] Make check for multi-dimensional arrays be UTF8-aware
Alex Vandiver [Mon, 23 Mar 2015 02:39:23 +0000 (22:39 -0400)]
[perl #124113] Make check for multi-dimensional arrays be UTF8-aware

During parsing, toke.c checks if the user is attempting provide multiple
indexes to an array index:

    $a[ $foo, $bar ];

However, while checking for word characters in variable names is aware
of multi-byte characters if "use utf8" is enabled, the loop is only
advanced one byte at a time, not one character at a time.  As such,
multibyte variables in array indexes incorrectly yield warnings:

    Passing malformed UTF-8 to "XPosixWord" is deprecated
    Malformed UTF-8 character (unexpected continuation byte 0x9d, with
      no preceding start byte)

Switch the loop to advance character-by-character if UTF-8 semantics are
in use.

8 years ago[perl #124099] Wrong CvOUTSIDE in find_lexical_cv
Father Chrysostomos [Fri, 27 Mar 2015 19:39:54 +0000 (12:39 -0700)]
[perl #124099] Wrong CvOUTSIDE in find_lexical_cv

Instead of following the chain of CvOUTSIDE pointers, I had it always
looking at the CvOUTSIDE pointer of the current PL_compcv.  So any
time it had to dig down more than one level, it had a chance of crash-
ing or looping.

8 years agoStop $^H |= 0x1c020000 from enabling all features
Father Chrysostomos [Fri, 27 Mar 2015 16:23:41 +0000 (09:23 -0700)]
Stop $^H |= 0x1c020000 from enabling all features

That set of bits sets the feature bundle to ‘custom’, which means that
the features are set by %^H, and also indicates that %^H has been did-
dled with, so it’s worth looking at.

In the specific case where %^H is untouched and there is no corres-
ponding cop hint hash behind the scenes, Perl_feature_is_enabled (in
toke.c) ends up returning TRUE.

Commit v5.15.6-55-g94250ae sped up feature checking by allowing
refcounted_he_fetch to return a boolean when checking for existence,
instead of converting the value to a scalar, whose contents we are not
even going to use.

This was when the bug started happening.  I did not update the code
path in refcounted_he_fetch that handles the absence of a hint hash.
So it was returning &PL_sv_placeholder instead of NULL; TRUE instead
of FALSE.

This did not cause problems for most code, but with the introduction
of the new bitwise ops in v5.21.8-150-g8823cb8, it started causing
uni::perl to fail, because they were implicitly enabled, making ^ a
numeric op, when it was being used as a string op.

8 years agoif.pm: Note that works with 'no' besides 'use' if-0.0604
Karl Williamson [Fri, 27 Mar 2015 03:33:04 +0000 (21:33 -0600)]
if.pm: Note that works with 'no' besides 'use'

8 years ago[perl #123790] Disable targlex for some ops
Father Chrysostomos [Thu, 26 Mar 2015 19:44:57 +0000 (12:44 -0700)]
[perl #123790] Disable targlex for some ops

The targlex optimisation (which makes the op write directly to the
lexical in $lexical = some op, skipping the assignment) does not take
typeglob assignment into account.  Since this optimisation has been
enabled for some ops in 5.21.x, we actually have a regression.  So
this commit disables the optimisation once more for ops that did not
have it on in 5.20.  This is a temporary fix, until we find a better
overall fix.  Other ops that still have the optimisation are buggy,
but no more buggy than in 5.20.

8 years agoconcat2.t: Mention where concat.t is
Father Chrysostomos [Thu, 26 Mar 2015 15:48:57 +0000 (08:48 -0700)]
concat2.t: Mention where concat.t is

When this comment was written, they were both in the same folder, but
concat.t has since moved.

8 years agoUpdate supported versions in perlpolicy.pod
Matthew Horsfall (alh) [Thu, 26 Mar 2015 20:55:11 +0000 (16:55 -0400)]
Update supported versions in perlpolicy.pod

8 years ago[perl #124160] Disable targlex for state var init
Father Chrysostomos [Thu, 26 Mar 2015 05:55:20 +0000 (22:55 -0700)]
[perl #124160] Disable targlex for state var init

The targlex optimisation optimises away an assignment to a lexical
variable, having the operator on the rhs write directly to the lexi-
cal itself.  This optimisation has a bug in it (#101640) that causes
$lex = "a $b c" to stringify the result, instead of allowing con-
cat overloding to return something other than a string.  I extended
the optimisation to occur with state variable initialization, in
v5.21.5-366-ga1b22ab, not realising it would make an existing bug
occur more often.  For now, just disable the new optimisation.

8 years ago[perl #123790] Assert fail with *x=<y>
Father Chrysostomos [Wed, 25 Mar 2015 17:33:44 +0000 (10:33 -0700)]
[perl #123790] Assert fail with *x=<y>

When assigning undef to its target, readline needs to take into
account that it might be a typeglob.  sv_setsv knows how handle this,
but SvOK_off is simply wrong.

This fixes this particular crash, but other issues in the ticket are
as yet unresolved.

8 years agoAdd B::Generate to perl5220delta
Father Chrysostomos [Wed, 25 Mar 2015 21:15:05 +0000 (14:15 -0700)]
Add B::Generate to perl5220delta

so I can close #123718.

8 years agoperlfunc: mention that study() is currently a noop
David Mitchell [Wed, 25 Mar 2015 16:04:58 +0000 (16:04 +0000)]
perlfunc: mention that study() is currently a noop

8 years agoIncrease $XS::APItest::VERSION to 0.72
Father Chrysostomos [Wed, 25 Mar 2015 05:10:20 +0000 (22:10 -0700)]
Increase $XS::APItest::VERSION to 0.72

8 years agogv_const_sv() handle subrefs directly in the stash
Tony Cook [Mon, 2 Mar 2015 04:59:32 +0000 (15:59 +1100)]
gv_const_sv() handle subrefs directly in the stash

With 2eaf799e sub declarations can store sub references directly in
the stash, but gv_const_sv(), which might be passed an entry from
the stash didn't handle that case.

8 years agoregen pod issues
Father Chrysostomos [Wed, 25 Mar 2015 05:03:15 +0000 (22:03 -0700)]
regen pod issues

8 years ago[perl #122322] Update OOK example in perlguts
Father Chrysostomos [Wed, 25 Mar 2015 05:02:11 +0000 (22:02 -0700)]
[perl #122322] Update OOK example in perlguts

It was not just the COW changes that needed to be accounted for, but
also the change in the storage of the offset.  The latter changed hap-
pened in 5.12, I think.

8 years agofix signed/unsigned mismatch in (M)EXTEND
Hugo van der Sanden [Tue, 24 Mar 2015 07:29:55 +0000 (07:29 +0000)]
fix signed/unsigned mismatch in (M)EXTEND

A large enough allocation request could wrap, causing MEXTEND to decide
the stack was already big enough.

8 years agoDeparse.t: test <<>>
Father Chrysostomos [Wed, 25 Mar 2015 00:57:14 +0000 (17:57 -0700)]
Deparse.t: test <<>>

8 years agoBump Deparse's $VERSION following commit 65ef2c3e7d945498.
Nicholas Clark [Tue, 24 Mar 2015 19:59:04 +0000 (20:59 +0100)]
Bump Deparse's $VERSION following commit 65ef2c3e7d945498.

8 years agoCorrectly deparse <<>>
Rafael Garcia-Suarez [Tue, 24 Mar 2015 14:40:27 +0000 (15:40 +0100)]
Correctly deparse <<>>

8 years agodiscourage use warnings FATAL => 'all'
David Golden [Mon, 23 Mar 2015 15:51:09 +0000 (11:51 -0400)]
discourage use warnings FATAL => 'all'

After additional discussions on perl5-porters and #p5p, no one seems to
be violently objecting to the idea that FATAL warnings need a much
stronger warning about risks and that FATAL => 'all' should actually be
'discouraged' in the official, perlpolicy sense.

The text of this commit has been posted to perl5-porters for discussion
and approved by those who objected to earlier language.

I dare not call it "consensus" for fear of the consequences, but no one
has raised further obstacles to making this change.

8 years agoReplace common Emacs file-local variables with dir-locals
Dagfinn Ilmari Mannsåker [Wed, 18 Mar 2015 00:37:04 +0000 (01:37 +0100)]
Replace common Emacs file-local variables with dir-locals

An empty cpan/.dir-locals.el stops Emacs using the core defaults for
code imported from CPAN.

Committer's work:

To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed
to be incremented in many files, including throughout dist/PathTools.

perldelta entry for module updates.

Add two Emacs control files to MANIFEST; re-sort MANIFEST.

For: RT #124119.

8 years agoPrepare Module::CoreList for 5.21.11 (if that happens)
Steve Hay [Fri, 20 Mar 2015 19:50:24 +0000 (19:50 +0000)]
Prepare Module::CoreList for 5.21.11 (if that happens)

8 years agoModule-CoreList version 5.20150320 is now on CPAN
Steve Hay [Fri, 20 Mar 2015 19:30:03 +0000 (19:30 +0000)]
Module-CoreList version 5.20150320 is now on CPAN

8 years agoBump version for 5.21.11 (if that happens)
Steve Hay [Fri, 20 Mar 2015 19:26:50 +0000 (19:26 +0000)]
Bump version for 5.21.11 (if that happens)

8 years agoCreate new perldelta for 5.21.11 (if that happens)
Steve Hay [Fri, 20 Mar 2015 19:15:54 +0000 (19:15 +0000)]
Create new perldelta for 5.21.11 (if that happens)

8 years agoTick off the 5.21.10 release
Steve Hay [Fri, 20 Mar 2015 19:14:28 +0000 (19:14 +0000)]
Tick off the 5.21.10 release

8 years agoAdd 5.21.10 epigraph
Steve Hay [Fri, 20 Mar 2015 19:14:11 +0000 (19:14 +0000)]
Add 5.21.10 epigraph

8 years agoAdd 5.21.10 to perlhist v5.21.10
Steve Hay [Fri, 20 Mar 2015 16:16:07 +0000 (16:16 +0000)]
Add 5.21.10 to perlhist

8 years agoFinalize perldelta
Steve Hay [Fri, 20 Mar 2015 16:15:55 +0000 (16:15 +0000)]
Finalize perldelta

8 years agoUpdate Module-CoreList for 5.21.10
Steve Hay [Fri, 20 Mar 2015 16:04:39 +0000 (16:04 +0000)]
Update Module-CoreList for 5.21.10

8 years agoDevel::PPPort has been upgraded from version 3.28 to 3.31
Steve Hay [Fri, 20 Mar 2015 15:33:53 +0000 (15:33 +0000)]
Devel::PPPort has been upgraded from version 3.28 to 3.31

8 years agoperldelta - Copy-editing, and wrap lines to 79 columns
Steve Hay [Fri, 20 Mar 2015 15:26:56 +0000 (15:26 +0000)]
perldelta - Copy-editing, and wrap lines to 79 columns

8 years agoperldelta - Remove boilerplate sections
Steve Hay [Fri, 20 Mar 2015 15:13:01 +0000 (15:13 +0000)]
perldelta - Remove boilerplate sections

8 years agoperldelta: Fix typo
Karl Williamson [Fri, 20 Mar 2015 15:00:55 +0000 (09:00 -0600)]
perldelta: Fix typo

8 years agoperldelta - Document remaining changes/module upgrades and fill in RT links
Steve Hay [Fri, 20 Mar 2015 14:23:20 +0000 (14:23 +0000)]
perldelta - Document remaining changes/module upgrades and fill in RT links

8 years agoUnicode::Collate has been upgraded from version 1.11 to 1.12
Steve Hay [Fri, 20 Mar 2015 13:16:26 +0000 (13:16 +0000)]
Unicode::Collate has been upgraded from version 1.11 to 1.12

8 years ago Update Unicode-Collate to CPAN version 1.12
Jarkko Hietaniemi [Fri, 20 Mar 2015 11:07:21 +0000 (07:07 -0400)]
Update Unicode-Collate to CPAN version 1.12

      [DELTA]

    1.12  Mon Mar 16 20:21:15 2015
        - XS: [rt.cpan.org #102663] IRIX 6.5 failures with Unicode::Collate
          (porting: avoid non-zero values in the initializer of an array)

8 years agoperldelta for EBCDIC now working
Karl Williamson [Fri, 20 Mar 2015 04:49:21 +0000 (22:49 -0600)]
perldelta for EBCDIC now working