This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 months agoAdd perldelta entry for Intel compiler detection fix
Dagfinn Ilmari Mannsåker [Wed, 19 Aug 2020 22:40:46 +0000 (23:40 +0100)]
Add perldelta entry for Intel compiler detection fix

See commit 8ffcbbbe4a4411bb0971e61a39fa2608a4ef5145

10 months agoperldelta: Note GH #18019 is fixed
Karl Williamson [Wed, 19 Aug 2020 22:35:42 +0000 (16:35 -0600)]
perldelta: Note GH #18019 is fixed

10 months agoperldelta: Note more doc changes
Karl Williamson [Wed, 19 Aug 2020 22:22:50 +0000 (16:22 -0600)]
perldelta: Note more doc changes

10 months agoperldelta update for commit 3aa74965c0
Karen Etheridge [Wed, 19 Aug 2020 22:18:29 +0000 (15:18 -0700)]
perldelta update for commit 3aa74965c0

10 months agowhitespace fixes only
Karen Etheridge [Wed, 19 Aug 2020 21:02:58 +0000 (14:02 -0700)]
whitespace fixes only

10 months agovms.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:56:22 +0000 (14:56 -0600)]
vms.c: Convert to use av_count()

10 months agouniversal.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:55:17 +0000 (14:55 -0600)]
universal.c: Convert to use av_count()

10 months agosv.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:53:34 +0000 (14:53 -0600)]
sv.c: Convert to use av_count()

10 months agoregcomp.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:51:09 +0000 (14:51 -0600)]
regcomp.c: Convert to use av_count()

10 months agopp_sys.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:34:19 +0000 (14:34 -0600)]
pp_sys.c: Convert to use av_count()

10 months agopp.h.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:11:13 +0000 (14:11 -0600)]
pp.h.c: Convert to use av_count()

10 months agoperl.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:09:17 +0000 (14:09 -0600)]
perl.c: Convert to use av_count()

10 months agodoio.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:07:06 +0000 (14:07 -0600)]
doio.c: Convert to use av_count()

10 months agopp_hot.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:03:55 +0000 (14:03 -0600)]
pp_hot.c: Convert to use av_count()

10 months agoAdd av_count()
Karl Williamson [Wed, 19 Aug 2020 17:57:17 +0000 (11:57 -0600)]
Add av_count()

This returns the number of elements in an array in a clearly named
function.

av_top_index(), av_tindex() are clearly named, but are less than ideal,
and came about because no one back then thought of this one, until now
Paul Evans did.

10 months agoperldelta: Plan9 and 9front i386
Nicolas R [Wed, 19 Aug 2020 22:08:39 +0000 (16:08 -0600)]
perldelta: Plan9 and 9front i386

Relates: #17891

Add perldelta entry for Plan9 and 9front.

10 months agomassage perldelta entries for perl5db.pl
Karen Etheridge [Wed, 19 Aug 2020 21:17:37 +0000 (14:17 -0700)]
massage perldelta entries for perl5db.pl

10 months agoperlguts: Mention format display modifiers for nonstandards
Karl Williamson [Wed, 19 Aug 2020 21:22:53 +0000 (15:22 -0600)]
perlguts: Mention format display modifiers for nonstandards

You can print ptrdiff_t values just fine, for example

10 months agoperldelta: Note new z/OS locale categories
Karl Williamson [Wed, 19 Aug 2020 21:18:39 +0000 (15:18 -0600)]
perldelta: Note new z/OS locale categories

