This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
8 months agoUse av_top_index() instead of av_tindex()
Karl Williamson [Thu, 20 Aug 2020 01:06:01 +0000 (19:06 -0600)]
Use av_top_index() instead of av_tindex()

I was never happy with this short form, and other people weren't either.
Now that most things are better expressed in terms of av_count, convert
the few remaining items that are clearer when referring to an index into
using the fully spelled out form

8 months agopp_ctl.c: Convert to use av_count()
Karl Williamson [Wed, 19 Aug 2020 20:33:06 +0000 (14:33 -0600)]
pp_ctl.c: Convert to use av_count()

8 months agoTypemap.xs: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:13:19 +0000 (18:13 -0600)]
Typemap.xs: Convert to use av_count()

8 months agomro.xs: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:12:45 +0000 (18:12 -0600)]
mro.xs: Convert to use av_count()

8 months agoAPItest.xs: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:11:01 +0000 (18:11 -0600)]
APItest.xs: Convert to use av_count()

8 months agoHash-Util-FieldHash: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:09:47 +0000 (18:09 -0600)]
Hash-Util-FieldHash: Convert to use av_count()

8 months agopp.c: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:18:53 +0000 (18:18 -0600)]
pp.c: Convert to use av_count()

8 months agoPERL_FILTER_EXISTS: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:17:36 +0000 (18:17 -0600)]
PERL_FILTER_EXISTS: Convert to use av_count()

8 months agoos2.c: Convert to use av_count()
Karl Williamson [Thu, 20 Aug 2020 00:15:09 +0000 (18:15 -0600)]
os2.c: Convert to use av_count()

8 months agoPorting/makerel: Add a create EBCDIC option
Karl Williamson [Wed, 19 Aug 2020 19:15:12 +0000 (13:15 -0600)]
Porting/makerel: Add a create EBCDIC option

So that the .gz and .xz files can be unpacked on EBCDIC platforms
without any muss or fuss

8 months agoperldelta: Add missing =item lines
Karl Williamson [Wed, 19 Aug 2020 23:12:26 +0000 (17:12 -0600)]
perldelta: Add missing =item lines

8 months agoAdd entry for fixing #16529
Karl Williamson [Wed, 19 Aug 2020 23:08:20 +0000 (17:08 -0600)]
Add entry for fixing #16529

8 months agopod/perldelta: Improve formatting for dual life modules
Nicolas R [Wed, 19 Aug 2020 23:06:22 +0000 (17:06 -0600)]
pod/perldelta: Improve formatting for dual life modules

8 months agoAdd perldelta entry for perldebguts ${"_<$filename"} fix
Dagfinn Ilmari Mannsåker [Wed, 19 Aug 2020 23:03:37 +0000 (00:03 +0100)]
Add perldelta entry for perldebguts ${"_<$filename"} fix

See commit 6e764e36cf6a7c109e74ca4ccafbba27a0b422cd

8 months agoperldelta: alphabetise document list
Dagfinn Ilmari Mannsåker [Wed, 19 Aug 2020 22:59:58 +0000 (23:59 +0100)]
perldelta: alphabetise document list

8 months agoNote customized ExtUtils-Constant test
Dagfinn Ilmari Mannsåker [Wed, 19 Aug 2020 22:56:22 +0000 (23:56 +0100)]
Note customized ExtUtils-Constant test

Commit 67b5e820b9462a832786fae47188b044c8fd42fb adjusted the test file
to avoid an indirect method call, but failed to update
Porting/Maintainers.pl and t/porting/customized.dat.

8 months agoRemove obsolete custimized.dat entry for Pod-Usage test
Dagfinn Ilmari Mannsåker [Wed, 19 Aug 2020 22:55:31 +0000 (23:55 +0100)]
Remove obsolete custimized.dat entry for Pod-Usage test

Commit b9ab2ffe309876b1749351c4276565e2289c82ac updated Pod-Usage to
v1.70, which includes the test change, but failed to remove it from
t/porting/customized.dat.

8 months agoAdd perldetla entries for my_rpeep and range op
Nicolas R [Wed, 19 Aug 2020 22:57:23 +0000 (16:57 -0600)]
Add perldetla entries for my_rpeep and range op

Changes for 39f7bd8a2f and f4941eebb5

8 months agoAdd perldelta entries for dual life modules
Nicolas R [Wed, 19 Aug 2020 22:50:08 +0000 (16:50 -0600)]
Add perldelta entries for dual life modules

8 months agoadd new rjbs email
Karen Etheridge [Wed, 19 Aug 2020 22:44:18 +0000 (15:44 -0700)]
add new rjbs email

8 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

8 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

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

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

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

8 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()

8 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()

8 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()

8 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()

8 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()

8 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()

8 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()

8 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()

8 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()

8 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.

8 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.

8 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

8 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

8 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

8 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)

8 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

8 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

8 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

8 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.

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

8 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.

8 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

8 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`.

8 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.

8 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

8 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

8 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

8 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

8 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

8 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

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

8 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.

8 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.

8 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

8 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

8 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.

8 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>
8 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

8 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

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

8 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.

8 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)

8 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.

8 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.

8 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...

8 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.

8 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.

8 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.

8 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

8 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.

8 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.

8 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.

8 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.

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

8 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.

8 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.

8 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.

8 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.

8 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.

8 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

8 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

8 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.

8 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'.

8 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.

8 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)

8 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.

8 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

8 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

8 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

8 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

8 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.

8 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.

8 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

8 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.

8 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.