This is a live mirror of the Perl 5 development currently hosted at
9 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.

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

9 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

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

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

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

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

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

9 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

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


    @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'

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

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; and it is in UTF-8
Sizhe Zhao [Sun, 9 Aug 2020 09:45:52 +0000 (17:45 +0800)]
Use more idiomatic Chinese in; 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

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`,

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/ to parse perldelta from any major version
☢ ℕicolas ℝ [Tue, 4 Aug 2020 19:59:50 +0000 (13:59 -0600)]
Teach Porting/ 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

it hangs when starts executing

The right traversal was originally taken from

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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