This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
9 years agoCommits from no working 'encoding' in EBCDIC
Karl Williamson [Sun, 15 Mar 2015 05:00:31 +0000 (23:00 -0600)]
Commits from no working 'encoding' in EBCDIC

These are conglomerated together for convenience

9 years agolib/open.t: Skip a test on EBCDIC because of encoding
Karl Williamson [Fri, 17 Oct 2014 01:37:29 +0000 (19:37 -0600)]
lib/open.t: Skip a test on EBCDIC because of encoding

9 years agoext/PerlIO-encoding/t/encoding.t: Skip on EBCDIC
Karl Williamson [Fri, 28 Nov 2014 05:35:07 +0000 (22:35 -0700)]
ext/PerlIO-encoding/t/encoding.t: Skip on EBCDIC

encoding doesn't current work.

9 years agot/uni/chomp.t: Better explain why skipped on EBCDIC
Karl Williamson [Fri, 14 Nov 2014 03:52:23 +0000 (20:52 -0700)]
t/uni/chomp.t: Better explain why skipped on EBCDIC

9 years agoPerlIO-encoding/t/nolooping.t: Skip on EBCDIC platform
Karl Williamson [Fri, 17 Oct 2014 03:05:14 +0000 (21:05 -0600)]
PerlIO-encoding/t/nolooping.t: Skip on EBCDIC platform

9 years agot/op/concat2.t: Skip 'use encoding' test in EBCDIC
Karl Williamson [Fri, 27 Jun 2014 16:32:13 +0000 (10:32 -0600)]
t/op/concat2.t: Skip 'use encoding' test in EBCDIC

This pragma does not work on EBCDIC platforms

9 years agolib/DBM_Filter/t/encode.t: Generalize for non-ASCII platforms
Karl Williamson [Sat, 13 Apr 2013 21:54:37 +0000 (15:54 -0600)]
lib/DBM_Filter/t/encode.t: Generalize for non-ASCII platforms

This still has a failure due to Encode issues.  A future commit will
skip some failing tests until that is fixed.

9 years agoSkip testing all of /cpan on EBCDIC platforms for 5.22
Karl Williamson [Sun, 14 Apr 2013 04:04:50 +0000 (22:04 -0600)]
Skip testing all of /cpan on EBCDIC platforms for 5.22

The state of porting to EBCDIC that's going to get into 5.22 leaves many
many error lines being displayed when 'make test' is run if the /cpan
directory is included.  Reluctantly, I'm excluding these tests for 5.22.
I plan to work on either fixing or having individual skips in them in
5.23, but that is not the current state.

9 years agoCarp: skip some tests of "$qr" on older perls
Ricardo Signes [Sun, 15 Mar 2015 00:44:07 +0000 (20:44 -0400)]
Carp: skip some tests of "$qr" on older perls

On perls v5.9.5 to v5.17.0 inclusive, there's a Latin-1/utf8
length bug and sometimes a character is dropped from the end of the
regexp's stringification.

On earlier perls, there is an error related to invalid character
sequences.

Rather than carefully tease these apart, we'll skip the tests.
Thanks to Zefram for helping to identify the version range.

9 years agoCarp: correct precedence of ord and == in tests
Ricardo Signes [Sun, 15 Mar 2015 00:43:35 +0000 (20:43 -0400)]
Carp: correct precedence of ord and == in tests

9 years agoBegin updating perldelta for 5.21.10
Steve Hay [Sat, 14 Mar 2015 18:38:44 +0000 (18:38 +0000)]
Begin updating perldelta for 5.21.10

9 years agoUpgrade Encode from version 2.70 to 2.72
Steve Hay [Sat, 14 Mar 2015 11:36:15 +0000 (11:36 +0000)]
Upgrade Encode from version 2.70 to 2.72

This incorporates all current blead customizations.

9 years agodist/Data-Dumper/t/quotekeys.t: Generalize for EBCDIC
Karl Williamson [Sun, 26 Oct 2014 03:08:52 +0000 (21:08 -0600)]
dist/Data-Dumper/t/quotekeys.t: Generalize for EBCDIC

9 years agoData::Dumper/t/dumper.t: Add test
Karl Williamson [Thu, 5 Mar 2015 21:46:42 +0000 (14:46 -0700)]
Data::Dumper/t/dumper.t: Add test

This is for the special handling needed in EBCDIC

9 years agodist/Data-Dumper/t/dumper.t: Generalize for EBCDIC platforms
Karl Williamson [Fri, 13 Mar 2015 05:01:45 +0000 (23:01 -0600)]
dist/Data-Dumper/t/dumper.t: Generalize for EBCDIC platforms