10 months agoperldelta: explain 015b02fd303c and HistItemMinLength in perl5db (#18075)
Ricardo Signes [Wed, 19 Aug 2020 20:40:41 +0000 (16:40 -0400)]
perldelta: explain 015b02fd303c and HistItemMinLength in perl5db (#18075)

10 months agoAdd perldelta entry for ExtUtils::PL2Bat
Leon Timmermans [Wed, 19 Aug 2020 20:02:27 +0000 (22:02 +0200)]
Add perldelta entry for ExtUtils::PL2Bat

10 months agoAdd a note to perldelta about the recently-added SAVEt_HINTS_HH type
Paul "LeoNerd" Evans [Wed, 19 Aug 2020 14:26:52 +0000 (15:26 +0100)]
Add a note to perldelta about the recently-added SAVEt_HINTS_HH type

10 months agoUpdate Pod-Usage to v1.70
Nicolas R [Tue, 18 Aug 2020 15:20:17 +0000 (09:20 -0600)]
Update Pod-Usage to v1.70

Customized patch to t/pod/testp2pt.pl is now applied upstream
and part of the 1.70 release.

References: 88e4265ca263642612277ef33dd08ded69e4e4c5
Upstream-URL: https://rt.cpan.org/Ticket/Display.html?id=130418

10 months agoembed.fnc: Mark reg_named_buffFOO as Core only
Karl Williamson [Wed, 22 Jul 2020 11:41:52 +0000 (05:41 -0600)]
embed.fnc: Mark reg_named_buffFOO as Core only

These are pointers to Perl's internal regex engine functions.  They ae
automatically used, unless overridden by setting a function pointer in
any custom engine installed.

10 months agoDocument my_strftime
Karl Williamson [Wed, 22 Jul 2020 12:47:18 +0000 (06:47 -0600)]
Document my_strftime

10 months agoperl.h: Add some pod formatting.
Karl Williamson [Tue, 18 Aug 2020 01:31:04 +0000 (19:31 -0600)]
perl.h: Add some pod formatting.

This somehow got left off the previous commit.

10 months agoDocument several PERL_UNUSED_foo macros
Karl Williamson [Sat, 18 Jul 2020 13:12:44 +0000 (07:12 -0600)]
Document several PERL_UNUSED_foo macros

10 months agoperlref.pod: Fix heading levels and ordering
Dagfinn Ilmari Mannsåker [Mon, 17 Aug 2020 22:55:44 +0000 (23:55 +0100)]
perlref.pod: Fix heading levels and ordering

Commit cb1a09d0194fed9b905df7b04a4bc031d354609d (perl 5.002) promoted
the WARNING and SEE ALSO headings in perlref from `=head2` to
`=head1`, but subsequent changes added things that should have been
`=head2` before the WARNING as `=head1` between the two.

Commit f0d9913136619e8b6716f2dfa6d8524a6df9e2c0 fixed some of those
heading levels, but left "Declaring a Reference to a Variable" as
`=head1`.

10 months agoregen_perly.pl: remove extraneous comments from bison 3.x
Dagfinn Ilmari Mannsåker [Mon, 17 Aug 2020 19:27:51 +0000 (20:27 +0100)]
regen_perly.pl: remove extraneous comments from bison 3.x

The script alrady stripped out comments from bison 2.4 on the form

    /* Line 1234 of yacc.c */

But bison 3.0 changed the comment syntax to

    /* yacc.c:1234 */

Let's remove those too.

10 months agodist/threads-shared: use PERL_VERSION compare macro
Nicolas R [Wed, 12 Aug 2020 20:28:33 +0000 (15:28 -0500)]
dist/threads-shared: use PERL_VERSION compare macro

10 months agodist/Data-Dumper: use PERL_VERSION compare macro
Nicolas R [Wed, 12 Aug 2020 20:24:49 +0000 (15:24 -0500)]
dist/Data-Dumper: use PERL_VERSION compare macro

Convert one 'else if' statement to a '#if' check

10 months agodist/Unicode-Normalize: use PERL_VERSION compare macro
Nicolas R [Wed, 12 Aug 2020 17:32:44 +0000 (12:32 -0500)]
dist/Unicode-Normalize: use PERL_VERSION compare macro

10 months agodist/IO: use PERL_VERSION compare macro
Nicolas R [Wed, 12 Aug 2020 17:28:48 +0000 (12:28 -0500)]
dist/IO: use PERL_VERSION compare macro

Note: VERSION was already bumped as part of e6aa2bc12e9cf0a0

10 months agodist/ExtUtils-ParseXS: use PERL_VERSION compare macro
Nicolas R [Wed, 12 Aug 2020 17:39:04 +0000 (12:39 -0500)]
dist/ExtUtils-ParseXS: use PERL_VERSION compare macro

10 months agoTweak IRC Notifications to #p5p-commits
Nicolas R [Mon, 17 Aug 2020 14:56:47 +0000 (08:56 -0600)]
Tweak IRC Notifications to #p5p-commits

10 months agobump $Data::Dumper::VERSION
Tony Cook [Thu, 13 Aug 2020 05:15:03 +0000 (15:15 +1000)]
bump $Data::Dumper::VERSION

10 months agoData::Dumper (XS): use mortals to prevent leaks if magic throws
Tony Cook [Wed, 12 Aug 2020 06:20:16 +0000 (16:20 +1000)]
Data::Dumper (XS): use mortals to prevent leaks if magic throws

For example:

  use Tie::Scalar;
  use Data::Dumper;
  sub T::TIESCALAR { bless {}, shift}
  sub T::FETCH { die }
  my $x;
  tie $x, "T" or die;
  while(1) {
      eval { () = Dumper( [ \$x ] ) };
  }

would leak various work SVs.

I start a new scope (ENTER/LEAVE) for most recursive DD_dump() calls
so that the work SVs don't accumulate on the temps stack, for example
if we're dumping a large array we'd end up with several SVs on the
temp stack for each member of the array.

The exceptions are where I don't expect a large number of unreleased
temps to accumulate, as with scalar or glob refs.

10 months agomake postav and valstr mortal so they're freed soonish
Tony Cook [Tue, 11 Aug 2020 00:46:38 +0000 (10:46 +1000)]
make postav and valstr mortal so they're freed soonish

these can leak if the value being dumped (or any part of it)
had get magic and that magic throws an exception.

Several other SVs can also leak in that case, but cleaning those up
is more complex.

10 months agoData::Dumper: don't leak the working retval
Tony Cook [Mon, 10 Aug 2020 06:26:30 +0000 (16:26 +1000)]
Data::Dumper: don't leak the working retval

do this by mortalizing the SV on creation, rather than when we
push it on the stack

10 months agoPorting/Maintainers.pm: correct typo in name of file within test description
James E Keenan [Mon, 17 Aug 2020 01:41:52 +0000 (21:41 -0400)]
Porting/Maintainers.pm: correct typo in name of file within test description

Increment $VERSION

10 months agoPL_signals is undocumented
Karl Williamson [Sat, 15 Aug 2020 23:01:44 +0000 (17:01 -0600)]
PL_signals is undocumented

Therefore there is no link to it.

10 months agoskip flaky port test on windows
Christian Walde (Mithaldu) [Mon, 29 Jun 2020 04:59:00 +0000 (06:59 +0200)]
skip flaky port test on windows

Fix #17992

The test being skipped there is unreliable on windows.
Possibly @leonerd has a better idea, but in the meantime
I think it's fine to simply skip that one.

(cherry picked from commit 10e96ffd8a056ee32854ea3dcb89d99d9411ac67)
Signed-off-by: Nicolas R <atoomic@cpan.org>
10 months agoDocument PERL_SIGNALS_UNSAFE_FLAG
Karl Williamson [Wed, 22 Jul 2020 22:59:51 +0000 (16:59 -0600)]
Document PERL_SIGNALS_UNSAFE_FLAG

This is for the benefit of Devel::PPPort

10 months agoNote SV_UTF8_NO_ENCODING exists, but deprecated
Karl Williamson [Wed, 22 Jul 2020 23:21:13 +0000 (17:21 -0600)]
Note SV_UTF8_NO_ENCODING exists, but deprecated

10 months agoNote GIMME is deprecated
Karl Williamson [Wed, 22 Jul 2020 23:04:34 +0000 (17:04 -0600)]
Note GIMME is deprecated

10 months agoembed.fnc: Mark various save_foo as Core only
Karl Williamson [Wed, 22 Jul 2020 11:50:47 +0000 (05:50 -0600)]
embed.fnc: Mark various save_foo as Core only

There are documented macros for each, like SAVEBOOL, that one is
supposed to use for this functionality.

10 months agoembed.fnc: Mark unlnk as Core only
Karl Williamson [Wed, 22 Jul 2020 11:36:56 +0000 (05:36 -0600)]
embed.fnc: Mark unlnk as Core only

The macro UNLINK is what one is supposed to use for this functionality,
(though that isn't documented either)

10 months agoembed.fnc: Mark sys_init3?, sys_term as Core only
Karl Williamson [Wed, 22 Jul 2020 11:05:32 +0000 (05:05 -0600)]
embed.fnc: Mark sys_init3?, sys_term as Core only

The ALL-CAPS macro names are what one is supposed to use for this
functionality.

10 months agoembed.fnc: Mark gimmve_V as Core only
Karl Williamson [Wed, 22 Jul 2020 11:03:10 +0000 (05:03 -0600)]
embed.fnc: Mark gimmve_V as Core only

The macro GIMME_V is what one is supposed to use for this functionality.

10 months agoembed.fnc: ckwarn(), ckwarn_d() not API
Karl Williamson [Sat, 18 Jul 2020 11:41:53 +0000 (05:41 -0600)]
embed.fnc: ckwarn(), ckwarn_d() not API

These are just for the macros ckWARN..., ckWARN_d...

10 months agoembed.fnc: Mark freetmps as Core only
Karl Williamson [Wed, 22 Jul 2020 12:38:02 +0000 (06:38 -0600)]
embed.fnc: Mark freetmps as Core only

The macro FREETMPS is what one is supposed to use for this functionality.

10 months agoembed.fnc: Mark foldEQ_latin1 as Core only
Karl Williamson [Wed, 22 Jul 2020 12:05:29 +0000 (06:05 -0600)]
embed.fnc: Mark foldEQ_latin1 as Core only

This is a helper for internal use, as it isn't a complete solution to
the problem.

10 months agohv_common, hv_common_key_len aren't API
Karl Williamson [Sat, 18 Jul 2020 15:52:23 +0000 (09:52 -0600)]
hv_common, hv_common_key_len aren't API

They are helper functions called from various functions that are API.

10 months agoembed.fnc: delimcpy_no_escape is now documented
Karl Williamson [Fri, 14 Aug 2020 11:54:22 +0000 (05:54 -0600)]
embed.fnc: delimcpy_no_escape is now documented

Indicate this to silence an autodoc warning;

This commit also fixes the ragged right edge of continuations lines by
adding white-space only

10 months agoninstr(): Use memchr instead of a loop
Karl Williamson [Sun, 29 Mar 2020 16:29:29 +0000 (10:29 -0600)]
ninstr(): Use memchr instead of a loop

This function is perl's memmem if that function isn't available.  This
commit replaces its loop with a call to memchr, which is a C89 function.

10 months agoFix leak GH #18054
Karl Williamson [Wed, 12 Aug 2020 23:53:52 +0000 (17:53 -0600)]
Fix leak GH #18054

This was a simple matter of one path failing to free the memory.

10 months agot/comp: use \Q\E to avoid manual escaping
Nicolas R [Wed, 12 Aug 2020 22:04:30 +0000 (17:04 -0500)]
t/comp: use \Q\E to avoid manual escaping

This is avoiding some manual escaping,
fixes some test where '.' was not escaped
and also improve readability of the unit test itself.

10 months agoremove noise from porting/regen.t
Tony Cook [Wed, 12 Aug 2020 01:38:49 +0000 (11:38 +1000)]
remove noise from porting/regen.t

diag() is for reporting information on exceptional events, note()
is more appropriate.

The debug output this produces is still visible in a verbose test
run.

10 months agoperldelta updates
Tony Cook [Wed, 12 Aug 2020 01:35:01 +0000 (11:35 +1000)]
perldelta updates

10 months agoUpdate Devel-PPPort to release 3.60
Nicolas R [Tue, 11 Aug 2020 19:45:54 +0000 (13:45 -0600)]
Update Devel-PPPort to release 3.60

This is mainly restoring the PERL_BCDVERSION macro.
PERL_BCDVERSION is used by multiple CPAN distributions
and should not have been renamed.

10 months agoporting/pod_rules.t: Add a hint comment
Karl Williamson [Tue, 11 Aug 2020 11:23:18 +0000 (05:23 -0600)]
porting/pod_rules.t: Add a hint comment

This comment would have saved me hours of debugging if it had been there
when I started.

10 months agolist assign in list context: honour LHS undef
David Mitchell [Tue, 11 Aug 2020 12:58:51 +0000 (13:58 +0100)]
list assign in list context: honour LHS undef

GH #16685

In

    @a = ($x, undef, undef) = (1))

@a should have 3 elements. v5.25.6-79-gb09ed995ad broke this and was
returning one element.

The fix is simple: that previous commit made it so that elements were
pushed back onto the stack only if they weren't immortal, so
&PL_sv_undef was getting skipped. Make it so they always are.

10 months agolist assign in list context was over-optimising
David Mitchell [Tue, 11 Aug 2020 10:55:46 +0000 (11:55 +0100)]
list assign in list context was over-optimising

GH #17816

This code:

    my $x = 1;
    print (($x, undef) = (2 => $x));

was printing "22" when it should have been printing "21".
An optimisation skips the 'common values on both sides' test
when the LHS of an assign only contains a single var; as the example
above shows, this is not sufficient.

This was broken by v5.23.1-202-g808ce55782

This commit fixes it by counting undef's on the LHS towards the var
count if they don't appear first.

10 months agoadd a default enabled feature "multidimensional"
Tony Cook [Wed, 27 May 2020 00:41:32 +0000 (10:41 +1000)]
add a default enabled feature "multidimensional"

Like "indirect" this feature is enabled by default and enables the
perl4 hash-based multidimensional array emulation documented under
$; in perlvar.

10 months agoperlfunc.pod - when sleep() is called with a negative int or 0
Richard Leach [Fri, 31 Jul 2020 16:24:05 +0000 (17:24 +0100)]
perlfunc.pod - when sleep() is called with a negative int or 0

Intended to address #18010

10 months agoIO::Handle: Fix a spurious error reported for regular file handles
Petr Písař [Thu, 6 Aug 2020 08:51:56 +0000 (10:51 +0200)]
IO::Handle: Fix a spurious error reported for regular file handles

89341f87 fix for GH #6799 introduced a regression when calling error()
on an IO::Handle object that was opened for reading a regular file:

$ perl -e 'open my $f, q{<}, q{/etc/hosts} or die; print qq{error\n} if $f->error'
error

In case of a regular file opened for reading, IoOFP() returns NULL and
PerlIO_error(NULL) reports -1. Compare to the case of a file opened
for writing when both IoIFP() and IoOFP() return non-NULL, equaled
pointer.

This patch fixes handling the case of the NULL output stream.

GH #18019

10 months agoAdd a hint to t/porting/regen.t
☢ ℕicolas ℝ [Mon, 3 Aug 2020 19:26:55 +0000 (14:26 -0500)]
Add a hint to t/porting/regen.t

Also use 'lib' instead of '.'
when running the regen script with tap output
abort on the first failure so we advertise
the command to run to fix the issue.

10 months agoProvide a better recommendation for 'Run only under a shell'
Nicolas R [Tue, 16 Jun 2020 17:05:17 +0000 (11:05 -0600)]
Provide a better recommendation for 'Run only under a shell'

Using an unset variable hides the true intent and
also requires an extra backslash `\$running_under_some_shell`
when used in heredoc.

Note that this could also lead to mistake when using
`\$` in a regular Perl program, as this would be true
and not false as it should be.

Stop recommending the use of an undefined variable for
the shell fallback. Use '0', with a comment
making clear the goal of 'if 0'.

10 months agoRewrite delimcpy_no_escape()
Karl Williamson [Sat, 25 Jul 2020 15:01:27 +0000 (09:01 -0600)]
Rewrite delimcpy_no_escape()

This was doing a byte-by-byte search and copy.  We can make things
simpler and faster by
    1) only looking within the available space region
    2) using memchr for seach
    3) using Copy to copy the whole thing at once.

