This is a live mirror of the Perl 5 development currently hosted at
15 months agoI think "program scope" is clearer here than "current file scope"
Tony Cook [Wed, 4 Mar 2020 05:27:35 +0000 (16:27 +1100)]
I think "program scope" is clearer here than "current file scope"

Further clarified it has no effect on modules.

"main program scope" is even clearer, credit to github comments.

Clarifies a documentation nit discussed in #17458

15 months agoRework PerlIO documentation
Dan Book [Wed, 11 Mar 2020 00:31:27 +0000 (20:31 -0400)]
Rework PerlIO documentation

- Add Layers section in the description, giving details of how layers work and encompassing the list of built-in layers
- Add various information relevant to modern usage of each layer
- Consistently refer to layers with a leading colon
- Redo :utf8 and :bytes layer descriptions
- Remove references to using the :utf8 layer for UTF-8 translation
- Add :scalar layer
- Move description of default layers that was oddly in "Querying" section to the end of "Defaults" section
- Correct default layers to specify that PERLIO=:stdio will always result in default layers of :stdio
- Update all examples to be strict-safe and check for open/binmode failure
- Capitalize references to Perl consistently

15 months agoRevert "fixup to "avoid identical stack traces""
Nicolas R [Thu, 12 Mar 2020 21:14:26 +0000 (15:14 -0600)]
Revert "fixup to "avoid identical stack traces""

This reverts commit fb8188b84d8a8f34f90aa9a8d9837892967f6b93.

Unfortunately this is causing some errors during global destruction

Unbalanced string table refcount: (1) for "open_IN" during global destruction

It seems to be flapping, and recompiling Perl could see or not the


15 months agoIsolate broken 32bit gcc smokers
Nicolas R [Thu, 12 Mar 2020 15:04:14 +0000 (09:04 -0600)]
Isolate broken 32bit gcc smokers

32bits smokers are broken and installing
'dpkg --add-architecture i386' fails on all debian.

Isolate them in order to avoid to have to install i386

15 months agodocs: clarify effect of $^H, %^H, ${^WARNING_BITS}
David Mitchell [Thu, 12 Mar 2020 15:41:24 +0000 (15:41 +0000)]
docs: clarify effect of $^H, %^H, ${^WARNING_BITS}


15 months agofixup to "avoid identical stack traces"
David Mitchell [Thu, 12 Mar 2020 14:14:24 +0000 (14:14 +0000)]
fixup to "avoid identical stack traces"

GH #15109, #17567

My original fix for this issue, v5.31.6-141-gf2f32cd638
made a shallow copy of &PL_compiling. However, for non-default
warning bits, this made two COPs share the malloced() cop_warnings,
and bad things ensured. In particular this was flagged up in:

    GH #17567: "BBC: AYOUNG/OpenVZ-0.01.tar.gz"

The fix in this commit is to do a deep copy of the COP using

15 months agoCI do not abort a build too early
Nicolas R [Thu, 12 Mar 2020 14:57:59 +0000 (08:57 -0600)]
CI do not abort a build too early

Currently the 32bit smokers are broken due to some
deps issues. We could consider disable them but it's
better that they do not impact other smokers.

15 months agoRevert "Avoid failures from Install 32bit dependencies issues"
Nicolas R [Thu, 12 Mar 2020 14:56:36 +0000 (08:56 -0600)]
Revert "Avoid failures from Install 32bit dependencies issues"

This reverts commit 29a8ce81089f5cf0be406bc203e22cbe4dc52584.

15 months agogh#10059 - potentially reduce -Wall warnings on plan9. Not tested.
Richard Leach [Sat, 15 Feb 2020 01:34:57 +0000 (01:34 +0000)]
gh#10059 - potentially reduce -Wall warnings on plan9. Not tested.

15 months agoAvoid failures from Install 32bit dependencies issues
Nicolas R [Wed, 11 Mar 2020 22:12:14 +0000 (16:12 -0600)]
Avoid failures from Install 32bit dependencies issues

