This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Branislav Zahradník [Fri, 11 Dec 2020 16:18:59 +0000 (17:18 +0100)]
Distinguish C- and perly- literals - PERLY_BRACE_CLOSE
Branislav Zahradník [Fri, 11 Dec 2020 16:18:57 +0000 (17:18 +0100)]
Distinguish C- and perly- literals - PERLY_BRACE_OPEN
regardless of the fact that both have same value
their meaning is different and should not be mixed
Karl Williamson [Fri, 24 Jul 2020 14:09:26 +0000 (08:09 -0600)]
embed.fnc: Mark gv_check as internal
The purpose of this function is to raise a parse warning; not something
something outside core should be doing.
Karl Williamson [Wed, 22 Jul 2020 15:41:34 +0000 (09:41 -0600)]
Document SvPV_renew
James E Keenan [Thu, 5 Nov 2020 02:11:53 +0000 (21:11 -0500)]
Provide code example for 'my' declared in initialization of 'for' loop
For: https://github.com/Perl/perl5/issues/18260
James E Keenan [Sun, 27 Dec 2020 00:00:48 +0000 (19:00 -0500)]
List all programs which require regen/embed_lib.pl
Karl Williamson [Fri, 25 Dec 2020 01:09:13 +0000 (18:09 -0700)]
newSVsv_flags is now documented
Craig A. Berry [Thu, 24 Dec 2020 14:48:47 +0000 (08:48 -0600)]
Fix Time::HiRes compile probe on VMS
The probe was checking the severity bits of the compiler exit
status and requiring the value to be 1, which is what they are
for SS$_NORMAL. But actually any true (odd) value is considered
successful. So, for example, if the compile succeeds but emits
"informational messages" that do not rise to the level of warnings
or errors, the severity bits have a value of 3, not 1. The probe
should not fail (and end up halting the build) in this case, so
allow any successful value.
Craig A. Berry [Thu, 24 Dec 2020 14:41:13 +0000 (08:41 -0600)]
Don't define Perl_regcurly in re extension
This makes the linker have to decide (or guess) which of the
identically-named symbols to include. The VMS linker refuses
and throws a multiply-defined symbol error.
Ricardo Signes [Thu, 24 Dec 2020 16:32:49 +0000 (11:32 -0500)]
pod_rules.pl: document (in a comment) --tap
Hugo van der Sanden [Sat, 14 Nov 2020 12:42:31 +0000 (12:42 +0000)]
Test regexp optimizations for substrings
Hugo van der Sanden [Fri, 13 Nov 2020 16:15:10 +0000 (16:15 +0000)]
Better skipping for regexp optimization tests
Say why we're skipping; skip min/max tests for substrings if we didn't
get the substring; skip checking test for substrings if we didn't get
the substring we expect to be checked.
Hugo van der Sanden [Fri, 13 Nov 2020 16:13:52 +0000 (16:13 +0000)]
No plan for regexp optimization tests
With a varying number of tests per data line, the plan is too much work
to maintain.
Hugo van der Sanden [Fri, 13 Nov 2020 15:18:31 +0000 (15:18 +0000)]
Allow comments in regexp optimization tests
Hugo van der Sanden [Thu, 1 Oct 2020 22:58:48 +0000 (23:58 +0100)]
Add test harness for regexp optimization
James E Keenan [Sun, 20 Dec 2020 02:03:07 +0000 (21:03 -0500)]
Better documentation for two Porting/*.pl programs
In partial satisfaction of https://github.com/Perl/perl5/issues/18413.
James E Keenan [Sun, 20 Dec 2020 00:24:05 +0000 (19:24 -0500)]
Porting/pod_rules.pl: no '--test' command-line switch
As is illustrated by the following (trimmed) invocation:
./perl -Ilib Porting/pod_rules.pl --test
Unknown option: test
... there is no '--test' option available for this program. Remove
inaccurate inline documentation.
In partial satisfaction of https://github.com/Perl/perl5/issues/18413.
Tony Cook [Tue, 8 Dec 2020 03:28:29 +0000 (14:28 +1100)]
skip trying to constant fold an incomplete op tree
This code would try to constant fold an op tree like
relop
+- null
+- constant
which would underflow the stack, potentially crashing perl.
This is intended as a quick fix rather than as a complete
solution.
Fixes #18380
James E Keenan [Thu, 10 Dec 2020 14:41:41 +0000 (14:41 +0000)]
Remove workaround for distros needing dot in @INC
In commit
19641fd71a (Apr 07 2017), as part of ceasing to pass '.' to
@INC in tests, we added a workaround to t/TEST for CPAN distributions
which ship with core which were not yet fully adapted to the new
regulation on @INC.
All such CPAN distributions have now been adapted. Hence, we can remove
the workaround.
Sawyer X [Wed, 23 Dec 2020 00:16:01 +0000 (02:16 +0200)]
GH #18163: Stricter, cleaned up test example: (#18165)
* GH #18163: Stricter, cleaned up test example:
This just adds 'my $i' to make the test pass on strict, and it cleans
it up and provides test names for the tests.
I kept the tabs that were used.
* Use relative path
* Indent for readability
* Missing variables
* Add another reference
* Remove '&' in function calls
* Add some hints
* Normalize quoting in WriteMakeFile examples
* Remove explicit quotes
* Apply all additional suggestions
* replace tabs, make line shorter
Leon Timmermans [Thu, 17 Dec 2020 16:05:57 +0000 (17:05 +0100)]
Make DynaLoader on MacOS check library existence with dlopen
A number of system libraries no longer exist as actual files, even
though dlopen will pretend they do, so now we fall back to dlopen if
a library file can not be found.
Karen Etheridge [Tue, 22 Dec 2020 19:22:13 +0000 (11:22 -0800)]
do not look for modules under */*/{inc,t} for Module::CoreList
this avoids adding the internal modules inc::QuestionList (from perlfaq) or
Win32API::File::inc::ExtUtils::Myconst2perl (from Win32API-File)
Chris 'BinGOs' Williams [Tue, 22 Dec 2020 10:57:59 +0000 (10:57 +0000)]
Update ExtUtils-MakeMaker to CPAN version 7.58
[DELTA]
7.58 Mon 21 Dec 18:16:04 GMT 2020
No changes since v7.57_02
7.57_02 Fri 18 Dec 23:04:09 GMT 2020
Macosx fixes:
- Improve dlopen check on MacOS
7.57_01 Fri 18 Dec 13:30:30 GMT 2020
Macosx fixes:
- Use dlopen to check for library presence on Mac OS (Big Sur fix)
Bug fixes:
- check CPAN::Meta::Requirements capabilities rather than prereqs
Karen Etheridge [Tue, 22 Dec 2020 01:00:42 +0000 (17:00 -0800)]
Win32API::File::inc::ExtUtils::Myconst2perl is not indexed
..and Porting/corelist.pl warns about it
This is a re-application of commit
cdac9b8288885
after the change was reversed a month later.
Karl Williamson [Mon, 21 Dec 2020 22:19:10 +0000 (15:19 -0700)]
regexec.c: Silence compiler warning
Karl Williamson [Mon, 21 Dec 2020 03:56:35 +0000 (20:56 -0700)]
POSIX.pod: Document [C99] notation
This fixes GH #18404
Karl Williamson [Mon, 21 Dec 2020 03:52:12 +0000 (20:52 -0700)]
POSIX.xs: Remove redundant #ifdef
HAS_DUPLOCALE is implied by HAS_POSIX_2008_LOCALE; no need to mention it
Karl Williamson [Mon, 21 Dec 2020 03:51:20 +0000 (20:51 -0700)]
globals.c: Fix typo in comment
Karl Williamson [Mon, 21 Dec 2020 04:04:31 +0000 (21:04 -0700)]
t/test.pl: Note 2nd spelling for fcn
This makes it easier to grep for
Karl Williamson [Wed, 16 Dec 2020 20:19:02 +0000 (13:19 -0700)]
perlapi: Note that my_strftime's result is localized
Ricardo Signes [Mon, 21 Dec 2020 18:48:55 +0000 (13:48 -0500)]
Merge branch 'perlgov' into blead
Ricardo Signes [Fri, 27 Nov 2020 21:19:10 +0000 (16:19 -0500)]
perlgov: add a missing "the" and remove a full stop
Ricardo Signes [Wed, 25 Nov 2020 03:01:25 +0000 (22:01 -0500)]
perlgov: formatting tweaks from code review
Ricardo Signes [Tue, 24 Nov 2020 14:17:46 +0000 (09:17 -0500)]
perlgov: the perl governance document
Karl Williamson [Mon, 21 Dec 2020 18:04:02 +0000 (11:04 -0700)]
regexec.c: Fix failing CI 32-bit tests
This bug was introduced by
bb3825626ed2b1217a2ac184eff66d0d4ed6e070, and
was the result of overflowing a 32 bit space. The solution is to rework
the expression so that it can't overflow.
Karl Williamson [Sat, 17 Oct 2020 12:24:25 +0000 (06:24 -0600)]
regen/regcharclass.pl: Mark intermediate macros as internal
The macros generated by this script may have to be split into sub-macros
to make the overall macro fit the maximum number of characters allowed
by the compiler for a macro definition. This commit adds a trailing
underscore to the names of such intermediate macros so as to mark them
as non-API for autodoc.
James E Keenan [Sun, 20 Dec 2020 22:14:32 +0000 (17:14 -0500)]
Correct one misspelled variable name
Correct one other typo
Dan Book [Sun, 20 Dec 2020 17:24:24 +0000 (12:24 -0500)]
perl5335delta grammar nit
Karl Williamson [Sun, 20 Dec 2020 16:52:10 +0000 (09:52 -0700)]
perlapi: SvPVbyte_force() and kin: clarify.
Karl Williamson [Sun, 20 Dec 2020 16:43:06 +0000 (09:43 -0700)]
perlapi: Document newSVsv_flags
Karl Williamson [Wed, 22 Jul 2020 12:31:56 +0000 (06:31 -0600)]
embed.fnc: Mark several do_dump fcns as Core only
These appear to be helper functions for various API functions; there are
no uses of them in cpan
Karl Williamson [Wed, 22 Jul 2020 12:25:44 +0000 (06:25 -0600)]
embed.fnc: Mark sv_2uv, etc. as Core only
There are documented macros that one is supposed to use instead for this
functionality.
Karl Williamson [Wed, 22 Jul 2020 12:23:16 +0000 (06:23 -0600)]
embed.fnc: Mark stack_grow as Core only
This is a helper function used by such things as SSGROW; there is no
cpan usage
Karl Williamson [Wed, 22 Jul 2020 12:19:36 +0000 (06:19 -0600)]
embed.fnc: Mark scan_num as Core only
This is used by the toker to scan a number; there is no cpan usage
Karl Williamson [Wed, 22 Jul 2020 12:16:28 +0000 (06:16 -0600)]
embed.fnc: Mark cx_dump as Core only
This appears to be for internal debugging; there is no cpan usage
Karl Williamson [Wed, 22 Jul 2020 12:07:30 +0000 (06:07 -0600)]
embed.fnc: Mark av_arylen_p, av_iter_p as Core only
These appear to be internal functions, and there is no cpan usage
The macro GIMME_V is what one is supposed to use for this functionality.
Karl Williamson [Wed, 22 Jul 2020 12:02:56 +0000 (06:02 -0600)]
embed.fnc: Mark doing_taint as Core only
This appears to be for internal use, and there are no cpan usages
Karl Williamson [Wed, 22 Jul 2020 11:48:53 +0000 (05:48 -0600)]
embed.fnc: Mark cxinc as Core only
The macro CXINC is what one is supposed to use for this functionality.
(though it is currently undocumented)
Karl Williamson [Wed, 22 Jul 2020 11:46:35 +0000 (05:46 -0600)]
embed.fnc: Mark moreswitches as Core only
This is an internal function used to parse command line options; there
are no cpan uses.
Karl Williamson [Wed, 22 Jul 2020 11:38:37 +0000 (05:38 -0600)]
embed.fnc: Mark runops_debug, runops_standard as Core only
These are internal functions to run the program; there are no cpan uses
Karl Williamson [Wed, 22 Jul 2020 11:29:01 +0000 (05:29 -0600)]
embed.fnc: Mark regnext as Core only
This is used internally by the regex engine; there is one use in cpan,
an internals module, Devel::RegExp by Ilya Zakharevich, with nothing
dependent on it, and last updated in 1995.
Karl Williamson [Wed, 22 Jul 2020 11:19:41 +0000 (05:19 -0600)]
embed.fnc: Mark cx_dup as Core only
Similar cx functions are supposed to be called with a macro for their
functionality, but no such macro exists for this, and there are no uses
on CPAN
Karl Williamson [Mon, 14 Dec 2020 02:41:24 +0000 (19:41 -0700)]
perlapi: Document and consolidate SvPV functions
Karl Williamson [Mon, 14 Dec 2020 15:51:45 +0000 (08:51 -0700)]
POSIX::asctime pod: Note it always returns English
And give locale's alternative
Karl Williamson [Mon, 14 Dec 2020 02:07:54 +0000 (19:07 -0700)]
perlfunc: Improve localtime entry
This rearranges some paragraphs that really belong together, and
clarifies the result is always in English
Karl Williamson [Sun, 20 Dec 2020 13:28:38 +0000 (06:28 -0700)]
regexec.c: Link to github issue in comment
Max Maischein [Sun, 20 Dec 2020 14:44:10 +0000 (15:44 +0100)]
Prepare Module::CoreList for 5.33.6
Max Maischein [Sun, 20 Dec 2020 14:32:28 +0000 (15:32 +0100)]
Bump version to 5.33.6
Max Maischein [Sun, 20 Dec 2020 14:28:55 +0000 (15:28 +0100)]
new perldelta for 5.33.6
Max Maischein [Sun, 20 Dec 2020 14:23:02 +0000 (15:23 +0100)]
Update release schedule
Max Maischein [Sun, 20 Dec 2020 14:22:54 +0000 (15:22 +0100)]
Update epigraphs.pod with quote from Max Weber
Max Maischein [Sun, 20 Dec 2020 14:12:21 +0000 (15:12 +0100)]
Merge branch 'release-5.33.5' into blead
# Conflicts:
# pod/perldelta.pod
Max Maischein [Sun, 20 Dec 2020 10:19:16 +0000 (11:19 +0100)]
add new release to perlhist
Max Maischein [Sun, 20 Dec 2020 09:53:09 +0000 (10:53 +0100)]
Update Module::CoreList for 5.33.5
Max Maischein [Sun, 20 Dec 2020 09:45:48 +0000 (10:45 +0100)]
Finalize perldelta for 5.33.5
Max Maischein [Sun, 20 Dec 2020 09:32:01 +0000 (10:32 +0100)]
Finalise perldelta for 5.33.5
Karl Williamson [Sun, 6 Dec 2020 22:01:14 +0000 (15:01 -0700)]
Fix broken PERL_MEM_LOG under threads
This fixes GH #18341
There are problems with getenv() on threaded perls wchich can lead to
incorrect results when compiled with PERL_MEM_LOG.
Commit
0b83dfe6dd9b0bda197566adec923f16b9a693cd fixed this for some
platforms, but as Tony Cook, pointed out there may be
standards-compliant platforms that that didn't fix.
The detailed comments outline the issues and (complicated) full solution.
Karl Williamson [Tue, 1 Dec 2020 14:44:18 +0000 (07:44 -0700)]
Add GETENV_LOCK
get_env() needs to lock other threads from writing to the environment
while it is executing. It may need to have an exclusive lock if those
threads can clobber its buffer before it gets a chance to save them.
The previous commit has added a Configure probe which tells us if that
is the case. This commit uses it to select which type of mutex to use.
Karl Williamson [Sat, 28 Nov 2020 16:20:46 +0000 (09:20 -0700)]
Add Configure probe for getenv() buffer race
Most implementations do not have a problem with two getenv()'s running
simultaneously in different threads. But Posix doesn't require such
good behavior. This adds a simple probe to test the current system.
Karl Williamson [Tue, 1 Dec 2020 14:17:21 +0000 (07:17 -0700)]
perl.h: Add capability for many-reader ENV mutex locking
There are several places where there could be a problem in the
environment were changed by another thread when a function is executing,
but otherwise if another thread were reading the environment at the same
time, there isn't a problem. This adds mutex for that situation.
Future commits will take advantage of it.
Karl Williamson [Wed, 9 Dec 2020 01:30:56 +0000 (18:30 -0700)]
Make many-reader mutexes more resilient
These mutexes rely on a counter being accurate to work. If for some
reason that I can't imagine happening, the count goes below 0, this
commit resets it to zero, which may be enough to cause the program to
continue.
Karl Williamson [Sat, 14 Nov 2020 20:55:38 +0000 (13:55 -0700)]
regexec.c: White-space, comments only
Mostly indent because the prior commit created a new block
Karl Williamson [Fri, 13 Nov 2020 16:38:21 +0000 (09:38 -0700)]
regexec.c: Revamp S_setup_EXACTISH_ST() loop end conditions
Consider the pattern /A*B/ where A and B are arbitrary. The pattern
matching code tries to make a tight loop to match the span of A's. The
logic of this was not really updated when UTF-8 was added. I did
revamp it some releases ago to fix some bugs and to at least consider
UTF-8.
This commit changes it so that Unicode is now a first class citizen.
Some details are listed in the ticket GH #18414
Karl Williamson [Sun, 18 Oct 2020 16:51:22 +0000 (10:51 -0600)]
regexec.c: Change name of static function
The new name reflects its new functionality coming in future commits
Karl Williamson [Sun, 18 Oct 2020 16:46:14 +0000 (10:46 -0600)]
regexec.c: Trim trailing blanks
Karl Williamson [Sun, 18 Oct 2020 16:20:38 +0000 (10:20 -0600)]
regcharclass.pl: Get code point folding to a seq
Previously regcharclass.pl could tell if an input string was a
multi-character fold of some Unicode code point. This commit adds the
ability to return what that code point is. This capability will be used
in a later commit.
Karl Williamson [Wed, 11 Nov 2020 23:37:23 +0000 (16:37 -0700)]
regen/regcharclass.pl: Rmv special case
This avoided checking for optimizations. Whatever its original use, it
doesn't do any good, and the optimizations are actually useful.
James E Keenan [Sat, 19 Dec 2020 20:41:56 +0000 (15:41 -0500)]
ext/POSIX/t/waitpid.t: Correct one typo
TAKAI Kousuke [Fri, 18 Dec 2020 09:55:50 +0000 (18:55 +0900)]
MANIFEST: Add ext/POSIX/t/iv_const.t
TAKAI Kousuke [Thu, 17 Dec 2020 14:27:31 +0000 (23:27 +0900)]
ext/POSIX: Added tests to check integer constants are defined as IV
TAKAI Kousuke [Wed, 16 Dec 2020 17:17:31 +0000 (02:17 +0900)]
ext/POSIX: Change integer constants to IV.
Some floating-point related constants, such as (FLT|L?DBL)_DIG,
FLT_RADIX, FP_*, etc. had been defined as NV, but these are
actually integer constants.
This change should not affect the behaviour of user programs.
James E Keenan [Sat, 19 Dec 2020 17:42:48 +0000 (17:42 +0000)]
Jason McIntosh [Sat, 19 Dec 2020 14:37:40 +0000 (14:37 +0000)]
Add pod/perldocstyle.pod
Satisfies https://news.perlfoundation.org/post/grant_proposal_documentation_standards_perl7
Committer: Adding a new file underneath pod/ entails adding (i) an entry for that file
in pod/perl.pod and (ii) entries in win32/pod.mak.
(i) In turn requires, figuring out an appropriate category within
perl.pod in which to place the new file. The entry should match that in
MANIFEST and be consistent with the style of entries in MANIFEST.
(ii) Requires running Porting/pod_rules.pl so that entries in
win32/pod.mak are also generated for the corresponding *.man, *.html and
*.tex files.
Supersedes https://github.com/Perl/perl5/pull/18275.
H.Merijn Brand [Fri, 18 Dec 2020 15:41:30 +0000 (16:41 +0100)]
Update Config::Perl::V to 0.33
James E Keenan [Fri, 18 Dec 2020 14:21:37 +0000 (09:21 -0500)]
Merge branch 'thibaultduponchelle-fix_rt_number_in_perl5260delta' into blead
James E Keenan [Fri, 18 Dec 2020 14:20:42 +0000 (09:20 -0500)]
Merge branch 'fix_rt_number_in_perl5260delta' of https://github.com/thibaultduponchelle/perl5 into thibaultduponchelle-fix_rt_number_in_perl5260delta
Thibault DUPONCHELLE [Fri, 18 Dec 2020 13:27:53 +0000 (14:27 +0100)]
Fix RT number in perl5260delta.pod
Chris 'BinGOs' Williams [Fri, 18 Dec 2020 12:54:10 +0000 (12:54 +0000)]
Update ExtUtils-Install to CPAN version 2.20
[DELTA]
2.20
- Exercise _is_prefix() method more in tests
- Optimisations for file comparisons
- Optimisations for directory creation
- Typo fix in POD
- Optimisations for tree traversal
Max Maischein [Fri, 18 Dec 2020 09:44:02 +0000 (10:44 +0100)]
Also update Maintainers.pl with the updated PerlIO::via::QuotedPrint version
Max Maischein [Fri, 18 Dec 2020 09:40:09 +0000 (10:40 +0100)]
Update PerlIO::via::QuotedPrint from 0.08 to 0.09
This should be picked up by the auto-generated perldelta
Max Maischein [Fri, 18 Dec 2020 09:12:49 +0000 (10:12 +0100)]
Update Text::Balanced from 2.03 to 2.04
No entry in Perldelta because that will be generated automatically
Leon Timmermans [Thu, 17 Dec 2020 20:02:46 +0000 (21:02 +0100)]
Correctly set LC_CTYPE back in POSIX/t/time.t
James E Keenan [Tue, 15 Dec 2020 16:38:30 +0000 (11:38 -0500)]
t/lib/croak/toke: Correct test label
The RT ticket number cited in the test's label is wrong. The body of
the commit message for commit
7259f4194f3131957240f6b3dba47b74f53ac660
shows the correct RT number. Provide GH number as well.
Karl Williamson [Mon, 14 Dec 2020 20:38:47 +0000 (13:38 -0700)]
autodoc.pl: Adjust max permissible line length
perldoc takes up 4 column indent, not 7.
Karl Williamson [Mon, 14 Dec 2020 20:33:37 +0000 (13:33 -0700)]
podcheck.t: Combine duplicated code into a sub
Karl Williamson [Mon, 14 Dec 2020 20:29:19 +0000 (13:29 -0700)]
podcheck.t: perldoc standard indent is 4.
Before, it was using an expected nroff indent of 7. But current perldoc
places the =head1 lines at the left margin, and the text within them
indented by 4.
Karl Williamson [Mon, 14 Dec 2020 20:41:07 +0000 (13:41 -0700)]
perlapi: 'ie' should be 'i.e.', and italicized
Tony Cook [Mon, 14 Dec 2020 05:00:33 +0000 (16:00 +1100)]
bump $XS::APItest::VERSION
Tony Cook [Mon, 14 Dec 2020 04:54:25 +0000 (15:54 +1100)]
consistently parenthesise the RW lock macro arguments
and fix the mixed up pointer vs non-pointer use of the mutex
argument.
Without the parentheses (or without the new tests in the previous
commit) for code like;
PERL_WRITE_LOCK(&PL_some_mutex);
the MUTEX_LOCK(mutex.lock) in that code would expand to:
MUTEX_LOCK(&PL_some_mutex.lock);
and happen to work, even though the next line has:
if ((mutex)->readers_count)
treating the mutex parameter as a pointer.
With the parentheses the MUTEX_LOCK(mutex.lock) becomes:
MUTEX_LOCK((&PL_some_mutex).lock);
which as expected fails to compile in a similar way to the pointer
test code in the previous commit.
Tony Cook [Mon, 14 Dec 2020 04:20:17 +0000 (15:20 +1100)]
build test for the read/write mutex macros
This fails to compile