This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
3 years agoregcomp.c: Don't repeat macro definition
Karl Williamson [Fri, 24 Apr 2020 18:04:34 +0000 (12:04 -0600)]
regcomp.c: Don't repeat macro definition

Use a macro from within another macro instead of repeating the expansion
of it.

3 years agodoop.c: Comment, white-space only
Karl Williamson [Sun, 9 Aug 2020 04:19:05 +0000 (22:19 -0600)]
doop.c: Comment, white-space only

This removes an obsolete comment

3 years agoperlop: Mention the word diamond wrt <>, <<>>
Karl Williamson [Sun, 9 Aug 2020 04:15:04 +0000 (22:15 -0600)]
perlop: Mention the word diamond wrt <>, <<>>

There really is no pod that refers to the common names of these
operators.

3 years agoregexec.c: Use withinCOUNT()
Karl Williamson [Mon, 20 Apr 2020 21:24:10 +0000 (15:24 -0600)]
regexec.c: Use withinCOUNT()

This is faster, and clearer

3 years agoregexec.c: Clarify comment
Karl Williamson [Mon, 20 Apr 2020 21:23:08 +0000 (15:23 -0600)]
regexec.c: Clarify comment

3 years agoregcomp.c: Don't allow \p{Is_Is_...}
Karl Williamson [Tue, 14 Apr 2020 23:44:08 +0000 (17:44 -0600)]
regcomp.c: Don't allow \p{Is_Is_...}

Only one 'Is_' prefix should be allowed.

3 years agocanonicalize more contributor names and addresses
Karen Etheridge [Thu, 6 Aug 2020 17:39:35 +0000 (10:39 -0700)]
canonicalize more contributor names and addresses

3 years agoAdd support for Bison versions up to 3.7
Dagfinn Ilmari Mannsåker [Mon, 27 Jul 2020 20:48:11 +0000 (21:48 +0100)]
Add support for Bison versions up to 3.7

This requires copying the `YY_CAST` and `YY_ATTRIBUTE_UNUSED` macros
from the generated code, and extracting the `yysymbol_kind_t` enum if
it's defined.

We must also handle token type names with escaped double-quotes in
them, since it now names the `YYEOF` and `YYUNDEF` tokens `"end of
file"` and `"invalid token"` instead of `$end` and `$undefined`,
respectively.

3 years agoBump minimum required Bison version to 2.4
Dagfinn Ilmari Mannsåker [Tue, 28 Jul 2020 13:06:34 +0000 (14:06 +0100)]
Bump minimum required Bison version to 2.4

This lets us replace the deprecated `%pure-parser` directive with
`%define api.pure`, and get rid of some other conditional code.

Bison is only required for developers hacking on the grammar, since we
check in the generated code.  Bison 2.4 was released in 2008, and is
included in operating systems as old as Red Hat Enterprise Linux 6.

3 years agouse PERL_REVISION in os2/Makefile.SHs
☢ ℕicolas ℝ [Tue, 4 Aug 2020 20:30:30 +0000 (14:30 -0600)]
use PERL_REVISION in os2/Makefile.SHs

3 years agoXS-APItest: use PERL_VERSION_GE helper
☢ ℕicolas ℝ [Tue, 4 Aug 2020 20:09:28 +0000 (14:09 -0600)]
XS-APItest: use PERL_VERSION_GE helper

Also adjust t/xsub_h.t to use $^V.

3 years agoHash-Util: use PERL_VERSION_LT macro
☢ ℕicolas ℝ [Tue, 4 Aug 2020 20:07:01 +0000 (14:07 -0600)]
Hash-Util: use PERL_VERSION_LT macro

3 years agoUse PERL_REVISION in toke.c for -E switch
☢ ℕicolas ℝ [Tue, 4 Aug 2020 20:03:00 +0000 (14:03 -0600)]
Use PERL_REVISION in toke.c for -E switch

This allows to use the current features bundle
defined by the current version of Perl.

3 years agoTeach Porting/pod_lib.pl to parse perldelta from any major version
☢ ℕicolas ℝ [Tue, 4 Aug 2020 19:59:50 +0000 (13:59 -0600)]
Teach Porting/pod_lib.pl to parse perldelta from any major version