Multiple CI build failed due to 32 bits dependencies
issues. Let's try to move them as optional.

15 months agoop.c: S_fold_constants_eval can't be inlined
Karl Williamson [Tue, 10 Mar 2020 04:27:34 +0000 (22:27 -0600)]
op.c: S_fold_constants_eval can't be inlined

Because it uses setjmp, is what g++ says

15 months agoStop requesting inlining some functions in recomp.c
Karl Williamson [Tue, 10 Mar 2020 00:28:47 +0000 (18:28 -0600)]
Stop requesting inlining some functions in recomp.c

Pattern compilation is not a performance critical process; there's no
need to request these to be inlined.  Let the compiler decide, given
they are static anyway.  This came up because g++ was warning they
weren't getting inlined anyway.

15 months agoRevert "croak_memory_wrap is an inline function."
Karl Williamson [Mon, 9 Mar 2020 23:47:09 +0000 (17:47 -0600)]
Revert "croak_memory_wrap is an inline function."

This reverts commit 6c714a09cc08600278e72aea1fcdf83576d061b4.
croak_memory_wrap is designed to save a few bytes of memory, and was
never intended to be inlined.  This commit moves it to util.c where the
other croak functions are.

15 months agoregexec.c: Clean up debug call
Hugo van der Sanden [Tue, 10 Mar 2020 19:05:55 +0000 (13:05 -0600)]
regexec.c: Clean up debug call

The code this replaces relies on the internal structure of a macro,
which can change and break things.  This commit changes to use a more
straight forward way of accomplishing the same thing.

15 months agoRmv obsolete function
Karl Williamson [Wed, 11 Mar 2020 22:16:18 +0000 (16:16 -0600)]
Rmv obsolete function

Use of this function was removed as part of adding wildcarding to the
Unicode name property

15 months agouse re qw(debug foo) should warn
Karl Williamson [Fri, 6 Mar 2020 00:25:26 +0000 (17:25 -0700)]
use re qw(debug foo) should warn

Instead, foo was silently ignored

15 months agoAllow debugging from regexec.c back to regcomp.c
Karl Williamson [Tue, 25 Feb 2020 05:25:07 +0000 (22:25 -0700)]
Allow debugging from regexec.c back to regcomp.c

The compilation of User-defined properties in a regular expression that
haven't been defined at the time that pattern is compiled is deferred
until execution time.  Until this commit, any request for debugging info
on those was ignored.

This fixes that by

15 months agoregcomp.c: Update comments
Karl Williamson [Thu, 20 Feb 2020 20:14:56 +0000 (13:14 -0700)]
regcomp.c: Update comments

15 months agolib/charnames.t: White-space only
Karl Williamson [Thu, 20 Feb 2020 19:27:53 +0000 (12:27 -0700)]
lib/charnames.t: White-space only

15 months agoregen/opcodes: Clarify comment
Karl Williamson [Wed, 11 Mar 2020 20:23:18 +0000 (14:23 -0600)]
regen/opcodes: Clarify comment

15 months should use current Perl to run Makefile.PL
Nicolas R [Wed, 11 Mar 2020 17:15:26 +0000 (11:15 -0600)] should use current Perl to run Makefile.PL

15 months agoAdd thread safety to some environment accesses
Karl Williamson [Fri, 6 Mar 2020 21:18:45 +0000 (14:18 -0700)]
Add thread safety to some environment accesses

The previous commit added a mutex specifically for protecting against
simultaneous accesses of the environment.  This commit changes the
normal getenv, putenv, and clearenv functions to use it, to avoid races.

This makes the code simpler in places where we've gotten burned and
added stuff to avoid races.  Other places where we haven't known we were
getting burned could have existed until now.  Now that comes
automatically, and we can remove the special cases we earlier stumbled

getenv() returns a pointer to static memory, which can be overwritten at
any moment from another thread, or even another getenv from the same
thread.  This commit changes the accesses to be under control of a
mutex, and in the case of getenv, a mortalized copy is created so that
there is no possible race.