9 years agoData::Dumper: Generalize for EBCDIC platforms
Karl Williamson [Wed, 13 Mar 2013 22:16:14 +0000 (16:16 -0600)]
Data::Dumper: Generalize for EBCDIC platforms

This extends Data::Dumper to work on EBCDIC platforms.  This is just the
code changes.  Some .t files will be changed as well, in future commits

This involves some code refactoring especially in the .xs code to
collapse EBCDIC/ASCII handling into one.  The if-elsif-elsif-...-else
logic is cleaned up, so that there are fewer branches taken on average.

9 years agodist/Data-Dumper/t/dumper.t: Add test names
Karl Williamson [Fri, 13 Mar 2015 04:58:40 +0000 (22:58 -0600)]
dist/Data-Dumper/t/dumper.t: Add test names

9 years agoData::Dumper/t/dumper.t: only specify number of tests once
Karl Williamson [Thu, 5 Mar 2015 21:47:16 +0000 (14:47 -0700)]
Data::Dumper/t/dumper.t: only specify number of tests once

This calculates the number of tests when some modules are unavailable,
instead of it having to be specified each time there is a change.

9 years agoData::Dumper/t/dumper.t: Remove test numbers from comments
Karl Williamson [Thu, 5 Mar 2015 21:28:49 +0000 (14:28 -0700)]
Data::Dumper/t/dumper.t: Remove test numbers from comments

These are no longer correct, and hard to maintain.  It's not worth it.

9 years agodist/Storable/t/utf8.t: Fix to work on early Perls
Karl Williamson [Tue, 10 Mar 2015 20:53:21 +0000 (14:53 -0600)]
dist/Storable/t/utf8.t: Fix to work on early Perls

In commit 571d5cf7467f1af9ff1e6d751f49ac47e4f88380, I forgot that this
is dual-lifed and may be used on early Perls.  This commit allows that,
but it will fail if such a Perl were to be used on an EBCDIC platform.

9 years agodist/Safe/t/safeutf8.t: Fix to work on early Perls
Karl Williamson [Tue, 10 Mar 2015 20:53:05 +0000 (14:53 -0600)]
dist/Safe/t/safeutf8.t: Fix to work on early Perls

In commit fedc1b0e2d9cec34b7e3b1fa65dd0f7eb4f539fd, I forgot that this
is dual-lifed and may be used on early Perls.  This commit allows that,
but it will fail if such a Perl were to be used on an EBCDIC platform.

9 years agot/TEST: Avoid SIGPIPEs on os390
Karl Williamson [Tue, 26 Mar 2013 21:44:59 +0000 (15:44 -0600)]
t/TEST: Avoid SIGPIPEs on os390

This works around a problem with z/OS where if there are unread lines
from a file descriptor using this, a SIGPIPE error is raised.

9 years agoPOSIX/t/sigaction.t: Skip failing EBCDIC test
Karl Williamson [Fri, 27 Feb 2015 01:10:08 +0000 (18:10 -0700)]
POSIX/t/sigaction.t: Skip failing EBCDIC test

We don't know why this is faiing, but it also fails on another IBM
product, AIX 4.2.  Skip for now.  The code that is failing is this:
    sub hiphup {
        is($_[1]->{signo}, SIGHUP, "SA_SIGINFO got right signal");
    }
    my $act = POSIX::SigAction->new('hiphup', 0, SA_SIGINFO);
    sigaction(SIGHUP, $act);
    kill 'HUP', $$;
and it leads to this:
CEE3206S The system detected a specification exception (System Completion Code=0C6).
         From entry point Perl_apply at compile unit offset +00001460 at entry offset +00001460 at address 1F9B4A50.
ext/POSIX/t/sigaction ......................................... FAILED--expected 33 tests, saw 30

A stack trace with some analysis is in email <5490A778.30308@lerctr.org>

9 years agot/lib/open.t: Generalize for EBCDIC platforms
Karl Williamson [Fri, 17 Oct 2014 01:37:29 +0000 (19:37 -0600)]
t/lib/open.t: Generalize for EBCDIC platforms

This involved changing a \xff to \xfe because it is expecting it to be a
character whose representation is different when encoded in UTF-8, and
on some EBCDIC platforms, \xff is UTF-8 invariant.  I suppose there
could be a code page where \xfe is invariant, so this .t would have to
be made more general if that ever comes to be.

9 years agodist/IO/t/io_utf8argv.t: Generalize for non-ASCII platforms.
Karl Williamson [Wed, 27 Mar 2013 17:11:22 +0000 (11:11 -0600)]
dist/IO/t/io_utf8argv.t: Generalize for non-ASCII platforms.