3 years agoWiden the feature bundle hint mask to 4 bits
Dagfinn Ilmari Mannsåker [Mon, 13 Jul 2020 22:33:55 +0000 (23:33 +0100)]
Widen the feature bundle hint mask to 4 bits

VMS only uses two bits for its hints, so we can steal one more for the
feature bundles.  This is necessary if we want to remove features from
a future bundle, e.g. `indirect` and `switch`.

3 years agoPlan9/9front i386 fixes
Romano [Thu, 25 Jun 2020 22:08:04 +0000 (15:08 -0700)]
Plan9/9front i386 fixes

3 years agoRestore 'our $VERSION' as a single line
☢ ℕicolas ℝ [Mon, 3 Aug 2020 22:17:22 +0000 (16:17 -0600)]
Restore 'our $VERSION' as a single line

This was changed recently to avoid potential
warnings when using the variable outside of a BEGIN
block. As this is a non issue at this date,
let's restore the original syntax to avoid breaking
poor man parsing for VERSION which can exist somewhere.

References: #18024

3 years agothreads: use PERL_VERSION compare macros
Nicolas R [Fri, 31 Jul 2020 19:35:39 +0000 (13:35 -0600)]
threads: use PERL_VERSION compare macros

Use new core PERL_VERSION compare macros.
When bumping thread with this change
we would need to make sure to use the last
version of ppport.h

3 years agoStorable: use PERL_COMPARE macros
Nicolas R [Fri, 31 Jul 2020 19:36:37 +0000 (13:36 -0600)]
Storable: use PERL_COMPARE macros

When bumping Storable with this change
we would need to make sure to use the last
version of ppport.h

3 years agoXSUB.h: fix MARK and items variables inside BOOT XSUBs
Tomasz Konojacki [Mon, 27 Apr 2020 06:31:47 +0000 (08:31 +0200)]
XSUB.h: fix MARK and items variables inside BOOT XSUBs

ax was incremented by Perl_xs_handshake() and because of that
MARK and items were off by one inside BOOT XSUBs.

fixes #17755

3 years agoDevel-PPPort: Bump to upstream at 7180c297
Nicolas R [Fri, 31 Jul 2020 19:37:40 +0000 (13:37 -0600)]
Devel-PPPort: Bump to upstream at 7180c297

These changes from Devel-PPPort are adding
support for Perl 7.0 and fixes the testsuite
with a Perl 7.0.0 binary.

We would have to publish a new version of
Devel-PPPort.

3 years agoRevert "Revert "Debugging GH #17671.""
Karl Williamson [Mon, 3 Aug 2020 02:19:17 +0000 (20:19 -0600)]
Revert "Revert "Debugging GH #17671.""

This reverts commit 83aa75213860c4aa879853b1bac9e58a116214ab.

That commit was itself a reversion, hoping that various changes had
fixed a bug.  But it has cropped up, so the bug isn't fixed, and so this
is the reversion of the reversion.

3 years agoFixup handy.h to use PERL_VERSION macro
☢ ℕicolas ℝ [Mon, 3 Aug 2020 01:45:19 +0000 (19:45 -0600)]
Fixup handy.h to use PERL_VERSION macro

handy.h was recently updated in 4a1bbd3d but
this is not using the accurate definitions
of the new semantic versions introduced as part of #18020

They are:
- PERL_VERSION_MAJOR
- PERL_VERSION_MINOR
- PERL_VERSION_PATCH

3 years agoMore preparation for 7.0 in versioning
Karl Williamson [Tue, 28 Jul 2020 23:50:26 +0000 (17:50 -0600)]
More preparation for 7.0 in versioning

This modifies the macros introduced in
9b6e95106e18e4fd33678d0df9b2293fd4f8ab9c that allow one to determine how
the version of the perl currently being compiled compares to an
arbitrary one.  The modification is based on changes in the plan,
including renaming of variables.

This also introduces the use of '*' for the subversion (or micro as it
is now called) to make conversion from the soon-to-be deprecated
PERL_VERSION macro more rote, with less thinking involved.