15 months agoAdd mutex for accessing ENV
Karl Williamson [Thu, 20 Feb 2020 23:51:31 +0000 (16:51 -0700)]
Add mutex for accessing ENV

15 months agoCreate new PUSHSTACKi for regcomp.c
Karl Williamson [Tue, 10 Mar 2020 04:21:31 +0000 (22:21 -0600)]
Create new PUSHSTACKi for regcomp.c

See previous commit.

15 months agocop.h: Add comment
Karl Williamson [Mon, 9 Mar 2020 23:29:22 +0000 (17:29 -0600)]
cop.h: Add comment

15 months agoImplement \p{Name=/.../} wildcards
Karl Williamson [Sat, 15 Feb 2020 21:28:32 +0000 (14:28 -0700)]
Implement \p{Name=/.../} wildcards

This commit adds wildcard subpatterns for the Name and Name Aliases

15 months Make a variable ReadOnly
Karl Williamson [Mon, 9 Mar 2020 22:57:23 +0000 (16:57 -0600)] Make a variable ReadOnly

This is in preparation for exporting it in the next commit.

15 months agomktables: Calculate legal chars in algorithmic names
Karl Williamson [Mon, 24 Feb 2020 20:35:01 +0000 (13:35 -0700)]
mktables: Calculate legal chars in algorithmic names

Many ideographic character names are of the form 'prefix-code_point'.
For these, we know that the legal names are just the ones in the prefix,
the dash, and uppercase hex digits.  This commit for each series of
these types of names figures out what characters are legal in that
series, and adds that info to the hash describing the series.  This will
be used in a later commit to rule out entire series when matching
under some circumstances, without having to try any individual matches
within it.

15 months agolib/ Fix comment
Karl Williamson [Mon, 9 Mar 2020 22:26:52 +0000 (16:26 -0600)]
lib/ Fix comment

15 months agoReformat lib/unicore/
Karl Williamson [Thu, 13 Feb 2020 16:04:41 +0000 (09:04 -0700)]
Reformat lib/unicore/

This changes the format of this generated file so that it can more
easily be used with the Unicode Name property in wildcard matching.

Each line will now end with \n\n, and the \t characters are replaced by
\n.  Thus an entry will look like


This makes matching of user-defined patterns using anchors work under
/m, which commit 4829f32decd128e6a122bd8ce35fe944bd87f104 forces.  That
commit also changed some anchors' defintions to make them match \n under
/m with wildcards, so this makes it all transparent to user patterns.

The double \n\n at the end of an entry is so that the code can
distinguish between a line that contains a code point vs a name without
relying on the content; it is a disambiguator, like the \t that used to

15 months agoext/re/ Fix up setting debug option defaults
Karl Williamson [Thu, 5 Mar 2020 03:19:01 +0000 (20:19 -0700)]
ext/re/ Fix up setting debug option defaults

This was not setting the defaults properly for 'debug', and 'Debug'

15 months agoregcomp.h: Combine two macros into one
Karl Williamson [Thu, 5 Mar 2020 02:58:33 +0000 (19:58 -0700)]
regcomp.h: Combine two macros into one

One of these macros is no longer used, so just combine them.

15 months agoregexp.h: no subbeg move when reordering regexp struct
Richard Leach [Sun, 8 Mar 2020 13:09:30 +0000 (13:09 +0000)]
regexp.h: no subbeg move when reordering regexp struct

15 months agoregexp.h -reorder regexp to close x86-64 alignment holes
Richard Leach [Tue, 25 Feb 2020 00:15:32 +0000 (00:15 +0000)]
regexp.h -reorder regexp to close x86-64 alignment holes

15 months agoadd the missing =back
David Cantrell [Fri, 6 Mar 2020 10:15:01 +0000 (10:15 +0000)]
add the missing =back

15 months agominor changes from review
David Cantrell [Fri, 6 Mar 2020 00:21:47 +0000 (00:21 +0000)]
minor changes from review

