This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
17 months agohandy.h: Convert XDIGIT_VALUE to branchless
Karl Williamson [Mon, 6 Jan 2020 22:22:29 +0000 (15:22 -0700)]
handy.h: Convert XDIGIT_VALUE to branchless

This removes a branch and an array lookup in the XDIGIT_VALUE() macro.
It adds some shifts, masks, and additions instead, though replacing a
mask and addition in the old way.

A somewhat more complicated version could be made for EBCDIC, but I'm
not bothering to do that, using an array lookup to convert the salient
value to ASCII, so on EBCDIC there isn't an array lookup removal.

17 months agoRewrite and inline my_strnlen()
Karl Williamson [Sun, 12 Jan 2020 17:11:54 +0000 (10:11 -0700)]
Rewrite and inline my_strnlen()

This commit changes this function to use memchr() instead of looping
byte-by-byte through the string.  And it inlines it into 3 lines of
code.  This should give comparable performance to a native libc
strnlen().

17 months agostudy_chunk: tweaks to separate bytelen, charlen for EXACTish
Hugo van der Sanden [Mon, 13 Jan 2020 16:39:57 +0000 (16:39 +0000)]
study_chunk: tweaks to separate bytelen, charlen for EXACTish

cast to avoid warning; avoid an additional utf8_length() call.

17 months agoFIx apostrofly
Smylers [Mon, 13 Jan 2020 11:32:08 +0000 (11:32 +0000)]
FIx apostrofly

A possessive apostrophe needs an actual letter ‘S’, not just the ‘S’ sound at the end of “POSIX”.

Rewrite as “the POSIX module's”, to make it clearer. And link the function name.

17 months agoTie::File: use unique tmp filenames in test files
David Mitchell [Mon, 13 Jan 2020 14:04:38 +0000 (14:04 +0000)]
Tie::File: use unique tmp filenames in test files

Currently all the test scripts use a temporary file of the form
"tf$$.txt", which could possibly cause clashes between test scripts
on platforms where the PID cycles frequently. This commit gives each
test file its own unique tmp-filename prefix, e.g. 42_offset.t now has

    my $file = "tf42-$$.txt";

I probably should have switched over completely to using File::Temp,
but this was a smaller change, and I haven't tested it on older perls.

The motivation for this is occasional test failures of 29a_upcopy.t on
some smokes. Whether this commit fixes that, only time will tell.

17 months agoperldiag: Clarify statement
Karl Williamson [Sat, 11 Jan 2020 17:55:08 +0000 (10:55 -0700)]
perldiag: Clarify statement

The statement about the future needs to be less certain as to what might
happen.

17 months agoperldiag: Rmv obsolete statement
Karl Williamson [Sat, 11 Jan 2020 17:53:57 +0000 (10:53 -0700)]
perldiag: Rmv obsolete statement

Code points this large are no longer legal on a 32 bit platform.

17 months agoutil.c: Rmv now always-true assertion
Karl Williamson [Mon, 13 Jan 2020 04:07:35 +0000 (21:07 -0700)]
util.c: Rmv now always-true assertion

Commit 052d914306c3a13afe3fbeb17c8f1c986969f94c changed the type of this
parameter to unsigned, so it is now never negative.

17 months agodon't suggest using the perl malloc() implementation in perlguts
Tony Cook [Sun, 5 Jan 2020 23:32:28 +0000 (10:32 +1100)]
don't suggest using the perl malloc() implementation in perlguts

1. the suggestion doesn't really belong here

2. the usemymalloc implementation is typically slower than a
   modern system malloc().

17 months agostudy_chunk: separate bytelen, charlen for EXACTish study
Hugo van der Sanden [Sun, 12 Jan 2020 18:01:46 +0000 (18:01 +0000)]
study_chunk: separate bytelen, charlen for EXACTish study

Make things slightly clearer.

17 months agoAdd update action to Porting/checkAUTHORS.pl
Nicolas R [Tue, 31 Dec 2019 21:55:32 +0000 (14:55 -0700)]
Add update action to Porting/checkAUTHORS.pl

Fixes #17206

AUTHORS can now be updated by 'Porting/checkAUTHORS.pl' using
the new 'update' action.

Example: perl Porting/checkAUTHORS.pl --update --from=v5.31.6

The changes to the file AUTHORS is better read by ommitting whitespaces.
The changes to AUTHORS are the following:
- authors are sorted
- some emails changed to reflect the preferred email set in the <DATA> section
of checkAUTHORS.pl

When detecting a new author, we will list the GitHub account instead of the email.
Anyone can replace his email by the GitHub account by directly editing AUTHORS file.