3 years agoFix github action testing of pull requests on cygwin
John Lightsey [Sat, 1 Aug 2020 16:43:49 +0000 (11:43 -0500)]
Fix github action testing of pull requests on cygwin

The GITHUB_REF head on the remote doesn't reliably contain GITHUB_SHA
when testing pull requests. These PR merge SHAs are likely transient.
Checkout whatever the fetch retrieved from GITHUB_REF instead.

3 years agoutil.c: Reorder two functions
Karl Williamson [Sat, 25 Jul 2020 14:43:12 +0000 (08:43 -0600)]
util.c: Reorder two functions

This will make some future commits a little less noisy

3 years agoperl.h: Add comment
Karl Williamson [Sat, 18 Jul 2020 13:14:29 +0000 (07:14 -0600)]
perl.h: Add comment

3 years agoregcomp.c: Fix grammar in comment
Karl Williamson [Wed, 22 Jul 2020 23:09:46 +0000 (17:09 -0600)]
regcomp.c: Fix grammar in comment

3 years agoSwitch EXTENDED_TESTING logic to avoid failure notifications.
John Lightsey [Fri, 31 Jul 2020 22:53:37 +0000 (17:53 -0500)]
Switch EXTENDED_TESTING logic to avoid failure notifications.

This sets a variable to skip or run jobs in the github workflow rather
using a workflow failure to stop early. Failing the workflow sends
unnecessary notifications.

3 years agosplit IRC notification between blead changes and non blead changes
☢ ℕicolas ℝ [Fri, 31 Jul 2020 23:39:14 +0000 (17:39 -0600)]
split IRC notification between blead changes and non blead changes

3 years agoUse GitHub action to send IRC notifications
☢ ℕicolas ℝ [Fri, 31 Jul 2020 23:34:18 +0000 (17:34 -0600)]
Use GitHub action to send IRC notifications

This is a first iteration advertising to #p5p-commits.

The action for 'inBlead' needs to be altered.
Once stable, I would also port the existing bot
to this workflow so anyone can tweak/adjust it.

3 years agoTry using hasConflicts tag
Nicolas R [Fri, 31 Jul 2020 13:13:27 +0000 (07:13 -0600)]
Try using hasConflicts tag

The action cannot find the tag using a space.

3 years agoperl.h: Fix comment
Karl Williamson [Fri, 31 Jul 2020 12:24:26 +0000 (06:24 -0600)]
perl.h: Fix comment

3 years agoutf8.h: Add comment
Karl Williamson [Fri, 31 Jul 2020 12:23:57 +0000 (06:23 -0600)]
utf8.h: Add comment

3 years agoregcomp.c: Use get_cvs(), a clearer short cut
Karl Williamson [Fri, 31 Jul 2020 12:22:49 +0000 (06:22 -0600)]
regcomp.c: Use get_cvs(), a clearer short cut

3 years agoos2.c: Use PerlEnv_getenv
Karl Williamson [Sun, 8 Mar 2020 00:03:36 +0000 (17:03 -0700)]
os2.c: Use PerlEnv_getenv

which has added protections beyond plain getenv()

3 years agoReposition tests for formats
James E Keenan [Thu, 30 Jul 2020 12:39:49 +0000 (08:39 -0400)]
Reposition tests for formats

Formats can be declared anywhere within a file, but, per
pod/perlform.pod, it's best to declare them near where they are being
used or referenced.

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

3 years agot/op/while.t: Correct two typos
James E Keenan [Fri, 31 Jul 2020 10:51:49 +0000 (06:51 -0400)]
t/op/while.t: Correct two typos

In commit 138b823057 (written Nov 12 2009 but not committed until Jan 8
2011), contributor apparently intended to declare two scalar variables
with 'my': "my ($got_var, $got_i)".  However, the variables declared
were arrays: "my (@got_var, @got_i)".

These two variables were not subsequently used within the block and, in
principle, could be removed without affecting the test results.  But
since the contributor's intent was to make the file somewhat more
strict-compliant, it makes more sense to change the variables to
scalars, after which the variables are actually used within the block
and all tests continue to pass.