15 months agodocumentation on how -I, -M, PERL5LIB and PERL5OPT interact
David Cantrell [Thu, 5 Mar 2020 22:58:30 +0000 (22:58 +0000)]
documentation on how -I, -M, PERL5LIB and PERL5OPT interact

15 months agoregexp.h: remove redundant comment
Hugo van der Sanden [Wed, 11 Mar 2020 14:29:40 +0000 (14:29 +0000)]
regexp.h: remove redundant comment

14 years of churn have so far removed this comment from its original
referents that it has no current relevance.

15 months agoUnicode 13.0 is now official
Karl Williamson [Wed, 11 Mar 2020 03:46:09 +0000 (21:46 -0600)]
Unicode 13.0 is now official

There were no changes in the files since blead was last updated with the
beta versions.

15 months agoImprove handling missing data in t/porting/authors.t with github actions.
John Lightsey [Thu, 5 Mar 2020 15:52:14 +0000 (09:52 -0600)]
Improve handling missing data in t/porting/authors.t with github actions.

On cygwin smoke runs, the "merge-base" calculation results in an error, but
the test is functional if it traverses the full git history.

15 months agoAdd clang and 32bit gcc to linux smoke test matrix.
John Lightsey [Thu, 5 Mar 2020 04:25:48 +0000 (22:25 -0600)]
Add clang and 32bit gcc to linux smoke test matrix.

15 months agoAdd additional email addresses for John Lightsey
John Lightsey [Thu, 5 Mar 2020 03:50:49 +0000 (21:50 -0600)]
Add additional email addresses for John Lightsey

15 months agoFix cygwin smoker configuration.
John Lightsey [Thu, 5 Mar 2020 03:29:55 +0000 (21:29 -0600)]
Fix cygwin smoker configuration.

Checkouts in the cygwin smoke action were performed without authentication.
This made the action fail in private repos.

This also fixes a mistake in the way shell commands were quoted.

15 months agoEncode: synch with CPAN version 3.04
James E Keenan [Wed, 11 Mar 2020 00:22:54 +0000 (20:22 -0400)]
Encode: synch with CPAN version 3.04

15 months agoTime-Piece: synch with CPAN version 1.34
James E Keenan [Tue, 10 Mar 2020 02:24:37 +0000 (02:24 +0000)]
Time-Piece: synch with CPAN version 1.34

15 months agoregcomp.c: Fix comments
Karl Williamson [Mon, 9 Mar 2020 23:08:25 +0000 (17:08 -0600)]
regcomp.c: Fix comments

Spotted by Hugo van der Sanden

15 months agoperlunicode: Fix typo
Karl Williamson [Mon, 9 Mar 2020 22:23:37 +0000 (16:23 -0600)]
perlunicode: Fix typo

Spotted by Hugo van der Sanden

15 months agomalloc.c: Fix compiler warnings/error
Karl Williamson [Sun, 8 Mar 2020 18:29:01 +0000 (12:29 -0600)]
malloc.c: Fix compiler warnings/error

This needed a const to compile, and there were warnings as well.

15 months agooptimize sort by inlining comparison functions
Tomasz Konojacki [Mon, 2 Mar 2020 23:45:05 +0000 (00:45 +0100)]
optimize sort by inlining comparison functions

This makes special-cased forms such as sort { $b <=> $a }
even faster.

Also, since this commit removes PL_sort_RealCmp, it fixes the
issue with nested sort calls mentioned in gh #16129

15 months agopp_sort.c: small refactoring
Tomasz Konojacki [Mon, 2 Mar 2020 23:45:04 +0000 (00:45 +0100)]
pp_sort.c: small refactoring

This will make the future changes a bit easier.

15 months agopp_sort.c: call Perl_sortsv_flags directly
Tomasz Konojacki [Mon, 2 Mar 2020 23:45:03 +0000 (00:45 +0100)]
pp_sort.c: call Perl_sortsv_flags directly

That pointer isn't needed.

15 months agopp_sort.c: normalize indentation
Tomasz Konojacki [Mon, 2 Mar 2020 23:45:02 +0000 (00:45 +0100)]
pp_sort.c: normalize indentation