Note that the <DATA> section has been adjusted to accomodate several
existing emails in the AUTHORS file to avoid selecting a different email.

'Hio' was listed twice and we preserved the preferred email address.

17 months agostudy_chunk: remove JOIN_EXACT macro
Hugo van der Sanden [Fri, 10 Jan 2020 13:56:06 +0000 (13:56 +0000)]
study_chunk: remove JOIN_EXACT macro

It's used only once, and the code is clearer when we can see the condition
it applies.

17 months agostudy_chunk: simplify PAREN_TEST and related macros
Hugo van der Sanden [Fri, 10 Jan 2020 13:56:06 +0000 (13:56 +0000)]
study_chunk: simplify PAREN_TEST and related macros

Define PAREN_OFFSET to point to the bitvector for the relevant depth, update
PAREN_TEST, PAREN_SET and PAREN_UNSET to take a depth instead of a pointer,
and simplify the various users.

17 months agostudy_chunk: declare final_minlen earlier
Hugo van der Sanden [Fri, 10 Jan 2020 13:56:06 +0000 (13:56 +0000)]
study_chunk: declare final_minlen earlier

This simplifies slightly, and makes room for further refactoring.

17 months agoFix a small grammar error in perl5240delta.pod
Nicholas Clark [Fri, 10 Jan 2020 11:19:44 +0000 (12:19 +0100)]
Fix a small grammar error in perl5240delta.pod

Also remove some trailing spaces.

17 months agoFix a typo in perl5260delta.pod.
Nicholas Clark [Fri, 10 Jan 2020 08:42:55 +0000 (09:42 +0100)]
Fix a typo in perl5260delta.pod.

17 months agoFix Issue #17372 - Deal with NOTHING regops in trie code properly
Yves Orton [Thu, 9 Jan 2020 14:36:41 +0000 (15:36 +0100)]
Fix Issue #17372 - Deal with NOTHING regops in trie code properly

We weren't handling NOTHING regops that were not followed
by a trieable type in the trie code.

17 months agoRemove autodie t/no-all.t tests from Porting/Maintainers.pl
Todd Rinaldo [Wed, 8 Jan 2020 23:50:35 +0000 (17:50 -0600)]
Remove autodie t/no-all.t tests from Porting/Maintainers.pl

This test requires a module not shipped with core.

17 months agoUpdate autodie to CPAN version 2.31
Chris 'BinGOs' Williams [Thu, 9 Jan 2020 12:02:03 +0000 (12:02 +0000)]
Update autodie to CPAN version 2.31

  [DELTA]

2.31      2020-01-08 00:37:45-06:00 America/Chicago

        * TEST BUGFIX: Correct diag explain in t/version.t
          so it'll pass on perl 5.8

        * TEST BUGFIX: Only test t/no-all.t if optional
          IPC::System::Simple is available

        * BUILD: Switch automated testing to github actions

        * TEST BUGFIX: Turn off t/kill.t for windows. Recent
          versions of windows seem to choke when doing:
          `kill 0, $$;`