3 years agofix typo in example
Karen Etheridge [Fri, 31 Jul 2020 03:46:36 +0000 (20:46 -0700)]
fix typo in example

thanks Deji Adegbite! via https://github.com/OpusVL/perldoc.perl.org/issues/145

3 years agoDocument warning 'readline() on unopened filehandle %s'
James E Keenan [Sat, 4 Jul 2020 19:30:27 +0000 (15:30 -0400)]
Document warning 'readline() on unopened filehandle %s'

Place it in category: (W unopened).

Signed-off-by: James E Keenan <jkeenan@cpan.org>
For: https://github.com/Perl/perl5/issues/17935

3 years agoFix Math-Complex issue in test suite
Nicolas R [Mon, 29 Jun 2020 16:24:24 +0000 (10:24 -0600)]
Fix Math-Complex issue in test suite

By enabling strict and warnings in the testsuite
we could notice that t/Complex.t was testing
some functions not exported by Math::Complex:
- _stringify_cartesian
- _stringify_polar

This commit enable strict/warnings for the testsuite
and fix the test issue.

The customized VERSION is also bumped.

3 years agoAutomatically tags Pull Requests with conflicts
☢ ℕicolas ℝ [Thu, 30 Jul 2020 23:36:51 +0000 (17:36 -0600)]
Automatically tags Pull Requests with conflicts

The goal is too quickly identify the pending pull
requests with conflicts.