According to perlhack, code should be indented with four spaces.

This commit doesn't contain any functional changes. If you're
seeing it in "git blame" output, try using -w switch, it will
hide whitespace-only changes.

15 months agonew function specifier: PERL_STATIC_FORCE_INLINE
Tomasz Konojacki [Wed, 4 Mar 2020 22:34:38 +0000 (23:34 +0100)]
new function specifier: PERL_STATIC_FORCE_INLINE

It's the same thing as PERL_STATIC_INLINE but it also adds
__attribute__(always_inline) or __forceinline if the compiler
supports that.

15 months agoregen/ handle PERL_STATIC_INLINE_NO_RET properly
Tomasz Konojacki [Wed, 4 Mar 2020 22:17:31 +0000 (23:17 +0100)]
regen/ handle PERL_STATIC_INLINE_NO_RET properly

15 months agoregen/ fix error message
Tomasz Konojacki [Wed, 4 Mar 2020 22:13:16 +0000 (23:13 +0100)]
regen/ fix error message

15 months agosymbian/symbianish.h: Fix broken macro name
Karl Williamson [Sat, 7 Mar 2020 14:33:32 +0000 (07:33 -0700)]
symbian/symbianish.h: Fix broken macro name

The name was misspelled, and could never have compiled.

This indicates that no one on a Symbian system has tried perls since

15 months agofix typo in perlivp
Craig A. Berry [Fri, 6 Mar 2020 13:27:23 +0000 (07:27 -0600)]
fix typo in perlivp

15 months agoAllow wildcard pattern debugging
Karl Williamson [Mon, 24 Feb 2020 19:16:46 +0000 (12:16 -0700)]
Allow wildcard pattern debugging

This fixes #17026

Patterns can have subpatterns since 5.30.  These are processed when
encountered, by suspending the main pattern compilation, compiling the
subpattern, and then matching that against the set of all legal
possibilities, which Perl knows about.

Debugging info for the compilation portion of the subpattern was added
by be8790133a0ce8fc67454e55e7849a47a0858d32, without fanfare.  But,
prior to this new commit, debugging info was not available for that
matching portion of the compilation, except under DEBUGGING builds, with
-Drv.  This commit adds a new option to 'use re qw(Debug ...)',
WILDCARD, to enable subpattern match debugging.  Whatever other match
debugging options have been turned on will show up when a wildcard
subpattern is compiled iff WILDCARD is specified.

The output of this may be voluminous, which is why you have to ask for
it specifically.  Or, the EXTRA option turns it on, along with several
other things.

15 months agoregcomp.c: Rmv use of extraneous macro
Karl Williamson [Wed, 4 Mar 2020 23:01:24 +0000 (16:01 -0700)]
regcomp.c: Rmv use of extraneous macro

I added this becuase the name of another macro confused me into thinking
this was necessary, whereas that other macro was all that was needed.

This is the only use of the extraneous macro.

15 months agoregex: Change internal macro name
Karl Williamson [Wed, 4 Mar 2020 22:59:29 +0000 (15:59 -0700)]
regex: Change internal macro name

It wasn't clear to me that the macro did more than a declaration, given
its name.  Rename it to be clear as to what it does.

15 months agoFix variable name in wrap_keyword_plugin documentation
Stefan Seifert [Thu, 5 Mar 2020 10:57:28 +0000 (11:57 +0100)]
Fix variable name in wrap_keyword_plugin documentation

15 months agoregcomp.h: remove redundant comment
Hugo van der Sanden [Thu, 5 Mar 2020 12:23:19 +0000 (12:23 +0000)]
regcomp.h: remove redundant comment

This 1989 comment stopped being true in 1997 with commit c277df4222.

15 months agobump $XS::APItest::VERSION
Tony Cook [Wed, 4 Mar 2020 04:52:41 +0000 (15:52 +1100)]
bump $XS::APItest::VERSION