2.30      2020-01-02 16:51:16-06:00 America/Chicago

        * BUGFIX: Fix a boolean logic precedence error causing
          a "useless use of numeric" warning when using kill
          with a signal of 0.  Thanks to Maurice Aubrey for
          reporting the issue and providing a Pull Request
          for it.  (GH#76)

        * BUGFIX: Apply patch from Niko Tyni to fix a scoping
          issue "no autodie" and the "system" sub.  (GH#69)

        * BUGFIX / DOC: Update code and documentation about
          smartmatch to match current the current support
          in perl.  Thanks to Zefram; cherry-picked from
          perl core.  (GH#83)

        * DOC: Fix a POD error and some unnecessary spaces
          that tripped POD parsers.  Thanks to Aaron Crane
          and Chase Whitener for reporting the issues plus
          providing Pull Requests for it.  (GH#51 and GH#79)

        * DOC: Document how to use Import::Into with autodie.
          (GH#50)

        * BUILD: Clean up of dzil.ini removing some unnecessary
          test recommends.  Thanks to Karen Etheridge for
          reporting the issue and providing a Pull Requests
          for it.  (GH#78)

        * TEST BUGFIX: Set binmode on some file handles to fix
          issues on Windows.  Thanks to Tony Cook; cherry-picked
          from perl core.  (GH#83)

        * TEST / INTERNAL / TRAVIS: Also test with Perl 5.22,
          5.24, 5.26 and 5.28.

17 months agoDocument suggestion to use libffi for simple library bindings
Dan Book [Wed, 18 Dec 2019 21:25:50 +0000 (16:25 -0500)]
Document suggestion to use libffi for simple library bindings

17 months agoperlapi: Perl_isinfnan: fix typo
Karl Williamson [Sun, 5 Jan 2020 02:06:09 +0000 (19:06 -0700)]
perlapi: Perl_isinfnan: fix typo

17 months agoembed.fnc: Fix typo in comment
Karl Williamson [Sat, 4 Jan 2020 18:23:35 +0000 (11:23 -0700)]
embed.fnc: Fix typo in comment

17 months agoregcomp.c: White-space only
Karl Williamson [Sat, 4 Jan 2020 17:49:22 +0000 (10:49 -0700)]
regcomp.c: White-space only

17 months agoembed.fnc: Remove wrong 'const'
Karl Williamson [Sat, 4 Jan 2020 17:48:46 +0000 (10:48 -0700)]
embed.fnc: Remove wrong 'const'

This parameter isn't const

17 months agoChange len param in savepvn to Size_t from I32
Karl Williamson [Sat, 4 Jan 2020 17:40:56 +0000 (10:40 -0700)]
Change len param in savepvn to Size_t from I32

We handle longer strings than 31 bits.

17 months agoMade string multiplication more clear in perlintro
Santtu Ojanperä [Sun, 1 Dec 2019 01:45:27 +0000 (03:45 +0200)]
Made string multiplication more clear in perlintro

Added "repeats strings" in parenthesis to make it more unambiguous.

Santtu Ojanperä is now a Perl author.

For: https://github.com/Perl/perl5/pull/17335

17 months agoUpdate podlators to CPAN version 4.14
Chris 'BinGOs' Williams [Tue, 7 Jan 2020 11:58:07 +0000 (11:58 +0000)]
Update podlators to CPAN version 4.14

  [DELTA]

podlators 4.14 (2020-01-04)

    Document that parse_lines and parse_string_document expect raw bytes,
    not decoded characters.

    Fix the test suite use of parse_string_document to pass in raw bytes
    rather than decoded characters, which will hopefully fix test failures
    with versions of Pod::Simple older than 3.22 and is a more correct
    test of encoding handling.

17 months agoUpdate DB_File to CPAN version 1.853
Chris 'BinGOs' Williams [Tue, 7 Jan 2020 11:54:15 +0000 (11:54 +0000)]
Update DB_File to CPAN version 1.853

  [DELTA]

1.853 5 January 2020

   * Memory leak if ParseOpenInfo calls croak_and_free
     https://github.com/pmqs/DB_File/issues/3
     9e2c8d6c3a35acb71358f440c93defa3d8339420

   * Add Address Sanatizer suppressions file
     a6a26f4878d6be13aad69a3f5b6019e7482a8992

   * Add prereq test
     a631884b3ca11919142c6be8a64e668730b83469

   * Documemtation updates
     4c53b38531b547ae293967c852ff21412eb6d840

   * clang warning in ppport.h
     update to latest ppport.h
     https://github.com/pmqs/DB_File/issues/2
     36d6ae54edfc1df872f5e66c93bda05cbfefefa7

   * #125853 - RT links in Changes file are wrong
     Changes entry for 1.842 has both CPAN & Perl RT links.
     Use the full URL to avoid ambiguity.
     f06a9235373747d0f5c6a95caf504174ffb19c44

17 months agoproperly quote the definition of warns
Tony Cook [Mon, 6 Jan 2020 22:46:01 +0000 (09:46 +1100)]
properly quote the definition of warns

17 months agoperldelta for 76bea4b78962203033480d2a8f4d66f42d7bf3e6
James E Keenan [Mon, 6 Jan 2020 20:14:10 +0000 (15:14 -0500)]
perldelta for 76bea4b78962203033480d2a8f4d66f42d7bf3e6

17 months agoSync with CPAN version 5.00 of Term::ANSIColor
Russ Allbery [Mon, 6 Jan 2020 20:04:59 +0000 (15:04 -0500)]
Sync with CPAN version 5.00 of Term::ANSIColor

Committer: Provide additional email address for contributor.

17 months agoerror check the calls to sigaddset in POSIX::SigSet->new
Tony Cook [Sun, 24 Nov 2019 22:27:16 +0000 (09:27 +1100)]
error check the calls to sigaddset in POSIX::SigSet->new

Coverity complained that SvIV() could return negative numbers,
but doesn't complain about the similar call in the sigaddset()
method, which is error checked.

So error check sigaddset() and throw an error if it fails.

CID 244386.

17 months agoFix skip count in cachepropagate-tcp.t
Craig A. Berry [Sat, 4 Jan 2020 21:35:45 +0000 (15:35 -0600)]
Fix skip count in cachepropagate-tcp.t

A new test was added in a section that is skipped when neither
fork nor pseudo-fork is available, so the skip count needs to be
adjusted to match.

17 months agoutf8.c: Comment white-space only
Karl Williamson [Sat, 28 Dec 2019 05:17:43 +0000 (22:17 -0700)]
utf8.c: Comment white-space only

17 months agoutf8.c: Use casts to silence some warnings
Karl Williamson [Sat, 28 Dec 2019 05:17:10 +0000 (22:17 -0700)]
utf8.c: Use casts to silence some warnings

17 months agoutf8.c: Change internal variable's type
Karl Williamson [Sat, 28 Dec 2019 05:16:09 +0000 (22:16 -0700)]
utf8.c: Change internal variable's type

Packed warnings are 32 bit.  This silences some compiler warnings.

17 months agoutf8.c: Change parameter types of internal fcns
Karl Williamson [Sat, 4 Jan 2020 04:37:08 +0000 (21:37 -0700)]
utf8.c: Change parameter types of internal fcns

These generated warnings on certain platform builds, and weren't the
best types for the purpose anyway.

17 months agoChange parameter type of static fcn
Karl Williamson [Sat, 28 Dec 2019 04:55:54 +0000 (21:55 -0700)]
Change parameter type of static fcn

This makes the first parameter consistent with the other similar
parameter.

17 months agoChange some structures/fcns to use I32 and U32
Karl Williamson [Fri, 27 Dec 2019 20:18:58 +0000 (13:18 -0700)]
Change some structures/fcns to use I32 and U32

This is because these deal with only legal Unicode code points, which
are restricted to 21 bits, so 16 is too few, but 32 is sufficient to
hold them.  Doing this saves some space/memory on 64 bit builds where an
int is 64 bits.

17 months agoBump copyright to 2020 in perl.c and README.
Nicolas R [Fri, 3 Jan 2020 00:01:57 +0000 (17:01 -0700)]
Bump copyright to 2020 in perl.c and README.

check that porting/copyright.t is passing when
run with --now

  ../perl -I../lib porting/copyright.t --now

17 months agorecommend numeric comparisons for $]
Dan Book [Tue, 9 Jul 2019 05:36:32 +0000 (01:36 -0400)]
recommend numeric comparisons for $]

17 months agoperlipc: strict safety, consistency, cleanup
Dan Book [Wed, 18 Dec 2019 21:55:48 +0000 (16:55 -0500)]
perlipc: strict safety, consistency, cleanup

* made all examples consistently strict-safe
* included 'use strict' and 'use warnings' in all "full" examples
* removed -w from shebangs (replaced by 'use warnings')
* removed inconsistent forward declaration of variables
* mention in IO::Handle comment that it's only needed before 5.14
* link to core modules IPC::Open2, IPC::Open3, and Socket
* add required waitpid to IPC::Open2 example
* removed unnecessary usage of English
* removed unnecessary usage of FileHandle

17 months agoRevert "Add some defensive coding to av_store()"
Karl Williamson [Thu, 2 Jan 2020 17:09:31 +0000 (10:09 -0700)]
Revert "Add some defensive coding to av_store()"

This reverts commit bc62bf8519f9005df2fb29dbd3d330202b258b6b.

As Dave Mitchell said in <Perl/perl5/issues/17265/570253376@github.com>

"The docs for av_store() say that the caller is responsible for first
incrementing the ref count of the new SV before passing it to
av_store(). In the normal case of the two elements being different,
av_store() will decrement the old SV before storing the new one, and
everything is good. When the two elements are the same SV, av_store()
*still* needs to decrement the ref count, to undo the increment the
caller just did."

This should resolve GH #17265

17 months agoOP_MULTIDEREF: avoid trailing null aux byte
David Mitchell [Thu, 2 Jan 2020 14:00:23 +0000 (14:00 +0000)]
OP_MULTIDEREF: avoid trailing null aux byte

GH #17301

The aux array in an OP_MULTIDEREF op consists of an action word
containing as many actions as will fit shifted together, followed by
words containing the arguments for those actions. Then another action
word, and so on. The code in S_maybe_multideref() which creates those
ops was reserving a new slot in the aux array for a new action word when
the old one became full. If it then turned out that no  more actions
were needed, this extra slot was harmlessly filled with a zero.

However it turns out that the B::UNOP_AUX::aux_list() introspection
method would, under those circumstances, claim to have returned one
more SV on the stack than it actually had, leading to SEGVs etc.

I could have fixed aux_list() directly to cope with an extra null word,
but instead I did the more general fix of ensuring that
S_maybe_multideref() never adds an extra null word in the first place.

The test added to ext/B/t/b.t fails before this commit; the new test
in lib/B/Deparse.t doesn't, but was added for completeness.

17 months agoEncode: stop importing t/whatwg-aliases.t test
Nicolas R [Mon, 30 Dec 2019 23:10:36 +0000 (16:10 -0700)]
Encode: stop importing t/whatwg-aliases.t test

Do not import t/whatwg-aliases.t which is failing when
AUTHOR_TESTING is set.

17 months agoAdjust smoke-information workflow
Nicolas R [Mon, 30 Dec 2019 23:27:43 +0000 (16:27 -0700)]
Adjust smoke-information workflow

The smoke-information workflow was failing on Pull Request.

1/ need to pull from origin in order to know 'blead' (which
in most cases is going to be GITHUB_BASE_REF)

2/ stop using GITHUB_HEAD_REF and use HEAD instead.

17 months agoadd POD for PL_phase, including example
Felipe Gasper [Fri, 27 Dec 2019 02:09:08 +0000 (21:09 -0500)]
add POD for PL_phase, including example

17 months agoUpdate documentation for hash_seed()
Slaven Rezic [Sun, 29 Dec 2019 23:01:24 +0000 (18:01 -0500)]
Update documentation for hash_seed()

Update $VERSION.

For:  https://github.com/Perl/perl5/issues/17399

17 months agoPATCH: GH #17391 tr/// regression
Karl Williamson [Thu, 26 Dec 2019 23:00:50 +0000 (16:00 -0700)]
PATCH: GH #17391 tr/// regression

This was the result of my not thinking through how things should work.
I added tests for the incorrect behavior.  This commit modifies them, so
that there is no need for the test in the ticket.

17 months agoop.c: Fix typo in comment
Karl Williamson [Sun, 29 Dec 2019 03:00:53 +0000 (20:00 -0700)]
op.c: Fix typo in comment

17 months agoInclude <stdio.h> in getpgrp/setpgrp probes for printf prototype.
Andy Dougherty [Wed, 28 Aug 2019 14:30:23 +0000 (10:30 -0400)]
Include <stdio.h> in getpgrp/setpgrp probes for printf prototype.

C compilers typically issue a warning, but c++ compilers may abort with
an error.

17 months agoFix strtoll, strtoul, and strtouq probes to compile under clang++.
Andy Dougherty [Tue, 27 Aug 2019 19:22:05 +0000 (15:22 -0400)]
Fix strtoll, strtoul, and strtouq probes to compile under clang++.

The test programs were missing the stdlib.h header, and needed
tweaks to the check() prototype to compile under clang++.  These
changes should be fine for C compilers as well, but they have typically
been more forgiving, so shouldn't be affected.

17 months agoFix strtoull() probe to run under clang++.
Andy Dougherty [Tue, 27 Aug 2019 19:00:26 +0000 (15:00 -0400)]
Fix strtoull() probe to run under clang++.

Include the appropriate header and get rid of slightly
incorrect prototype.  Change function return type to void
since we don't explicitly return a useful value.

17 months agoUse a compile and run test for lchown() to satisfy clang++.
Andy Dougherty [Tue, 27 Aug 2019 16:58:23 +0000 (12:58 -0400)]
Use a compile and run test for lchown() to satisfy clang++.

For glibc, previous reports were that some functions (such as lchown())
are present in libc, but are unimplemented.  That is, they always fail
and set errno=ENOSYS.  Unfortunately, the stub test doesn't work under
clang++.  Thus use a compile and run test.  This should be more reliable.

17 months agoAdd <stdlib.h> for futimes compilation test.
Andy Dougherty [Tue, 27 Aug 2019 16:55:57 +0000 (12:55 -0400)]
Add <stdlib.h> for futimes compilation test.

Since the test uses exit(), the appropriate header should be
included.  clang++ throws an error otherwise.

17 months agoPOSIX.xs: Fix typo displayed when fcn doesn't exist
Karl Williamson [Sun, 29 Dec 2019 19:03:16 +0000 (12:03 -0700)]
POSIX.xs: Fix typo displayed when fcn doesn't exist

17 months agoop.c: Use %NVgf instead of %g format in debug stmt
Karl Williamson [Sun, 29 Dec 2019 18:10:13 +0000 (11:10 -0700)]
op.c: Use %NVgf instead of %g format in debug stmt

The former is portable to different sized doubles.

17 months agoIntroduce EXAMPLES section of documentation
James E Keenan [Tue, 12 Nov 2019 21:25:57 +0000 (16:25 -0500)]
Introduce EXAMPLES section of documentation

Provide contextualized invocations of 'Porting/bisect.pl', e.g.:

* What was the problem for which we were bisecting?

* What, if anything, did we do prior to bisecting?

* What is the bug ticket for this problem?

Examples:

* Bisection with target 'miniperl'

* Bisecting failure on threaded builds only

* Example for '--crash' switch

* Failure of 'make' to complete build with specific C-compiler

17 months agoDocument that epoch is always 1970
Bernhard M. Wiedemann [Mon, 23 Dec 2019 20:15:03 +0000 (21:15 +0100)]
Document that epoch is always 1970

and not meant to be interpreted as 2070 because of rolling century.

Fixes GH issue 16431

Bernhard M. Wiedemann is now a Perl author.

17 months agoregcomp.c: Use marker for non-user properties
Karl Williamson [Fri, 27 Dec 2019 18:40:46 +0000 (11:40 -0700)]
regcomp.c: Use marker for non-user properties

A marker is created for a property that could be both a user-defined
one, and an official Unicode one.  The expansion of these is deferred
until runtime, in case the sub that implements a user-defined property
wasn't known at the time of the pattern compilation.  If at runtime,
there still isn't the proper sub, the property is looked up as
potentially an official Unicode one.

But I forgot to check the marker, which is set only if there is a
potential ambiguity.  If the marker isn't set, there is no need to try
to look it up as an official Unicode property.  I couldn't think of a
test where this fails, but at least it saves effort.

17 months agoPATCH: GH #17384 out of bounds read in qr//
Karl Williamson [Fri, 27 Dec 2019 18:20:08 +0000 (11:20 -0700)]
PATCH: GH #17384 out of bounds read in qr//

This turned out to be because there are two versions of the property
name being parsed: 1) the original input; and 2) a canonicalized one
with characters squeeezed out that are usually optional, such as spaces,
dashes and, here, underscores.

The code was conflating the two names, and moving along the squeezed
name based on counts from the unsqueezed one, hence going too far in the
buffer.

17 months agoregcomp.c: Change names of 2 macros
Karl Williamson [Wed, 25 Dec 2019 08:37:37 +0000 (01:37 -0700)]
regcomp.c: Change names of 2 macros

This is in preparation for the next commit, reflecting their new purpose

17 months agot/test.pl: Fix to display properly on EBCDIC
Karl Williamson [Sat, 14 Dec 2019 20:26:36 +0000 (13:26 -0700)]
t/test.pl: Fix to display properly on EBCDIC

This was more complicated than it need be for modern perls.
Devel::PPPort has a version that works with older ones.

And it didn't work properly on EBCDIC, thinking printables weren't, and
vice versa.

17 months agowin32/vdir.h: Rmv extraneous line
Karl Williamson [Thu, 26 Dec 2019 21:54:37 +0000 (14:54 -0700)]
win32/vdir.h: Rmv extraneous line

introduced by 9c35352692462eae5f6e2078f2ee69870a9042a2

17 months agoPATCH: GH #17381 netbsd static assert failure
Karl Williamson [Sun, 22 Dec 2019 01:51:38 +0000 (18:51 -0700)]
PATCH: GH #17381 netbsd static assert failure

As discussed in the ticket, static assertions aren't always enabled
here.  The solution is to use our already-existing fallback to emulate
static assertions in more instances as suggested in the ticket.

17 months agoutf8.c: Use inRANGE
Karl Williamson [Sun, 8 Dec 2019 16:20:55 +0000 (09:20 -0700)]
utf8.c: Use inRANGE

It is clearer and faster

17 months agodoio.c: Use inRANGE macro
Karl Williamson [Fri, 6 Sep 2019 16:25:26 +0000 (10:25 -0600)]
doio.c: Use inRANGE macro

17 months agoutil.c: Use inRANGE macro
Karl Williamson [Wed, 2 Oct 2019 04:34:25 +0000 (22:34 -0600)]
util.c: Use inRANGE macro

17 months agopp_pack.c: Use inRANGE macro
Karl Williamson [Thu, 3 Oct 2019 03:10:36 +0000 (21:10 -0600)]
pp_pack.c: Use inRANGE macro

which is more efficient

17 months agowin32/vdir.h: Use inRANGE macro
Karl Williamson [Thu, 3 Oct 2019 03:02:44 +0000 (21:02 -0600)]
win32/vdir.h: Use inRANGE macro

which is more efficient.

17 months agowin32/win32.c: Use inRANGE macro
Karl Williamson [Thu, 3 Oct 2019 03:02:01 +0000 (21:02 -0600)]
win32/win32.c: Use inRANGE macro

which is more efficient.

17 months agowin32/win32io.c: Use inRANGE macro
Karl Williamson [Thu, 3 Oct 2019 03:01:21 +0000 (21:01 -0600)]
win32/win32io.c: Use inRANGE macro

which is more efficient.

17 months agocaretx.c: Use inRANGE()
Karl Williamson [Thu, 3 Oct 2019 02:58:15 +0000 (20:58 -0600)]
caretx.c: Use inRANGE()

This is more efficient

17 months agoUpdate podlators to CPAN version 4.13
Chris 'BinGOs' Williams [Thu, 26 Dec 2019 18:16:02 +0000 (18:16 +0000)]
Update podlators to CPAN version 4.13

  [DELTA]

podlators 4.13 (2019-12-25)

    Drop support for Perl 5.6.  The minimum supported version is now Perl
    5.8.  Perl 5.6 had not been tested even by CPAN Testers in some time
    and isn't supported by Travis-CI, so true support is dubious.
    Dropping that version allows cleaning up some old compatibility code.

    Fix a warning when outputing to something without a PerlIO layer, such
    as when output_string is used.

    [Pod::Text] Fix behavior of S<> with Unicode input to be consistent
    with behavior with a default encoding, namely treat all whitespace
    inside S<> as non-space characters and do not collapse it with
    adjacent whitespace.

    [Pod::Text::Termcap] Remove an ancient workaround that set the
    TERMPATH environment variable whenever a Pod::Text::Termcap object was
    created in order to add /usr/share/lib/termcap, necessary on some
    ancient Solaris systems.  Setting environment variables is bad
    behavior for a module, and the Solaris systems requiring this
    workaround are long obsolete.

    [Pod::Text::Termcap] Remove the fallback to VT100 escape sequences if
    Term::Cap was not able to find sequences for bold, underline, or
    normal text, and instead skip that part of the formatting.  This will
    produce more correct behavior on dumb terminals at the possible cost
    of losing formatting on systems with malfunctioning terminal
    databases, which seems like an improvement.  Thanks, Zenin.  (#131124)

    Further improve the man/no-encode.t test to not care whether Encode
    was already loaded or not.  Thanks, Martin Becker.

    Improve logic for showing large test failures to avoid spurious
    failures on systems without diff.

17 months agoperldelta for commit b3cc7c67ca565983de186f65a50776a09393c29b
James E Keenan [Thu, 26 Dec 2019 01:04:50 +0000 (20:04 -0500)]
perldelta for commit b3cc7c67ca565983de186f65a50776a09393c29b

17 months agoSync with CPAN version 3.02
Dan Kogai [Thu, 26 Dec 2019 01:01:43 +0000 (20:01 -0500)]
Sync with CPAN version 3.02

The main reason for the release update is to address
https://github.com/Perl/perl5/issues/17382

From Changes:

! t/whatwg-aliases.t
  drop RELEASE_TESTING since Pumpking also uses it.

! bin/enc2xs
  Pulled: enc2xs: Add environment variable to suppress comments

! t/enc_utf8.t
  Pulled: fixup enc_utf8.t for ONLY_PRAGMA_WARNINGS

! Encode/encode.h
  Pulled: Fix linker errors

17 months agoAPItest.xs: fix subsignature test
David Mitchell [Wed, 25 Dec 2019 11:27:39 +0000 (11:27 +0000)]
APItest.xs: fix subsignature test

THX_parse_keyword_subsignature() in APItest.xs does, amongst other
things, return a string representation of an OP_ARGCHECK op.

My commit v5.31.4-13-gf417cfa906 made the data attached to that op be a
struct rather than an array of IVs, but missed updating APItest.xs,
which this commit now amends.

This may or may not fix GH #17202 where the returned value of the
slurpy field was wrong on big-endian systems.

This is presumably due to (char)aux[2] not being the same as
aux->slurpy where one is an IV and the other is a char field.

17 months agoPOSIX.pod: Clarify strtod() text
Karl Williamson [Sat, 21 Dec 2019 21:36:19 +0000 (14:36 -0700)]
POSIX.pod: Clarify strtod() text

17 months agoPOSIX.pod: Clarify setlocale() text
Karl Williamson [Sat, 21 Dec 2019 21:35:30 +0000 (14:35 -0700)]
POSIX.pod: Clarify setlocale() text

17 months agoPOSIX.pod: Clarify localeconv() text
Karl Williamson [Sat, 21 Dec 2019 21:31:37 +0000 (14:31 -0700)]
POSIX.pod: Clarify localeconv() text

17 months agoPOSIX.pod: Fix typo
Karl Williamson [Sat, 21 Dec 2019 21:29:19 +0000 (14:29 -0700)]
POSIX.pod: Fix typo

17 months agoperllocale: Tweak cautionary text
Karl Williamson [Sat, 21 Dec 2019 20:44:52 +0000 (13:44 -0700)]
perllocale: Tweak cautionary text

17 months agoUpdate documentation, readmes, comments, and utilities to reference the GitHub issue...
Dan Book [Sun, 22 Dec 2019 22:13:31 +0000 (17:13 -0500)]
Update documentation, readmes, comments, and utilities to reference the GitHub issue tracker

The perlbug utility and perlbug@perl.org should no longer be used to submit bug reports or patches.

17 months agoperlipc: modernize open and handle usage
Dan Book [Wed, 18 Dec 2019 21:45:06 +0000 (16:45 -0500)]
perlipc: modernize open and handle usage

Replace bareword filehandles with lexicals, use three-arg open wherever
possible, explain that two-arg open may still be necessary for piped opens on
non-Unixy platforms, separate the discussion of three-arg pipe open from list
open, pass the now-lexical filehandles into the spawn function in the TCP
examples, and remove the obsolete explanation of lexical filehandles.

17 months agoClarify SvPVbyteFOO docs
Karl Williamson [Mon, 5 Feb 2018 22:48:12 +0000 (15:48 -0700)]
Clarify SvPVbyteFOO docs

These all croak if the SV string is in UTF-8 containing wide characters.

17 months agoA yuletide log
Chris 'BinGOs' Williams [Sat, 21 Dec 2019 10:56:46 +0000 (10:56 +0000)]
A yuletide log

17 months agoAdjust Porting/release_managers_guide.pod for perlivp
Nicolas R [Sat, 21 Dec 2019 05:01:36 +0000 (22:01 -0700)]
Adjust Porting/release_managers_guide.pod for perlivp

17 months agoAdd an extra smoker run flavor on GitHub Actions
Nicolas R [Sat, 21 Dec 2019 04:58:55 +0000 (21:58 -0700)]
Add an extra smoker run flavor on GitHub Actions

-Duserelocatableinc is recommended in the
release manager guide.

Let's add it :-)

17 months agoUpdate Module::CoreList for 5.31.8
Nicolas R [Sat, 21 Dec 2019 04:52:35 +0000 (21:52 -0700)]
Update Module::CoreList for 5.31.8

17 months agoBump the perl version in various places for 5.31.8
Nicolas R [Sat, 21 Dec 2019 04:38:25 +0000 (21:38 -0700)]
Bump the perl version in various places for 5.31.8

17 months agoPOSIX.pod: Fix typo
Karl Williamson [Fri, 20 Dec 2019 21:41:48 +0000 (14:41 -0700)]
POSIX.pod: Fix typo

17 months agoPOSIX.pod: Update setlocale() docs
Karl Williamson [Fri, 20 Dec 2019 21:40:47 +0000 (14:40 -0700)]
POSIX.pod: Update setlocale() docs

This should have been updated in 5.28, but was overlooked.

17 months agoperllocale: Clarify text
Karl Williamson [Fri, 20 Dec 2019 21:39:13 +0000 (14:39 -0700)]
perllocale: Clarify text

17 months agonew perldelta for 5.31.8
Nicolas R [Sat, 21 Dec 2019 04:29:34 +0000 (21:29 -0700)]
new perldelta for 5.31.8

17 months agoTick off 5.31.7 on 2019-12-20
Nicolas R [Sat, 21 Dec 2019 04:11:54 +0000 (21:11 -0700)]
Tick off 5.31.7 on 2019-12-20

17 months agoUpdate epigraph for v5.31.7
Nicolas R [Fri, 20 Dec 2019 22:09:31 +0000 (15:09 -0700)]
Update epigraph for v5.31.7

17 months agoFinalise perldelta and update perlhist v5.31.7
Nicolas R [Fri, 20 Dec 2019 18:59:42 +0000 (11:59 -0700)]
Finalise perldelta and update perlhist

17 months agoAdjust release_managers_guide for GH tracker
Nicolas R [Fri, 20 Dec 2019 22:03:36 +0000 (15:03 -0700)]
Adjust release_managers_guide for GH tracker

17 months agoUpdate Module::CoreList for 5.31.7
Nicolas R [Fri, 20 Dec 2019 21:39:37 +0000 (14:39 -0700)]
Update Module::CoreList for 5.31.7

17 months agoMention CI smokers in release_managers_guide
Nicolas R [Fri, 20 Dec 2019 18:47:20 +0000 (11:47 -0700)]
Mention CI smokers in release_managers_guide

List and link to the Continuous Integrations currently setup.