3 years ago(perl #17844) don't update SvCUR until after we've done moving
Tony Cook [Mon, 15 Apr 2019 05:23:32 +0000 (15:23 +1000)]
(perl #17844) don't update SvCUR until after we've done moving

SvCUR() before the SvGROW() calls could result in reading beyond the
end of a buffer.

It wasn't a problem in the normal case, since sv_grow() just calls
realloc() which has its own notion of how big the memory block is, but
if the SV is SvOOK() sv_backoff() tries to move SvCUR()+1 bytes, which
might be larger than the currently allocated size of the PV.

3 years agoComply old C-standart
Ivan Baidakou [Thu, 11 Jun 2020 20:09:15 +0000 (23:09 +0300)]
Comply old C-standart

3 years agoTry to fix for MSVC
Ivan Baidakou [Thu, 11 Jun 2020 18:53:48 +0000 (21:53 +0300)]
Try to fix for MSVC

3 years agoFix AUTHORS
Ivan Baidakou [Thu, 11 Jun 2020 17:38:08 +0000 (20:38 +0300)]
Fix AUTHORS

3 years agoUpdate AUTHORS
Ivan Baidakou [Thu, 11 Jun 2020 16:44:37 +0000 (19:44 +0300)]
Update AUTHORS

3 years agoCorrect my_rpeep example in perlguts
Ivan Baidakou [Thu, 11 Jun 2020 15:33:17 +0000 (18:33 +0300)]
Correct my_rpeep example in perlguts

The example of my_rpeep in perlguts has an issue that
it might never stop iterating if there is a cycle in
OP tree. For example in the repository

https://github.com/basiliscos/p5-PeepholeTest

it hangs when starts executing test.pl

The right traversal was originally taken from

https://metacpan.org/source/ZEFRAM/Devel-GoFaster-0.001/lib/Devel/GoFaster.xs#L330

3 years agoNote range op behavior change in docs
Hauke D [Mon, 10 Feb 2020 19:24:35 +0000 (20:24 +0100)]
Note range op behavior change in docs

This change documents the previous behavior of the range operator with magic string increment in Perl 5.30 and below - the change was introduced in commit d1bc97feec from GitHub #16770 (RT133695).

3 years agoperl5db: allow the recorded history item length to be configured
Ricardo Signes [Mon, 6 Apr 2020 13:43:51 +0000 (09:43 -0400)]
perl5db: allow the recorded history item length to be configured

This requires a few small changes.

1. add a new option, which I stored in what looked like one of the
   standard ways
2. only store the item in terminal history if >= this length
3. only add to @hist if >= this length
4. only display hist item if >= this length

I believe #4 is redundant and should be removed, but the code was
already effectively there.

3 years agoFull revert of 894d8b10212a906402f4db9f9aac9efe9fa084fd
Nicolas R [Thu, 30 Jul 2020 23:06:46 +0000 (18:06 -0500)]
Full revert of 894d8b10212a906402f4db9f9aac9efe9fa084fd

3 years agoRevert "Small changes to test on bugzilla and improve compatibility"
Nicolas R [Thu, 30 Jul 2020 22:57:32 +0000 (17:57 -0500)]
Revert "Small changes to test on bugzilla and improve compatibility"

This is a partial revert to remove utf8->import
which breaks Storable

This reverts commit 894d8b10212a906402f4db9f9aac9efe9fa084fd.

3 years agoAdd missing removal of FCRYPT macro use after rebase
Todd Rinaldo [Thu, 30 Jul 2020 23:00:31 +0000 (18:00 -0500)]
Add missing removal of FCRYPT macro use after rebase

Fixup for #17624

3 years agoreentr.c: Prevent infinite looping
Karl Williamson [Thu, 12 Mar 2020 18:48:47 +0000 (12:48 -0600)]
reentr.c: Prevent infinite looping

This is an easy, though  paranoid hedge to prevent something that should
never happen from causing an infinite loop if it were to happen.

3 years agoAdd missing MANIFEST entry from fix for debugger
Todd Rinaldo [Thu, 30 Jul 2020 22:42:47 +0000 (17:42 -0500)]
Add missing MANIFEST entry from fix for debugger

Add on fix to #17901

3 years agoFixing intrpvar.h from recent merge
Nicolas R [Thu, 30 Jul 2020 22:33:37 +0000 (17:33 -0500)]
Fixing intrpvar.h from recent merge

This was broken with the change from
a04ef3ff46f2526da1484bdd80995415ac7e1969

3 years agoutf8.h: Remove obsolete macro
Karl Williamson [Fri, 12 Jun 2020 18:36:13 +0000 (12:36 -0600)]
utf8.h: Remove obsolete macro

It turns out that this macro would have failed to compile since
commit 538b546eb0f252250a30c08e6af47d0ea7433fa1, in October 2013.  So it
is clear no one is using it.

3 years agoregexec.c: Use UTF8SKIP for utf8 string
Karl Williamson [Sat, 6 Jun 2020 14:39:58 +0000 (08:39 -0600)]
regexec.c: Use UTF8SKIP for utf8 string

This code was advancing per-byte on a UTF-8 string, which still works,
but is slower than need be.

3 years agoRevert "regcomp: use long jumps if there is any possibility of overflow"
Karl Williamson [Wed, 3 Jun 2020 21:12:07 +0000 (15:12 -0600)]
Revert "regcomp: use long jumps if there is any possibility of overflow"

This reverts commit 4b4b1fbd0d43429c43d5de8857f3266daba1dd66.

That fix was intended as a fail-safe, and left in 5.32.  But, other
changes in blead, chiefly always checking the return of reginsert,
should have made this commit unnecessary.  Now that it is early in the
development cycle, revert it.

3 years agoregcomp.c: Improve pattern dumps
Karl Williamson [Fri, 29 May 2020 21:03:44 +0000 (15:03 -0600)]
regcomp.c: Improve pattern dumps

Instead of saying [x-y], say [xy].

3 years agoregcomp.c: No need to test before setting
Karl Williamson [Fri, 29 May 2020 21:00:12 +0000 (15:00 -0600)]
regcomp.c: No need to test before setting

It's cheaper to just set unconditionally than add a condition to see if
it has already been done.

3 years agoregcomp.c: Replace 2 branches with a single inRANGE
Karl Williamson [Sun, 5 Apr 2020 12:15:30 +0000 (06:15 -0600)]
regcomp.c: Replace 2 branches with a single inRANGE

3 years agoregcomp.c: Remove SPSTART flag
Karl Williamson [Fri, 14 Feb 2020 16:23:21 +0000 (09:23 -0700)]
regcomp.c: Remove SPSTART flag

This flag is set but not examined, so is useless.  Research by Hugo
van der Sanden indicates its value has never been used.

See the thread starting at
http://nntp.perl.org/group/perl.perl5.porters/257101

3 years agoregcomp.c: Remove WORST define
Karl Williamson [Fri, 14 Feb 2020 15:41:40 +0000 (08:41 -0700)]
regcomp.c: Remove WORST define

The is not used and is actually 0, so does nothing as a flag, except
when initializing.

See the thread starting at
http://nntp.perl.org/group/perl.perl5.porters/257101

3 years agoTime-HiRes: Remove obsolete vms code
Karl Williamson [Sun, 8 Mar 2020 17:53:55 +0000 (11:53 -0600)]
Time-HiRes: Remove obsolete vms code

This code became irrelevant in 1996.

See https://github.com/Perl/perl5/pull/17658#pullrequestreview-377796612

3 years agoreentr.c: Buffer sizes for asctime_r,ctime_r are small
Karl Williamson [Tue, 10 Mar 2020 21:19:57 +0000 (15:19 -0600)]
reentr.c: Buffer sizes for asctime_r,ctime_r are small

The needed sizes of these are stated in the man pages, and are much
smaller than were being allocated.

3 years agoNo need to use locale_r with thread-safe locales
Karl Williamson [Tue, 10 Mar 2020 21:28:38 +0000 (15:28 -0600)]
No need to use locale_r with thread-safe locales

These use a completely different mechanism.

3 years agoUse quoted strings to compare 5.031006 in Safe.pm
Todd Rinaldo [Thu, 30 Jul 2020 22:31:41 +0000 (17:31 -0500)]
Use quoted strings to compare 5.031006 in Safe.pm

3 years agoFixup AUTHORS with recent merges
Nicolas R [Thu, 30 Jul 2020 22:31:33 +0000 (17:31 -0500)]
Fixup AUTHORS with recent merges

3 years agoAdjust AUTHORS file with new authors
Nicolas R [Thu, 30 Jul 2020 22:17:05 +0000 (17:17 -0500)]
Adjust AUTHORS file with new authors

3 years agoDo not load utf8_heavy.pl in Safe.pm above 5.31.6
Todd Rinaldo [Thu, 30 Jul 2020 22:22:01 +0000 (17:22 -0500)]
Do not load utf8_heavy.pl in Safe.pm above 5.31.6

This is a fixup for #17969 which wanted to load utf8_heavy.pl but
it is no longer available as of 5.31.6

3 years agoRemove obsolete FCRYPT ifdefs and associated PL_cryptseen (#17624)
Richard Leach [Thu, 30 Jul 2020 22:18:41 +0000 (23:18 +0100)]
Remove obsolete FCRYPT ifdefs and associated PL_cryptseen (#17624)

Co-authored-by: Karl Williamson <khw@cpan.org>
3 years agoHaiku use finddir for default prefix in hints
Thibault DUPONCHELLE [Sat, 13 Jun 2020 14:42:57 +0000 (16:42 +0200)]
Haiku use finddir for default prefix in hints

3 years agoAlign to haiku ports (+ keep some extra) and set path dynamically
Thibault DUPONCHELLE [Sat, 13 Jun 2020 13:39:02 +0000 (15:39 +0200)]
Align to haiku ports (+ keep some extra) and set path dynamically

3 years agore-work opslab handling to avoid non-portable alignment assumptions
Tony Cook [Thu, 25 Jun 2020 05:26:32 +0000 (15:26 +1000)]
re-work opslab handling to avoid non-portable alignment assumptions

Fixes #17871

The op slab allocator code made the assumption that since OP and
hence OPSLOT contain pointers, the base of each of those would be
an integral number of sizeof(pointer) (pointer units) from the
beginning of OPSLAB.

This assumption is non-portable, and broke calculating the location
of the slab based on the address of the op slot and the op slot offset
on m68k platforms.

To avoid that, this change now stores the opslot_offset as the
offset in pointer units from the beginning of opslab_slots rather
than from the beginning of the slab.

If alignment on a pointer boundary for OPs is required, the compiler
will align opslab_opslots and since we work in pointer units from there,
any allocated op slots will also be aligned.

If we assume PADOFFSET is no larger than a pointer and requires no
stricter alignment and structures in themselves have no stricter
alignment requirements then since we work in pointer units all core
OP structures should have sufficient alignment (if this isn't true,
then it's not a new problem, and not the problem I'm trying to solve
here.)

I haven't been able to test this on m68k hardware (the emulator I
tried to use can't maintain a network connection.)

3 years agoRevert "op.h: Add additional padding to struct opslab to ensure proper alignment"
Tony Cook [Tue, 23 Jun 2020 04:19:43 +0000 (14:19 +1000)]
Revert "op.h: Add additional padding to struct opslab to ensure proper alignment"

This reverts commit a760468c9355bafaee57e94f13705c0ea925d9ca.

This change is fragile, the next change avoids the need for such
manual padding.

3 years agoAlways expose the perl_tsa_mutex_* functions when threads are enabled
Tom Stellard [Thu, 14 May 2020 23:51:15 +0000 (23:51 +0000)]
Always expose the perl_tsa_mutex_* functions when threads are enabled

These functions were only part of the API if perl is built with clang.
However perl modules built with clang still try to use them even
when perl itself is built with gcc.  This patch replaces the #ifdef PERL_TSA_ACTIVE
around these functions with defined(USE_ITHREADS) && defined(I_PTHREAD)
so they are always available when treading is enabled.  This fixes the clang build of
perl modules when perl is built with gcc.

3 years agocorelist - print a better error message if unknown versions are passed to corelist...
Dan Book [Wed, 20 May 2020 00:22:46 +0000 (20:22 -0400)]
corelist - print a better error message if unknown versions are passed to corelist --diff

3 years agoreport the index for not found hash/array index lookups in report_uninit()
Tony Cook [Mon, 1 Jun 2020 06:11:50 +0000 (16:11 +1000)]
report the index for not found hash/array index lookups in report_uninit()

where the index is a non-magical, non-reference variable.

This only works where the op is converted to OP_MULTIDEREF, but that
should be happening for the simple cases this handles.

An alternative would be to report the index variable name rather than
the index, but that seems less useful to me.

3 years agoPorting/makerel: add cleanup option
Nicolas R [Fri, 5 Jun 2020 18:15:07 +0000 (12:15 -0600)]
Porting/makerel: add cleanup option

We can now run 'Porting/makerel -c' to cleanup
and generate the tarball.

3 years agoPorting/makerel - check for xz
Nicolas R [Fri, 5 Jun 2020 18:08:25 +0000 (12:08 -0600)]
Porting/makerel - check for xz

In addition to the .tar.gz file also abort when one .xz file
already exists.

3 years agoUpdate Net-Ping from 2.72 to 2.73
Nicolas R [Thu, 23 Jul 2020 15:07:24 +0000 (09:07 -0600)]
Update Net-Ping from 2.72 to 2.73

Fix #17992

This is preserving customized tests
and mark them as customized.

3 years agoClearing DB::action at the end is no longer needed
E. Choroba [Mon, 27 Jul 2020 09:32:51 +0000 (11:32 +0200)]
Clearing DB::action at the end is no longer needed

as it's cleared right after it's been run.

3 years agoAfter running an action in the debugger, turn it off
E. Choroba [Fri, 26 Jun 2020 19:19:24 +0000 (21:19 +0200)]
After running an action in the debugger, turn it off

When running with "c", there was no problem, but when running with "n"
or "s", once the action was executed, it kept executing on the
following lines, which wasn't expected. Clearing $action here prevents
this unwanted behaviour.

3 years agoFix indirect method call in ExtUtils::Constant test
Dagfinn Ilmari Mannsåker [Mon, 13 Jul 2020 21:08:45 +0000 (22:08 +0100)]
Fix indirect method call in ExtUtils::Constant test

It puts both "use $];" and "bootstrap $package \$VERSION;" in the
generated test module, which is going to break if we ever remove
`indirect` from the current feature bundle.

Fix by making the method call direct instead.

3 years agoput version directly in Exporter::Heavy
Graham Knop [Thu, 9 Jul 2020 15:22:07 +0000 (17:22 +0200)]
put version directly in Exporter::Heavy

Modules should have their version number directly in the module, not try
to pull it in from another module. The Exporter module that would be
loaded may not correspond to the Exporter::Heavy that is having its
version checked. Generally, pulling a version from another module would
fail on something like PAUSE or a CPAN client, but because Exporter is
probably already loaded, the old code would usually just pick the
version of the currently installed Exporter, rather than the one
corresponding to the Exporter::Heavy module that is being checked.

3 years agoFuture proof version check
Adam Hartley [Thu, 23 Jul 2020 18:53:07 +0000 (19:53 +0100)]
Future proof version check

3 years agoUpdate darwin.sh
Adam Hartley [Wed, 22 Jul 2020 12:15:53 +0000 (13:15 +0100)]
Update darwin.sh

3 years agoSimplify syscall check
Adam Hartley [Wed, 22 Jul 2020 12:15:30 +0000 (13:15 +0100)]
Simplify syscall check

3 years agoUpdate deprecated syscall check for 11.x and greater
Adam Hartley [Sat, 11 Jul 2020 10:41:27 +0000 (11:41 +0100)]
Update deprecated syscall check for 11.x and greater

3 years agoUpdate error message
Adam Hartley [Wed, 8 Jul 2020 18:10:33 +0000 (19:10 +0100)]
Update error message

3 years agoUpdate AUTHORS
Adam Hartley [Wed, 8 Jul 2020 18:04:45 +0000 (19:04 +0100)]
Update AUTHORS

3 years agoAdd 11.x support for darwin.sh
Adam Hartley [Mon, 6 Jul 2020 21:59:42 +0000 (22:59 +0100)]
Add 11.x support for darwin.sh

3 years agoUpdate regen/feature.pl
☢ ℕicolas ℝ [Wed, 29 Jul 2020 17:23:01 +0000 (11:23 -0600)]
Update regen/feature.pl

Features bundles are built on top of each other.

This change make it easier to read what features
were added from one version to another.
It also helps identify similar bundles.

Features are also now sorted on pod.

Enforce strict & warnings to generate feature.pm

3 years agoIO::Socket::UNIX: synchronize behavior with module documentation (#17787)
vividsnow [Thu, 30 Jul 2020 21:37:58 +0000 (00:37 +0300)]
IO::Socket::UNIX: synchronize behavior with module documentation (#17787)

* synchronize behavior with module documentation

IO::Socket docs states that passing Blocking => 0 will be set socket to non-blocking mode

* Update AUTHORS
* bump version

3 years agopp.c/pp_hot.c - add NV<->NV case to numerical comparison ops
Richard Leach [Tue, 2 Jun 2020 21:48:06 +0000 (22:48 +0100)]
pp.c/pp_hot.c - add NV<->NV case to numerical comparison ops

3 years agoFix 404 and text in New Unicode properties section
raiph [Thu, 2 Jul 2020 16:30:07 +0000 (17:30 +0100)]
Fix 404 and text in New Unicode properties section

See https://github.com/Perl/perl5/issues/17881

I found a 404, and an "old" link. I investigated.

My conclusion was UC have landed new TR18 and TR39 since text in section
  New Unicode properties Identifier_Status and Identifier_Type supported
was written.

I've guessed at a suitable update.

3 years agobump IO to 1.44
Tony Cook [Tue, 12 May 2020 01:27:09 +0000 (11:27 +1000)]
bump IO to 1.44

and update the ChangeLog

3 years agoIO::Handle: clear the error on both input and output streams
Tony Cook [Tue, 12 May 2020 00:59:08 +0000 (10:59 +1000)]
IO::Handle: clear the error on both input and output streams

Similarly to GH #6799 clearerr() only cleared the error status
of the input stream, so clear both.

3 years agomake $fh->error report errors from both input and output
Tony Cook [Tue, 12 May 2020 00:29:17 +0000 (10:29 +1000)]
make $fh->error report errors from both input and output

For character devices and sockets perl uses separate PerlIO objects
for input and output so they can be buffered separately.

The IO::Handle::error() method only checked the input stream, so
if a write error occurs error() would still returned false.

Change this so both the input and output streams are checked.

fixes #6799