This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Wed, 29 May 2019 20:49:57 +0000 (14:49 -0600)]
Let embed.fnc define the my_str_foo() fcns
We don't always define a Perl_ form for these, expecting all calls to be
made through the macro, which will use the native form on the systems
that have one.
Removing these extra #defines helps future commits
Karl Williamson [Wed, 29 May 2019 16:14:55 +0000 (10:14 -0600)]
embed.fnc: Change M flag to x
The M flag in embed.fnc and the x flag in the '=for apidoc' lines both
mean the same, thing, the entity may change, it is experimental.
Devel::PPPort in places uses the M flag, and in other places, the x.
That will be fixed in a separate commit.
This commit changes the 'M' in embed.fnc to be 'x'. Changing embed.fnc
and makedef.pl keeps the changes more contained, and lessens the chance
that some module will be adversely affected (I didn't see anything
likely in grepping cpan).
Karl Williamson [Wed, 29 May 2019 04:02:57 +0000 (22:02 -0600)]
embed.fnc: Change x flag to e
autodoc.pl has the x flag in the '=for apidoc' lines mean something
completely different, but Devel::PPPort combines both these lines and
the contents of embed.fnc into one file, expecting the flags to be
consistent.
This commit changes the 'x' in embed.fnc to be 'e', which means to not
export this function. Changing embed.fnc and makedef.pl keeps the
changes more contained, and lessens the chance that some module will be
adversely affected (I didn't see anything likely in grepping cpan).
Karl Williamson [Wed, 29 May 2019 02:28:07 +0000 (20:28 -0600)]
embed.fnc: Change s flag to S
autodoc.pl has the s flag in the '=for apidoc' lines mean something
completely different, but Devel::PPPort combines both these lines and
the contents of embed.fnc into one file, expecting the flags to be
consistent.
This commit changes the 's' in embed.fnc to be 'S', which means the
function is static and has an 'S_' prefix. Changing embed.fnc keeps the
changes more contained, and lessens the chance that some module will be
adversely affected (I didn't see anything likely in grepping cpan).
Karl Williamson [Wed, 29 May 2019 02:52:07 +0000 (20:52 -0600)]
croak_memory_wrap is an inline function.
Update embed.fnc to correspond
Karl Williamson [Wed, 29 May 2019 02:03:58 +0000 (20:03 -0600)]
embed.fnc: Change n flag to T
autodoc.pl has the n flag in the '=for apidoc' lines mean something
completely different, but Devel::PPPort combines both these lines and
the contents of embed.fnc into one file, expecting the flags to be
consistent.
This commit changes the 'n' in embed.fnc to be 'T', which means no
thread context passed. Changing embed.fnc keeps the changes more
contained, and lessens the chance that some module will be adversely
affected (I didn't see anything likely in grepping cpan).
Karl Williamson [Tue, 28 May 2019 18:55:19 +0000 (12:55 -0600)]
Add 'n' flag to various =for apidoc lines
This indicates to not output the macro with parentheses for parameters.
Currently that doesn't happen anyway, but a future commit will change
things so this is required (so that a bug can be fixed)
Karl Williamson [Tue, 28 May 2019 17:02:42 +0000 (11:02 -0600)]
autodoc.pl: Strip, lead/trail space from =for apidoc
The components of a =for apidoc entry can have spaces between the '|'
separators. Ignore them.
Karl Williamson [Tue, 28 May 2019 16:42:21 +0000 (10:42 -0600)]
autodoc.pl: White-space only
This indents to correspond with the new block formed by the previous
commit.
Karl Williamson [Tue, 28 May 2019 16:35:57 +0000 (10:35 -0600)]
autodoc.pl: Refactor slightly
This breaks a chain of 'elsif' lines so that they are all now part of an
'else' from the first 'if'. This is in preparation for a later commit.
Karl Williamson [Tue, 28 May 2019 16:21:56 +0000 (10:21 -0600)]
autodoc.pl: Change name of variable
This makes it clear that the source for the lines being processed is
embed.fnc
James E Keenan [Mon, 27 May 2019 02:30:40 +0000 (22:30 -0400)]
Use of strings with code points over 0xFF as arguments to "vec"
Implement scheduled fatalization. Adapt existing tests in t/op/vec.t.
Eliminate t/lib/warnings/doop and move one test to t/op/vec.t.
Document this fatalization in perldiag and perlfunc.
Documentation improvement recommended by Karl Williamson.
For: RT # 134139
Karl Williamson [Thu, 30 May 2019 18:42:19 +0000 (12:42 -0600)]
PATCH: [perl #119439] Remove Pod::Parser from core
Pod::Simple now has the needed capabilities to completely replace
Pod::Parser.
Karl Williamson [Fri, 1 Jun 2018 17:31:12 +0000 (11:31 -0600)]
pod/perlpod: Add advice about Z<> uses
Karl Williamson [Sat, 19 May 2018 20:58:37 +0000 (14:58 -0600)]
podcheck.t: Stop using Pod::Parser
There now exists a replacement for the one remaining use of Pod::Parser
in this file, Pod::Simple::JustPod.
Karl Williamson [Thu, 10 May 2018 01:29:09 +0000 (19:29 -0600)]
podcheck.t: Sort some output for consistency
Karl Williamson [Thu, 10 May 2018 01:28:24 +0000 (19:28 -0600)]
podcheck.t: Typos, white-space, comment
Tony Cook [Thu, 30 May 2019 00:33:40 +0000 (10:33 +1000)]
Tony Cook [Wed, 8 May 2019 23:52:30 +0000 (09:52 +1000)]
(perl #122112) a simpler fix for pclose() aborted by a signal
This change results in a zombie child process for the lifetime of
the process, but I think that's the responsibility of the signal
handler that aborted pclose().
We could add some magic to retry (and retry and retry) waiting on
child process as we rewind (since there's no other way to remove
the zombie), but the program has chosen implicitly to abort the
wait() done by pclose() and it's best to honor that.
If we do choose to retry the wait() we might be blocking an attempt
by the process to terminate, whether by exit() or die().
If a program does need more flexible handling there's always
pipe()/fork()/exec() and/or the various event-driven frameworks on
CPAN.
Tony Cook [Wed, 30 May 2018 04:03:04 +0000 (14:03 +1000)]
(perl #122112) test for signal handler death in pclose
Pali [Thu, 7 Feb 2019 13:22:55 +0000 (14:22 +0100)]
Make sv_mortalcopy_flags() public
Dagfinn Ilmari Mannsåker [Thu, 19 Oct 2017 09:48:49 +0000 (10:48 +0100)]
Remove remaining assignments to SvCUR and SvLEN in core
Also make the macros non-lvalues under PERL_CORE
Karl Williamson [Sat, 25 May 2019 04:12:56 +0000 (22:12 -0600)]
Update Pod-Simple to CPAN version 3.36
[DELTA]
3.36
Added Pod::Simple::JustPod to extract the pod lines from a file
Improved detection of input encoding CP1252 vs UTF-8
Fixed github issue #79, =cut event out of order
Fixed github issue #85, verbatim_indent doesn't work on HTML
Fixed github issue #89, css files refer to themselves
Fixed github issue #92, broken RTF with Unicode inputs
Extended RTF to handle Unicode code points above 0xFFFF
Nested L<> is now flagged as an error
Turned off negative repeat count does nothing warnings
Fixed/improved some docs about this distribution
Karl Williamson [Mon, 27 May 2019 18:07:25 +0000 (12:07 -0600)]
Make sure 'if' compiled before Pod::Simple
3.36 of Pod::Simple requires 'if', and this makes sure it works.
Karl Williamson [Mon, 27 May 2019 18:04:58 +0000 (12:04 -0600)]
make_ext.pl: Add some general comments
I found myself recently not knowing how to deal with the build system.
Having these would have helped.
Karl Williamson [Mon, 27 May 2019 17:51:23 +0000 (11:51 -0600)]
Better document build dependency ordering
Karl Williamson [Mon, 27 May 2019 17:49:23 +0000 (11:49 -0600)]
perlsource: Better document Configure
Dagfinn Ilmari Mannsåker [Tue, 21 May 2019 16:34:49 +0000 (17:34 +0100)]
Don't use PL_check[op_type] to check for filetets ops to stack
This breaks hooking the filetest ops' check function by modules like
bareword::filehandles. Instead use the OP_IS_FILETEST() macro to decide
check for filetest ops. Also add an OP_IS_STAT() macro for when we want
to check for (l)stat as well as the filetest ops.
c.f. https://rt.cpan.org/Ticket/Display.html?id=127073
Karl Williamson [Mon, 13 May 2019 20:40:15 +0000 (14:40 -0600)]
Module-CoreList: Add some L<> to pod
Karl Williamson [Sat, 11 May 2019 19:46:21 +0000 (13:46 -0600)]
perlpodspec: Pod in heredocs is still pod
A pod parser should not be expected to parse perl to make sure that what
looks like pod isn't part of a quoted string.
Karl Williamson [Fri, 1 Jun 2018 16:53:00 +0000 (10:53 -0600)]
utils/h2xs.PL: Use L</Foo Bar>, not L<Foo Bar> in pod
Karl Williamson [Fri, 1 Jun 2018 16:52:00 +0000 (10:52 -0600)]
perltie: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:50:42 +0000 (10:50 -0600)]
lib/warnings.pm: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:50:15 +0000 (10:50 -0600)]
lib/overload.pm: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:49:29 +0000 (10:49 -0600)]
Unicode::UCD: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:48:39 +0000 (10:48 -0600)]
lib/Class/Struct.pm: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:47:28 +0000 (10:47 -0600)]
Tie::File: Use L</Foo>, not L<"Foo"> in pod
Karl Williamson [Fri, 1 Jun 2018 16:46:14 +0000 (10:46 -0600)]
perlxstut: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:44:45 +0000 (10:44 -0600)]
configpm: Remove extraneous =cut lines
These were creating improper pod, though it hasn't been caught.
Karl Williamson [Fri, 1 Jun 2018 16:43:55 +0000 (10:43 -0600)]
README.os2: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:43:05 +0000 (10:43 -0600)]
Porting/release_managers_guide.pod: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:41:52 +0000 (10:41 -0600)]
INTALL: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Wed, 16 May 2018 01:29:41 +0000 (19:29 -0600)]
Time::HiRes: Remove trailing blanks
Karl Williamson [Wed, 16 May 2018 01:29:12 +0000 (19:29 -0600)]
Time::HiRes: Add L<> to pod links
Karl Williamson [Thu, 10 May 2018 01:03:49 +0000 (19:03 -0600)]
INSTALL: Add L<> and F<> pod directives
Karl Williamson [Thu, 10 May 2018 00:57:24 +0000 (18:57 -0600)]
PathTools::Win32.pm: Add L<> around link in pod
Karl Williamson [Thu, 10 May 2018 00:56:38 +0000 (18:56 -0600)]
SelfLoader: Add L<> around link in pod
Karl Williamson [Thu, 10 May 2018 00:53:04 +0000 (18:53 -0600)]
Locale::Maketext: Add L<> around links in pod
Karl Williamson [Thu, 10 May 2018 00:52:09 +0000 (18:52 -0600)]
I18N::LangTags: Add L<> around links in pod
Karl Williamson [Thu, 10 May 2018 00:50:47 +0000 (18:50 -0600)]
Tie::File: Add L<> around link in pod
Karl Williamson [Thu, 10 May 2018 00:37:53 +0000 (18:37 -0600)]
lib/Unicode/UCD.t: Use standard Perl environment variable
This test file invented its own environment variable, whereas everyone
else uses a different one. Make this one comply.
Karl Williamson [Thu, 10 May 2018 00:32:13 +0000 (18:32 -0600)]
perlrun: Add L<> to links
Karl Williamson [Wed, 9 May 2018 23:31:45 +0000 (17:31 -0600)]
IO: Add L<> around link in pod
Karl Williamson [Wed, 9 May 2018 23:22:46 +0000 (17:22 -0600)]
ExtUtils::CBuilder: Add L<> around a link in the pod
Karl Williamson [Wed, 9 May 2018 23:18:34 +0000 (17:18 -0600)]
perlbug.PL: Add L<> around a link in the pod
Karl Williamson [Wed, 9 May 2018 21:52:56 +0000 (15:52 -0600)]
Unicode::Normalize: Add L<> to links in pod
Richard Leach [Sat, 25 May 2019 20:08:08 +0000 (20:08 +0000)]
Add log library to libwanted; provides __android_log_print for Sys::Syslog
chinarulezzz [Fri, 20 Apr 2018 17:54:12 +0000 (20:54 +0300)]
{op, pp, regcomp}.c: fix missing parentheses in 'if' statement
Karl Williamson [Thu, 23 May 2019 20:23:48 +0000 (14:23 -0600)]
numeric.c: Use full name of function in definition
The prefix 'Perl_' was omitted, but this did not matter because there
was a macro that expanded to include the prefix. But it's customary to
have the expansion at the point of definition.
Karl Williamson [Thu, 23 May 2019 17:58:09 +0000 (11:58 -0600)]
PATCH: [perl #134098] no locales + debugging = no compile
The wrong #define was being tested for
Richard Leach [Sun, 19 May 2019 03:50:37 +0000 (03:50 +0000)]
Modern Androids do support locales
Richard Leach [Sun, 19 May 2019 20:16:41 +0000 (20:16 +0000)]
PATCH: [perl #134117] Close DATA in loc_tools.pl
This prevents unexpected text in lib/warnings.t
Karl Williamson [Thu, 23 May 2019 16:48:30 +0000 (10:48 -0600)]
locale.c: Fix '%s' directive argument is null
This was just an oversight. THe code doesn't get executed unless it's
trying to panic
Karl Williamson [Fri, 3 May 2019 20:30:53 +0000 (14:30 -0600)]
asan_ignore: Explicitly list ignored behavior fcns
Overflow on signed integers is undefined behavior. Perl does whatever
the underlying compiler does in this case. Previously this file used a
wildcard which could specify more functions than we really expect to see
this potential overflow from. It is safer to mention explicitly all the
functions.
Karl Williamson [Fri, 3 May 2019 19:57:47 +0000 (13:57 -0600)]
Remove undefined behavior from IV shifting
It is undefined behavior to shift a negative integer to the left. This
commit avoids that by treating the value as unsigned, then casting back
to integer for return.
Karl Williamson [Wed, 1 May 2019 16:41:38 +0000 (10:41 -0600)]
pp.c: Add two UNLIKELY()s
It should be uncommon to shift beyond a full word
Karl Williamson [Sun, 28 Apr 2019 23:42:44 +0000 (17:42 -0600)]
Create fcn for lossless conversion of NV to IV
Essentially the same code was being used in three places, and had
undefined C behavior for some inputs.
This consolidates the code into one inline function, and rewrites it to
avoid undefined behavior.
Karl Williamson [Sun, 28 Apr 2019 23:26:38 +0000 (17:26 -0600)]
pp.c: White-space only
Fix indentation of this routine to current standards, in preparation for
making changes to it, and add a blank line for readability
Karl Williamson [Wed, 24 Apr 2019 21:45:43 +0000 (15:45 -0600)]
perl.h: Clarify debugging text
Karl Williamson [Thu, 18 Apr 2019 16:10:41 +0000 (10:10 -0600)]
Add some comments around tainting
Karl Williamson [Wed, 3 Apr 2019 20:11:27 +0000 (14:11 -0600)]
locale.c: Add some comments
Jerome Duval [Thu, 25 Apr 2019 21:19:43 +0000 (23:19 +0200)]
locale.c: remove unnecessary cast
This was failing in gcc 2.95. The original commit added a cast, but we
figured out that removing this other one that really served no purpose
causes this compiler to work.
Karl Williamson [Fri, 10 May 2019 14:54:45 +0000 (08:54 -0600)]
Jereome Duval is a Perl author
Karl Williamson [Thu, 23 May 2019 06:48:49 +0000 (00:48 -0600)]
regcomp.sym: Fix typo in comment
Karl Williamson [Sun, 5 May 2019 16:03:01 +0000 (10:03 -0600)]
numeric.c: Add #error case
It's best to have a #error case when nothing in the #if #else series is
true, as it catches the problem at compile time.
Karl Williamson [Sat, 27 Apr 2019 19:56:39 +0000 (13:56 -0600)]
S_scan_const() Properly test if need to grow
As we parse the input, creating a string constant, we may have to grow
the destination if it fills up as we go along. It allocates space in an
SV and populates the string, but it doesn' update the SvCUR until the
end, so in single stepping the debugger through the code, the SV looks
empty until the end. It turns out that as a result SvEND also doesn't
get updated and still points to the beginning of the string until SvCUR
is finally set. That means that the test changed by this commit was
always succeeding, because it was using SvEND that didn't get updated,
so it would attempt to grow each time through the loop. By moving a
couple of statements earlier, and using SvLEN instead, which does always
have the correct value, those extra growth attempts are avoided.
Karl Williamson [Mon, 29 Apr 2019 03:26:35 +0000 (21:26 -0600)]
POSIX.xs: Add NOTREACHED to silence cygwin compiler
Karl Williamson [Wed, 24 Apr 2019 22:22:08 +0000 (16:22 -0600)]
posix_bump
Karl Williamson [Mon, 29 Apr 2019 03:17:21 +0000 (21:17 -0600)]
cygwin.c: Fix misleading indentation
Karl Williamson [Thu, 14 Mar 2019 18:18:59 +0000 (12:18 -0600)]
regnodes.h: Change some regnodes' names
These were misleading, as elsewhere a leading 'N' in the name means the
complement. Instead move the N to the end of the name
Karl Williamson [Wed, 22 May 2019 20:37:20 +0000 (14:37 -0600)]
PATCH: [perl #134126] -Dusemymalloc, -Dusethreads
This was due to a missing declaration for thread context needed to
output a message.
Karl Williamson [Mon, 29 Apr 2019 21:24:18 +0000 (15:24 -0600)]
PATCH: [perl #134059] panic outputting a warning
This was due to a logic error on my part. We need to save and restore a
value. Instead, it was getting restored to the wrong value.
This particular instance of the bug was outputting a fatal error
message, so that the only harm is not giving the user the correct info,
and creating unnecessary work for them and us when it gets reported.
But this bug could manifest itself when trying to output just a warning
that the program otherwise would carry on from.
Karl Williamson [Fri, 1 Jun 2018 16:51:05 +0000 (10:51 -0600)]
perllocale: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 24 May 2019 15:15:59 +0000 (09:15 -0600)]
PATCH: [perl #134134] read beyond end of buffer
This turns out to be because of a special input case in myatof3(),
wherein if the input length is 0, it call strlen to find the length.
The solution is to add a test and not call the function unless the
length is positive.
Sawyer X [Fri, 24 May 2019 22:18:57 +0000 (01:18 +0300)]
Resolve merge conflict
Sawyer X [Fri, 24 May 2019 22:06:41 +0000 (01:06 +0300)]
Bump Module::CoreList
Sawyer X [Fri, 24 May 2019 21:58:31 +0000 (00:58 +0300)]
Bump the perl version in various places for 5.31.1
Sawyer X [Fri, 24 May 2019 21:44:00 +0000 (00:44 +0300)]
new perldelta for 5.31.1
Sawyer X [Fri, 24 May 2019 21:32:42 +0000 (00:32 +0300)]
Fix perldelta from 5.30.1 to 5.31.0:
perldelta was accidentally set to 5.30.1 instead of 5.31.0.
Hopefully this commit should fix it, along with the correction
of the symlink in pod/.
Sawyer X [Fri, 24 May 2019 21:21:18 +0000 (00:21 +0300)]
Fix perldelta mistake
Karen Etheridge [Fri, 24 May 2019 20:13:54 +0000 (13:13 -0700)]
fix version in perldelta
Sawyer X [Fri, 24 May 2019 19:49:37 +0000 (22:49 +0300)]
Tick off release
Sawyer X [Fri, 24 May 2019 19:46:18 +0000 (22:46 +0300)]
Update epigraph
Sawyer X [Fri, 24 May 2019 17:40:59 +0000 (20:40 +0300)]
Remove the update from perldelta
Sawyer X [Fri, 24 May 2019 17:40:11 +0000 (20:40 +0300)]
Revert "Bump Pod::Simple from 3.35 to 3.36"
This reverts commit
314f4963bff4d23e773eee5559e5fd1de2dc6cbc.
This is causing testing failures on FreeBSD-11, raised by Jim Keenan.
Sawyer X [Fri, 24 May 2019 15:59:27 +0000 (18:59 +0300)]
add new release to perlhist
Sawyer X [Fri, 24 May 2019 15:41:53 +0000 (18:41 +0300)]
Finalize perldelta
Sawyer X [Fri, 24 May 2019 15:29:24 +0000 (18:29 +0300)]
Bump Module::CoreList
Sawyer X [Fri, 24 May 2019 15:06:58 +0000 (18:06 +0300)]
Bump Socket.pm from 2.027 to 2.029
Sawyer X [Fri, 24 May 2019 14:56:15 +0000 (17:56 +0300)]
Bump Pod::Simple from 3.35 to 3.36