9 years agomake perl -Dt display padnames with sort blocks
David Mitchell [Fri, 13 Mar 2015 12:39:42 +0000 (12:39 +0000)]
make perl -Dt display padnames with sort blocks

When a sort block (as opposed to sort sub) is executed, a new stackinfo is
pushed with a single CXt_NULL on top. Since S_deb_curcv() only examines
the *current* CX stack looking for the current running CV, it fails to
find it in this case and returns null.

This means that on threaded builds you get things like:

    $ perl -Dt -e'my $x; @a=sort { $x } 1,2'
    ...
    (-e:1) padsv([1])

where it can't find a pad to look up the name of the lexical at targ 1.

This commit makes S_deb_curcv() continue to the previous CX stack when it
finds it's on a PERLSI_SORT stackinfo. The output from the above is now:

    (-e:1) padsv($x)

9 years agoPerl_multideref_stringify: don't SEGV on null cv
David Mitchell [Fri, 13 Mar 2015 11:18:38 +0000 (11:18 +0000)]
Perl_multideref_stringify: don't SEGV on null cv

This function is called by e.g. "perl -Dt" to display the multideref op:

    $ perl -Dt -e'$a->{foo}[1]'
    ...
    (-e:1) multideref($a->{"foo"}[1])

On threaded builds, it needs to know the correct pad (and so the correct
cv too) so that it can access GVs and const SVs that have been moved to
the pad.

However with a sort code block (rather than a sort sub), S_deb_curcv()
returns null, so multideref_stringify() is called with a null CV. This
then SEGVs.

Although ideally S_deb_curcv() should be fixed, a function like
multideref_stringify(), which can be used for debugging, should be robust
in unexpected circumstances. So this commit makes it safe (although not
particularly useful) with a null CV:

    $ perl -Dt -e'@a = sort { $a->[$i] <=> $b->[$i] } [0], [1]'
    ...
    (-e:1) sort
    (-e:1) multideref(<NULLGV>->[<NULLGV>])
    (-e:1) multideref(<NULLGV>->[<NULLGV>])

9 years agoUpgrade CPAN from 2.09-TRIAL to 2.10.
Steve Hay [Fri, 13 Mar 2015 08:25:54 +0000 (08:25 +0000)]
Upgrade CPAN from 2.09-TRIAL to 2.10.

9 years agoOptimize out unicode_to_native(), native_to_unicode()
Karl Williamson [Tue, 10 Mar 2015 19:16:23 +0000 (13:16 -0600)]
Optimize out unicode_to_native(), native_to_unicode()

These just return their argument on ASCII platforms, so can get rid of
the function call overhead there.

Thanks to Zefram and Matthew Horsfall for their help in this.

9 years agoFix t/loc_tools.pl
Karl Williamson [Tue, 10 Mar 2015 20:52:08 +0000 (14:52 -0600)]
Fix t/loc_tools.pl