10 months agoUse more idiomatic Chinese in README.cn; and it is in UTF-8
Sizhe Zhao [Sun, 9 Aug 2020 09:45:52 +0000 (17:45 +0800)]
Use more idiomatic Chinese in README.cn; and it is in UTF-8

Update MANIFEST and pod/perl.pod to correspond.

(Commiter did the perl.pod update)

10 months agoUpdate Devel-PPPort to release 3.59
Nicolas R [Mon, 10 Aug 2020 17:43:51 +0000 (11:43 -0600)]
Update Devel-PPPort to release 3.59

Note that test files are not under file version
control anymore as they are generated files.

10 months agoTime-HiRes uses PERL compare macro
Nicolas R [Mon, 10 Aug 2020 22:26:05 +0000 (16:26 -0600)]
Time-HiRes uses PERL compare macro

10 months agoTime-HiRes: update Changes and promote github URLs
Nicolas R [Mon, 10 Aug 2020 22:08:36 +0000 (16:08 -0600)]
Time-HiRes: update Changes and promote github URLs

10 months agomyconfig.SH: remove leftover bincompat5005 entry
Dagfinn Ilmari Mannsåker [Mon, 10 Aug 2020 19:38:04 +0000 (20:38 +0100)]
myconfig.SH: remove leftover bincompat5005 entry