15 months agoadd casts to IV_MAX, UV_MAX so they match the IVdf, UVdf macros
Tony Cook [Wed, 22 Jan 2020 04:40:05 +0000 (15:40 +1100)]
add casts to IV_MAX, UV_MAX so they match the IVdf, UVdf macros

fixes #17338

15 months agoAPItest: get a compile-time warning if IVdf doesn't match IV_MAX
Tony Cook [Wed, 22 Jan 2020 04:38:15 +0000 (15:38 +1100)]
APItest: get a compile-time warning if IVdf doesn't match IV_MAX

and similarly for UVuf/UV_MAX.

This already warns in PPPort, but that's for testing PPPort, not
the core.

15 months agoregcomp.c: Get rid of meaningless test
Karl Williamson [Mon, 2 Mar 2020 17:15:25 +0000 (10:15 -0700)]
regcomp.c: Get rid of meaningless test

Since ea3daa5, parts of this test became nonsensical as max_offset
cannot be larger than OPTIMIZE_INFIINITY.  (I don't know why compilers
didn't say that this branch is always false.)

Hugo van der Sanden suggested something like this commit to keep the
still valid part of the test.

15 months agoAllow more debugging in re_comp.c
Karl Williamson [Mon, 24 Feb 2020 19:13:16 +0000 (12:13 -0700)]
Allow more debugging in re_comp.c

This adds two main functions that were previously only defined in
regcomp.c to also be defined in re_comp.c.  This allows to use
debugging with them.   To avoid duplicating large data structures,
several lightweight wrapper functions are added to regcomp.c that
re_comp.c calls to access those structures.

15 months agochar_class_invlists.h: Give re_comp.c access to enums,#defines
Karl Williamson [Mon, 24 Feb 2020 18:20:13 +0000 (11:20 -0700)]
char_class_invlists.h: Give re_comp.c access to enums,#defines

The previous commit changed the code so that enums and #defines could be
requested to be in re_comp.c.  This commit changes to use that new

15 months agoregen/ Allow enums/defines to be in re_comp.c
Karl Williamson [Mon, 24 Feb 2020 16:31:02 +0000 (09:31 -0700)]
regen/ Allow enums/defines to be in re_comp.c

Tables, to save memory, that are for regcomp.c are excluded from
re_comp.c, but enums use no resources, and a later commit will want them
accessible from re_comp.c.  So change the code so that they can be
requested to be in re_comp.c

15 months agoMove two regex functions so that can use re debug
Karl Williamson [Mon, 24 Feb 2020 04:00:14 +0000 (21:00 -0700)]
Move two regex functions so that can use re debug

These have to have a version in re_comp.c for to work on them.

15 months agoembed.fnc: Reorder the entries dealing with regexes
Karl Williamson [Mon, 24 Feb 2020 03:46:35 +0000 (20:46 -0700)]
embed.fnc: Reorder the entries dealing with regexes

This moves a bunch of entries around so that they make more sense, and
consolidates some blocks that had the same #ifdefs.  There should be no
change in what gets compiled.

15 months agoregen/ Move #define in output
Karl Williamson [Mon, 24 Feb 2020 02:32:03 +0000 (19:32 -0700)]
regen/ Move #define in output

This value will be needed outside of where it currently is defined; this
commit makes it available elsewhere

15 months agoregcomp.c: Add comments
Karl Williamson [Mon, 24 Feb 2020 02:29:02 +0000 (19:29 -0700)]
regcomp.c: Add comments

I finally took the time to figure out about and debugging, and how
the functions in regcomp.c should be structured to work.  And now I
commented it.

15 months Add comment
Karl Williamson [Mon, 2 Mar 2020 01:21:19 +0000 (18:21 -0700)] Add comment

15 months agomake freed op re-use closer to O(1)
Tony Cook [Tue, 25 Feb 2020 22:51:25 +0000 (09:51 +1100)]
make freed op re-use closer to O(1)

previously freed ops were stored as one singly linked list, and
a failed search for a free op to re-use could potentially search
that entire list, making freed op lookups O(number of freed ops),
or given that the number of freed ops is roughly proportional to
program size, making the total cost of freed op handling roughly
O((program size)**2).  This was bad.

This change makes opslab_freed into an array of linked list heads,
one per op size.  Since in a practical sense the number of op sizes
should remain small, and insertion is amortized O(1), this makes
freed op management now roughly O(program size).

fixes #17555

15 months agoReplace value with a macro: OPTIMIZE_INFTY
Karl Williamson [Fri, 30 Aug 2019 16:28:47 +0000 (10:28 -0600)]
Replace value with a macro: OPTIMIZE_INFTY

This is more mnemonic, and allows us to change things if needed.

15 months agocsh shell needed to build with PERL_EXTERNAL_GLOB defined
James E Keenan [Sun, 1 Mar 2020 22:52:49 +0000 (17:52 -0500)]
csh shell needed to build with PERL_EXTERNAL_GLOB defined


15 months agoparser.h -reorder yy_parser to close x86-64 alignment holes
Richard Leach [Mon, 24 Feb 2020 23:31:16 +0000 (23:31 +0000)]
parser.h -reorder yy_parser to close x86-64 alignment holes

15 months agoregcomp.h -reorder regexp_internal to close x86-64 alignment holes
Richard Leach [Tue, 25 Feb 2020 00:04:53 +0000 (00:04 +0000)]
regcomp.h -reorder regexp_internal to close x86-64 alignment holes

15 months agoBisection example using '--target=test_prep' and '-e'
James E Keenan [Sun, 1 Mar 2020 23:32:27 +0000 (18:32 -0500)]
Bisection example using '--target=test_prep' and '-e'

Add an example where we're bisecting to identify source of a problem in
a test file found in a CPAN distribution which ships with core.

Reworked code example per feedback from Hugo.  Also reworked description
of problem.

15 months agodecrease github actions timeout to 120 minutes
Tomasz Konojacki [Mon, 2 Mar 2020 01:36:16 +0000 (02:36 +0100)]
decrease github actions timeout to 120 minutes

That will make hung actions fail faster. The default 360 minutes
timeout was way too generous, typically none of our actions needs
more than 1 hour to complete.

15 months agopp_sort.c: remove the remains of quicksort
Tomasz Konojacki [Mon, 2 Mar 2020 06:04:10 +0000 (06:04 +0000)]
pp_sort.c: remove the remains of quicksort

e2091bb6ea87111c32936c9170405a44995be338 removed most of it but
some dead code remained.

15 months agoundef Tie::File objects before untie-ing arrays
James E Keenan [Sun, 1 Mar 2020 21:56:57 +0000 (16:56 -0500)]
undef Tie::File objects before untie-ing arrays

This test file was added before we converted all .pm and .t files under
dist/Tie-File to 'use strict' and 'use warnings'.  So at that point the
test ran without warnings.  Once we subsequently began to run with
warnings, we failed to note two instances of "untie attempted while 1
inner references still exist" warnings.  So we should undef the
Tie::File objects before calling 'untie' on the arrays holding records
of tied files.

(Indeed, undef-ing the Tie::File objects may in itself be sufficient to
avert these warnings.  However, the pre-existing SYNOPSIS shows use of
'untie', so we'll include it in this file, whose point is to test what
is asserted in that document.)

15 months agoAdd to perl5313delta for d1bc97feec1a description
Hauke D [Tue, 11 Feb 2020 09:11:01 +0000 (10:11 +0100)]
Add to perl5313delta for d1bc97feec1a description

Documents one of the additional side effects of the change to the range operator with magic string increment that was introduced in d1bc97feec1ac3a922c2.

15 months agoInline the SvGETMAGIC call directly rather than via the macro
Paul "LeoNerd" Evans [Sun, 27 Oct 2019 17:50:39 +0000 (17:50 +0000)]
Inline the SvGETMAGIC call directly rather than via the macro

15 months agoSvTRUE might need to take aTHX
Paul "LeoNerd" Evans [Sun, 27 Oct 2019 17:47:17 +0000 (17:47 +0000)]
SvTRUE might need to take aTHX

15 months agoInitial experiment at moving SvTRUE into a static inline macro
Paul "LeoNerd" Evans [Sun, 27 Oct 2019 16:25:13 +0000 (16:25 +0000)]
Initial experiment at moving SvTRUE into a static inline macro

15 months agoregcomp.c: Silence some compiler warnings
Karl Williamson [Sun, 1 Mar 2020 16:18:11 +0000 (09:18 -0700)]
regcomp.c: Silence some compiler warnings

Precision specifiers should be int, and commit
29f5f37e4b04514c3cc2ee0be3463b4868b88e74 introduced some valid warnings
that this commit also corrects.

15 months agoperlfunc: Note that z modifier works on signed
Karl Williamson [Sun, 1 Mar 2020 17:46:48 +0000 (10:46 -0700)]
perlfunc: Note that z modifier works on signed

That is, variables declared as any of, STRLEN, SSize_t, and Size_t
should be output with this format size modifier.

15 months agoregcomp.c: Fix wrong type for format
Karl Williamson [Thu, 27 Feb 2020 15:58:11 +0000 (08:58 -0700)]
regcomp.c: Fix wrong type for format

The previous commit showed this bug exists where a format wasn't matched
by the type of its argument

15 months agoregen/ Force F or f flags on ... fcns
Karl Williamson [Thu, 27 Feb 2020 15:19:32 +0000 (08:19 -0700)]
regen/ Force F or f flags on ... fcns

This makes sure that a function with varargs arguments is marked as
format or non-format, so that a such a new function can't be added
without considering if it should be marked as 'f'.

15 months agoembed.fnc: Fix comments
Karl Williamson [Thu, 27 Feb 2020 15:13:51 +0000 (08:13 -0700)]
embed.fnc: Fix comments

15 months agoembed.fnc: Make re_croak a format fcn
Karl Williamson [Thu, 27 Feb 2020 14:56:17 +0000 (07:56 -0700)]
embed.fnc: Make re_croak a format fcn

This enables compiler warnings when argument types don't match the

15 months agoregcomp.c: Change re_croak2 to re_croak
Karl Williamson [Thu, 27 Feb 2020 14:48:07 +0000 (07:48 -0700)]
regcomp.c: Change re_croak2 to re_croak

This changes this function from taking two format parameters to instead
taking a single one.  The reason is that the generality isn't actually
currently needed, and it prevents the function from being declared as
taking a format, which adds extra checking.  If this checking had been
in effect, GH #17574 would have generated a warning message.

The reason the second format isn't required is that in all cases, both
formats are literal strings.  In the macros that call this, simply
removing the comma separators between them causes the two literals to
automagically become one by the C preprocessor.

15 months agoAdd epigraph for 5.30.2-RC1
Steve Hay [Sat, 29 Feb 2020 19:37:49 +0000 (19:37 +0000)]
Add epigraph for 5.30.2-RC1

15 months agoregcomp.c -reorder RExC_state_t to close x86-64 alignment holes
Richard Leach [Mon, 24 Feb 2020 23:51:08 +0000 (23:51 +0000)]
regcomp.c -reorder RExC_state_t to close x86-64 alignment holes

15 months agoregcomp.c: Remove never used struct element
Karl Williamson [Sat, 29 Feb 2020 16:02:15 +0000 (09:02 -0700)]
regcomp.c: Remove never used struct element

Noted in
this #define has never been set, and the element hence has never been

15 months ago5.30.2-RC1 today
Steve Hay [Sat, 29 Feb 2020 12:20:58 +0000 (12:20 +0000)]
5.30.2-RC1 today

15 months agoMention perlbug emails in issue template
Dan Book [Fri, 28 Feb 2020 23:48:46 +0000 (18:48 -0500)]
Mention perlbug emails in issue template

15 months agoperlguts.pod: fix typo when describing scope stack
Richard Leach [Wed, 26 Feb 2020 00:10:16 +0000 (00:10 +0000)]
perlguts.pod: fix typo when describing scope stack