Commit 128e4113466e835078eb016709e5d23b86be3120 introduced a bug which
causes a failure only on netbsd.  It failed to make a copy in a function
of the array whose reference is passed into it, and then modified the
elements, thus changing the original.  I think what this does on other
platforms is to cause locales to be skipped from being tested (which is
wrong but doesn't show up as a test failure), but on netbsd, it appears
to expose a bug in their setlocale implementation, in which when
setlocale is called with an invalid category, it succeeds instead of
fails.

Another bug in that commit was fixed by
2cc6a9db5a91276f3ff662b3e5befa6799fde3ed.  But that fix introduced yet
another bug, by extending category numbers to be negative (when a given
category doesn't actually exist on a platform) but failing to allow for
a minus sign in the regex pattern that should match any such number.
This problem showed up on vms and os390.

This commit fixes both problems.

9 years agoperl.h: Only #define item once
Karl Williamson [Fri, 6 Mar 2015 20:27:41 +0000 (13:27 -0700)]
perl.h: Only #define item once

This definition was duplicated in both branches of an #if #else #endif
It's better to do it once, outside the #if.

9 years agoPOSIX: emulation for logb()
Jarkko Hietaniemi [Thu, 12 Mar 2015 11:24:59 +0000 (07:24 -0400)]
POSIX: emulation for logb()

9 years agoquadmath: llrintq and llroundq do exist
Jarkko Hietaniemi [Thu, 12 Mar 2015 11:07:05 +0000 (07:07 -0400)]
quadmath: llrintq and llroundq do exist

9 years agoRemove another stray Test::Simple file that is listed as EXCLUDED
Steve Hay [Thu, 12 Mar 2015 08:00:26 +0000 (08:00 +0000)]
Remove another stray Test::Simple file that is listed as EXCLUDED

9 years ago[perl #123847] crash with *foo::=*bar::=*with_hash
Father Chrysostomos [Thu, 12 Mar 2015 06:11:30 +0000 (23:11 -0700)]
[perl #123847] crash with *foo::=*bar::=*with_hash

When a hash has no canonical name and one effective name, the array of
names has a null pointer at the beginning.  hv_ename_add was not tak-
ing that into account, and was trying to dereference the null pointer.

9 years agoperldelta for afad11a2ce
Steve Hay [Thu, 12 Mar 2015 00:15:09 +0000 (00:15 +0000)]
perldelta for afad11a2ce

9 years agoStraighten Porting/Maintainers.pl out following Test::Simple restoration
Steve Hay [Thu, 12 Mar 2015 00:00:53 +0000 (00:00 +0000)]
Straighten Porting/Maintainers.pl out following Test::Simple restoration

Also remove a stray file that was in core when it was listed as EXCLUDED.

9 years agoadd "what it does" comment to utils/enc2xs.PL
David Mitchell [Wed, 11 Mar 2015 16:59:07 +0000 (16:59 +0000)]
add "what it does" comment to utils/enc2xs.PL

It's a bit confusing that a core .PL script is copying a cpan/ script
to utils/, so document it.

9 years agoImprove comments at head of pp_signature()
David Mitchell [Wed, 11 Mar 2015 16:50:28 +0000 (16:50 +0000)]
Improve comments at head of pp_signature()

9 years agodon't test non-null args
David Mitchell [Wed, 4 Mar 2015 15:30:00 +0000 (15:30 +0000)]
don't test non-null args

For lots of core functions:

if a function parameter has been declared NN in embed.fnc, don't test for
nullness at the start of the function, i.e. eliminate code like

    if (!foo) ...

On debugging builds the test is redundant, as the PERL_ARGS_ASSERT_FOO
at the start of the function will already have croaked.

On optimised builds, it will skip the check (and so be slightly faster),
but if actually passed a null arg, will now crash with a null-deref SEGV
rather than doing whatever the check used to do (e.g. croak, or silently
return and let the caller's code logic to go awry). But hopefully  this
should never happen as such instances will already have been detected on
debugging builds.

It also has the advantage of shutting up recent clangs which spew forth
lots of stuff like:

    sv.c:6308:10: warning: nonnull parameter 'bigstr' will evaluate to
    'true' on first encounter [-Wpointer-bool-conversion]
        if (!bigstr)

The only exception was in dump.c, where rather than skipping the null
test, I instead changed the function def in embed.fnc to allow a null arg,
on the basis that dump functions are often used for debugging (where
pointers may unexpectedly become NULL) and it's better there to display
that this item is null than to SEGV.

See the p5p thread starting at 20150224112829.GG28599@iabyn.com.

9 years agoMerge branch 'test-simple-old' into blead
Ricardo Signes [Wed, 11 Mar 2015 12:22:18 +0000 (08:22 -0400)]
Merge branch 'test-simple-old' into blead

9 years agoSpelling correction.
James E Keenan [Sun, 8 Mar 2015 23:55:07 +0000 (19:55 -0400)]
Spelling correction.

9 years agoRemove use of Test::Stream per ilmari's patch on p5p.
James E Keenan [Sun, 8 Mar 2015 23:48:58 +0000 (19:48 -0400)]
Remove use of Test::Stream per ilmari's patch on p5p.

9 years agomove back to a stable Test-Simple, v1.001014
Ricardo Signes [Sun, 8 Mar 2015 22:20:22 +0000 (18:20 -0400)]
move back to a stable Test-Simple, v1.001014

9 years ago[perl #123963] "@<fullwidth digit>"
Father Chrysostomos [Wed, 11 Mar 2015 05:00:41 +0000 (22:00 -0700)]
[perl #123963] "@<fullwidth digit>"

If an @ sign in a double-quoted string is not followed by a valid
identifier, then it is treated literally.  Or at least that is how it
was intended to work.

The lexer was actually not self-consistent.  It was treating non-ASCII
digits at valid identifiers in determining where the interpolation
started, but was not treating them as valid identifiers when actually
parsing the interpolated code.  So this would result in syntax errors,
and even crashes in some cases.

9 years agomg.c:Perl_magic_set: don't use 0 as "failed" gid_t
Hugo van der Sanden [Tue, 10 Mar 2015 22:28:25 +0000 (22:28 +0000)]
mg.c:Perl_magic_set: don't use 0 as "failed" gid_t

For [perl #123814] we added checking for grok_* parse failures in
magic_set for $), but used 0 as the placeholder result in those
cases (since we don't have an effective way to report an error for
this). (Gid_t)(-1) is a safer placeholder, since on many systems
that'll map to an explicit bad group id.

9 years agohints/os390.sh: z/OS doesn't work with an fd in file desc
Karl Williamson [Sun, 15 Feb 2015 17:28:29 +0000 (10:28 -0700)]
hints/os390.sh: z/OS doesn't work with an fd in file desc

Override Configure's determination, as this doesn't work.

9 years agohints/os390.sh: Update
Karl Williamson [Fri, 15 Mar 2013 18:26:15 +0000 (12:26 -0600)]
hints/os390.sh: Update

9 years agohints/os390.sh: z/OS long long support
John Goodyear [Sat, 2 Mar 2013 19:31:25 +0000 (12:31 -0700)]
hints/os390.sh: z/OS long long support

9 years agofix XXX comment for regcomp.c:S_reg
Hugo van der Sanden [Tue, 10 Mar 2015 08:48:44 +0000 (08:48 +0000)]
fix XXX comment for regcomp.c:S_reg

It actually does do the right thing: /(?(R0))/ and /(?(R00))/ both fall
through to give an appropriate error 'Switch condition not recognized'

9 years agogrok_atoUV: don't make part of API
Hugo van der Sanden [Fri, 27 Feb 2015 17:55:43 +0000 (17:55 +0000)]
grok_atoUV: don't make part of API

.. but keep available to extensions.

9 years ago[perl #123814] replace grok_atou with grok_atoUV
Hugo van der Sanden [Mon, 23 Feb 2015 16:48:15 +0000 (16:48 +0000)]
[perl #123814] replace grok_atou with grok_atoUV

Some questions and loose ends:

XXX gv.c:S_gv_magicalize - why are we using SSize_t for paren?
XXX mg.c:Perl_magic_set - need appopriate error handling for $)
XXX regcomp.c:S_reg - need to check if we do the right thing if parno
was not grokked

Perl_get_debug_opts should probably return something unsigned; not sure
if that's something we can change.

9 years ago[perl #123814] stricter handling of numbers in regexp quantifiers
Hugo van der Sanden [Fri, 13 Feb 2015 10:51:16 +0000 (10:51 +0000)]
[perl #123814] stricter handling of numbers in regexp quantifiers

9 years agoDBM_Filter/t/utf8.t: Generalize for other EBCDIC code pages
Karl Williamson [Tue, 3 Mar 2015 05:08:41 +0000 (22:08 -0700)]
DBM_Filter/t/utf8.t: Generalize for other EBCDIC code pages

This worked for EBCDIC 1047, but not for other pages.  This commit
changes to use the tools created for the purpose to make it general.

9 years agodist/Net-Ping/t/450_service.t: Skip 2 tests on os390
Karl Williamson [Thu, 22 Jan 2015 21:26:54 +0000 (14:26 -0700)]
dist/Net-Ping/t/450_service.t: Skip 2 tests on os390

These two tests are already skipped for hpux, and one for win32.  I'm
assuming the same issue here.

9 years agoModule::CoreList: Fix to work on EBCDIC platforms
Karl Williamson [Mon, 1 Dec 2014 06:17:07 +0000 (23:17 -0700)]
Module::CoreList: Fix to work on EBCDIC platforms

This creates a sort help that make a '?' always sort after the digits,
which it naturally does on ASCII platforms, but not EBCDIC

9 years agoDevel::Peek:Peek.t: Fix to work on EBCDIC
Karl Williamson [Wed, 26 Nov 2014 21:35:31 +0000 (14:35 -0700)]
Devel::Peek:Peek.t: Fix to work on EBCDIC

9 years agodist/Safe/t/safeutf8.t: Generalize to non-ASCII platform
Karl Williamson [Tue, 16 Apr 2013 18:02:26 +0000 (12:02 -0600)]
dist/Safe/t/safeutf8.t: Generalize to non-ASCII platform

9 years agodist/Storable/t/code.t: Fixes to run under EBCDIC
Karl Williamson [Tue, 21 May 2013 03:59:48 +0000 (21:59 -0600)]
dist/Storable/t/code.t: Fixes to run under EBCDIC

9 years agodist/Storable/t/utf8.t: Fix to run under EBCDIC
Karl Williamson [Tue, 2 Apr 2013 04:28:43 +0000 (22:28 -0600)]
dist/Storable/t/utf8.t: Fix to run under EBCDIC

9 years agoperl.c: Don't read possibly zapped memory
Karl Williamson [Mon, 9 Mar 2015 17:14:19 +0000 (11:14 -0600)]
perl.c: Don't read possibly zapped memory

See https://rt.perl.org/Ticket/Display.html?id=123748

The return of getenv() is a pointer to static storage which can legally
be overwritten at any time by other calls to access the environment,
even even another getenv().  (What actually happens varies from platform
to platform.)  Results of getenv() therefore either have to be acted on
immediately or copied to a safe area.  This commit does the latter for
this call in perl.c.  The static area was being held on to even into the
function call moreswitches() which does environmen handling, so was
vulnerable to this bug.

9 years agot/loc_tools.pl: Fix bug with locale tests in win32
Karl Williamson [Mon, 9 Mar 2015 18:18:27 +0000 (12:18 -0600)]
t/loc_tools.pl: Fix bug with locale tests in win32

This bug was introduced by commit
128e4113466e835078eb016709e5d23b86be3120.

Win32 doesn't have an LC_MESSAGES, so calls using that name failed.

9 years agoUpdate comment in test to note possibly neccessary prerequisite.
Matthew Horsfall [Mon, 9 Mar 2015 18:06:16 +0000 (14:06 -0400)]
Update comment in test to note possibly neccessary prerequisite.

9 years agoop_reg_common.h: Add comment
Karl Williamson [Mon, 9 Mar 2015 17:58:34 +0000 (11:58 -0600)]
op_reg_common.h: Add comment

9 years agoembed.fnc: Change _warn_problematic_locale() function from public
Karl Williamson [Mon, 9 Mar 2015 17:55:58 +0000 (11:55 -0600)]
embed.fnc: Change _warn_problematic_locale() function from public

Spotted by Daniel Dragan

9 years agoperlrebackslash: Add, correct \b{} text
Karl Williamson [Mon, 9 Mar 2015 17:45:13 +0000 (11:45 -0600)]
perlrebackslash: Add, correct \b{} text

This fleshes out documentation about this new feature

9 years agoperlrebackslash: Nit
Karl Williamson [Mon, 9 Mar 2015 17:43:35 +0000 (11:43 -0600)]
perlrebackslash: Nit

9 years agoperluniprops: Add text about using with older Unicode releases
Karl Williamson [Mon, 9 Mar 2015 17:41:31 +0000 (11:41 -0600)]
perluniprops: Add text about using with older Unicode releases

This pod is generated by mktables.

9 years agoReinstate reverted "perlpod and spec: s/Latin-1/CP-1252/"
David E. Wheeler [Fri, 27 Feb 2015 03:35:52 +0000 (22:35 -0500)]
Reinstate reverted "perlpod and spec: s/Latin-1/CP-1252/"

This reverts 1a3afb4f8c551b292b5b34f7244ed71f9ac01cfd which reverted
e2bb786192adfa315ea974b5f630d7040aa6f6ac, thus reinstating the latter.

In thinking about this and discussing it with rjbs, I (khw) realized
that this pod text really should go in to v5.22.  I made minor
clarifications and fixed the author name of the original commit.

9 years agoUpdate David Wheeler's email address
Karl Williamson [Mon, 9 Mar 2015 16:26:46 +0000 (10:26 -0600)]
Update David Wheeler's email address

9 years agoAUTHORS: Add comment
Karl Williamson [Mon, 9 Mar 2015 16:06:44 +0000 (10:06 -0600)]
AUTHORS: Add comment

9 years agolib/locale.t: White-space only
Karl Williamson [Mon, 9 Mar 2015 04:29:21 +0000 (22:29 -0600)]
lib/locale.t: White-space only

Indent inside new block formed in the previous commit.

9 years agoSkip various locale tests when locales are not available
Karl Williamson [Mon, 9 Mar 2015 04:26:17 +0000 (22:26 -0600)]
Skip various locale tests when locales are not available

It is possible to compile Perl without locales, and some platforms may
not have them available properly.  These tests were failing under these
conditions.  This commit uses the new infrastructure in loc_tools.pl to
centralize the knowledge of how to determine if locales are available.

9 years agot/loc_tools.pl: Add fnc to see if locale category is available
Karl Williamson [Sun, 8 Mar 2015 16:39:38 +0000 (10:39 -0600)]
t/loc_tools.pl: Add fnc to see if locale category is available

It is possible for Perl to run on platforms that don't have locale
abilities, and it is possible to compile it to disable some or all of
locale processing.  This commit adds a function that for Perl code to
call that knows the nuances of detecting this.

9 years agoperl.h: Make macro do nothing when LC_CTYPE not available
Karl Williamson [Mon, 9 Mar 2015 04:24:12 +0000 (22:24 -0600)]
perl.h: Make macro do nothing when LC_CTYPE not available

Otherwise things won't compile.

9 years agoext/POSIX/POSIX.xs: Convert do whiles into whiles
Karl Williamson [Mon, 9 Mar 2015 03:16:16 +0000 (21:16 -0600)]
ext/POSIX/POSIX.xs: Convert do whiles into whiles

I don't know why these are do { ] while's, but with the correct
combination of compile flags (such as -DNO_LOCALE), and/or perhaps
platform, one or the other could be called the first time with nulls, so
they need to be straight while{}s to avoid segfaults.

9 years agot/test.pl: Actually change the code
Karl Williamson [Sun, 8 Mar 2015 15:15:44 +0000 (09:15 -0600)]
t/test.pl: Actually change the code

Commit c42fde619a5536f7365e04b0ea569a21881b92ee claimed to do what this
commit actually does.  I forgot to merge the two commits before pushing.

9 years agot/test.pl: Remove use of more recent feature
Karl Williamson [Sun, 8 Mar 2015 16:22:35 +0000 (10:22 -0600)]
t/test.pl: Remove use of more recent feature

This file is copied into the "threads" CPAN distribution, and the addition
of this modern feature (/a pattern modifier) required them to issue a
modified version of this file.  Since the effect of /a can easily be
achieved in other, though less clear, ways using longer established
syntaxes, use those with a clarifying comment.

See https://rt.perl.org/Ticket/Display.html?id=124013

9 years agoSkip PL_warn_locale use unless compiled in
Karl Williamson [Sat, 7 Mar 2015 19:14:36 +0000 (12:14 -0700)]
Skip PL_warn_locale use unless compiled in

The use of this variable was inconsistent.  It was not dup'ed on thread
cloning unless LC_CTYPE is being used, but elsewhere it was.  This led
to segfaults on threaded builds.  Now it isn't touched anywhere unless
LC_CTYPE is used.

9 years agolocale.c: Move statements properly within #if
Karl Williamson [Sat, 7 Mar 2015 18:10:13 +0000 (11:10 -0700)]
locale.c: Move statements properly within #if

The variables in these statments were undefined when compiled with
ccflag -DNO_LOCALE, because the declarations are skipped then.  Just
move them a few lines up so are within the same #if.

9 years agouse re 'strict' doc changes
Karl Williamson [Sat, 7 Mar 2015 17:30:18 +0000 (10:30 -0700)]
use re 'strict' doc changes

Add to perlexperiment; note that an alternative syntax has been
proposed; nits.

9 years agoREADME.synology: Wrap too-long verbatim line
Karl Williamson [Sat, 7 Mar 2015 17:04:02 +0000 (10:04 -0700)]
README.synology: Wrap too-long verbatim line

9 years agoperlunifaq: Nits
Karl Williamson [Sat, 7 Mar 2015 16:38:37 +0000 (09:38 -0700)]
perlunifaq: Nits

9 years agopods: s/semantics/rules/ig in places
Karl Williamson [Sat, 7 Mar 2015 16:16:15 +0000 (09:16 -0700)]
pods: s/semantics/rules/ig in places

Juerd Waalboer suggested long ago that in documentation, using the term
"rules" is better than "semantics".  This changes some of the places
that had remained unchanged.  I looked at the still-remaining places,
and decided that it was best to leave them as-is.

9 years agoUpdate Synology information
H.Merijn Brand [Sat, 7 Mar 2015 10:59:58 +0000 (11:59 +0100)]
Update Synology information

DSM-5.1 has perl-5.18.4 installed (or available through ipkg)
anyway, awesome to see it being more recent than 5.8.4

9 years agoRe-fold long lines in INSTALL
H.Merijn Brand [Sat, 7 Mar 2015 10:45:53 +0000 (11:45 +0100)]
Re-fold long lines in INSTALL

I used a guide-width of 73

9 years agoperldelta entry for 34a7e7b
James E Keenan [Fri, 6 Mar 2015 23:33:57 +0000 (18:33 -0500)]
perldelta entry for 34a7e7b

9 years agoUpgrade to threads 1.99
Jerry D. Hedden [Fri, 6 Mar 2015 14:23:04 +0000 (09:23 -0500)]
Upgrade to threads 1.99

9 years agoMake use64bitall distinctive from use64bitint on HP-UX
H.Merijn Brand [Fri, 6 Mar 2015 11:57:54 +0000 (12:57 +0100)]
Make use64bitall distinctive from use64bitint on HP-UX

9 years agoMerge branch 'maintpolicy' into blead
Steve Hay [Fri, 6 Mar 2015 08:22:35 +0000 (08:22 +0000)]
Merge branch 'maintpolicy' into blead

Update our policies w.r.t maintenance releases in the light of discussions
had during the release of 5.20.2, in particular:

http://www.nntp.perl.org/group/perl.perl5.porters/2014/12/msg224162.html
http://www.nntp.perl.org/group/perl.perl5.porters/2014/12/msg224120.html
http://www.nntp.perl.org/group/perl.perl5.porters/2015/01/msg224680.html

The lists of acceptable/unacceptable changes are essentially unchanged, but
the wording now emphasizes that it may not be desirable to cherry-pick
every eligible change, and states which types of change are the most
important ones to focus on.

The intention is to draw up a much shorter list of cherry-pick proposals in
the future. Hopefully, a much less daunting list of proposals will reduce
the difficulty in getting the required number of votes on the ones that
really matter and possibly reduce risk slightly in the process, but not
affect how worthwhile the contents of maintenance releases are.

9 years agomaint policy: Note that some changes don't need voting on
Steve Hay [Thu, 26 Feb 2015 13:43:43 +0000 (13:43 +0000)]
maint policy: Note that some changes don't need voting on

Again, this is just a statement of the reality that I have experienced in
the course of releasing 5.20.1 and 5.20.2.

9 years agomaint policy: Note that other voting mechanisms may be used instead of p5p
Steve Hay [Thu, 26 Feb 2015 13:41:43 +0000 (13:41 +0000)]
maint policy: Note that other voting mechanisms may be used instead of p5p

This simply reflects the reality of how 5.20.2's changes were voted on,
namely, by the use of the maint-5.20-votes branch.

9 years agomaint policy: Reword/expand the ambiguous "as few changes as possible" phrase
Steve Hay [Thu, 26 Feb 2015 13:29:36 +0000 (13:29 +0000)]
maint policy: Reword/expand the ambiguous "as few changes as possible" phrase

This phrase caused much debate during the release of 5.20.2. A literal
interpretation of it would be just a version bump, which was clearly not
its intention. Debate ensued as to what was its real meaning, and the
consensus seemed to be that the list of "acceptable"/"unacceptable" types
of change was about right, but that not every eligible change should be
included. Not many committers are interested in reviewing a long list of
minor spelling corrections etc, causing a lack of interest in voting, and
an attendant risk of something important being missed amongst all the
"noise". The focus should mainly be on security / crash / regression /
installation issues, with the aim being to produce a worthwhile release
without needlessly increasing risk and/or burning people out. I hope the
new wording captures this.

9 years agomaint policy: Move paragraph about controversial changes
Steve Hay [Thu, 26 Feb 2015 13:20:09 +0000 (13:20 +0000)]
maint policy: Move paragraph about controversial changes

The point was also raised during discussions over whether to include
perlunicook.pod in 5.20.2 that exceptions can be made to the rules under
the terms of "Rule 2" and the fact that the pumpking is acting on Larry's
behalf. However, this is probably best left being implicit, rather than
explicitly stating it. Exceptions should be exceptional; we don't want to
encourage them!

9 years agomaint policy: Minor grammar and style change
Steve Hay [Thu, 26 Feb 2015 13:10:50 +0000 (13:10 +0000)]
maint policy: Minor grammar and style change

9 years agomaint policy: Separate build/installation issues from test failures
Steve Hay [Thu, 26 Feb 2015 13:09:33 +0000 (13:09 +0000)]
maint policy: Separate build/installation issues from test failures

Also clarify a what kind of build/installation "issue" we are referring to.

9 years agomaint policy: Note that old regressions are acceptable too
Steve Hay [Thu, 26 Feb 2015 13:03:54 +0000 (13:03 +0000)]
maint policy: Note that old regressions are acceptable too

9 years agomaint policy: Put notes about CPAN modules in one place
Steve Hay [Thu, 26 Feb 2015 09:29:04 +0000 (09:29 +0000)]
maint policy: Put notes about CPAN modules in one place

9 years agomaint policy: No need to keep saying "are [NOT] acceptable" now
Steve Hay [Thu, 26 Feb 2015 09:24:02 +0000 (09:24 +0000)]
maint policy: No need to keep saying "are [NOT] acceptable" now

9 years agomaint policy: Sort acceptable/unacceptable lists into rough priority order
Steve Hay [Thu, 26 Feb 2015 09:20:30 +0000 (09:20 +0000)]
maint policy: Sort acceptable/unacceptable lists into rough priority order

This commit makes no changes to any of the wording.