10 months agot/op/args.t: remove obsolete 5005threads comment
Dagfinn Ilmari Mannsåker [Mon, 10 Aug 2020 19:37:46 +0000 (20:37 +0100)]
t/op/args.t: remove obsolete 5005threads comment

10 months agoB: Remove 5005threads vestiges from tests
Dagfinn Ilmari Mannsåker [Mon, 10 Aug 2020 19:29:28 +0000 (20:29 +0100)]
B: Remove 5005threads vestiges from tests

Also remove long-obsolete comment about `usethreads` vs
`use(i|5005)threads`.  It is no longer possible to configure perl with
"threads" without an actual implementation, and ponie is long dead.

10 months agoRegenerate Porting/Glossary
Dagfinn Ilmari Mannsåker [Mon, 10 Aug 2020 19:06:29 +0000 (20:06 +0100)]
Regenerate Porting/Glossary

Several recent commits adding new Configure probes have missed
regenerating the Glossary.

10 months agofix build for the two SipHash variations
Tony Cook [Mon, 8 Jun 2020 00:41:50 +0000 (10:41 +1000)]
fix build for the two SipHash variations

fixes #16471

10 months agofix `l $var` where $var is a lexical variable
Tony Cook [Tue, 31 Mar 2020 05:45:04 +0000 (16:45 +1100)]
fix `l $var` where $var is a lexical variable

As with `i $obj` the DB::Obj in the call stack prevented DB::eval
from compiling/executing in the context of the debugged code.

10 months agofix C<i $obj> where $obj is a lexical
Tony Cook [Mon, 30 Mar 2020 05:32:46 +0000 (16:32 +1100)]
fix C<i $obj> where $obj is a lexical

the DB::eval function depends on the special behaviour of eval ""
within the DB package, which evaluates the string within the context
of the first non-DB sub or eval scope, working up the call stack.

The debugger refactor moved handling for the 'i' command from the
DB package to the DB::Obj package, so the eval in DB::eval was
working in the context of the DB::Obj::cmd_i function, not in the
calling scope.

Fixed by moving the handling for the i command back to DB.

Fixes #17661.

10 months 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.

10 months 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

10 months 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.

10 months 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

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

10 months 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.

10 months 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

10 months 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.

10 months 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.

10 months 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

10 months 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.

10 months 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

10 months 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.

10 months 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

10 months 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`.

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

10 months 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

10 months 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

10 months 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

10 months 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