This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
2 years agoembed.fnc: Add more extensive comments
Karl Williamson [Thu, 30 May 2019 01:10:19 +0000 (19:10 -0600)]
embed.fnc: Add more extensive comments

This revises the comments significantly to better inform the reader.

2 years agoRemove redundant info on =for apidoc lines
Karl Williamson [Thu, 30 May 2019 00:33:25 +0000 (18:33 -0600)]
Remove redundant info on =for apidoc lines

This information is already in embed.fnc, and we know it compiles.  Some
of this information is now out-of-date.  Get rid of it.

There was one bit of information that was (apparently) wrong in
embed.fnc.  The apidoc line asked that there be no usage example
generated for newXS.  I added that flag to the embed.fnc entry.

2 years agoautodoc.pl: Use embed.fnc entry when available
Karl Williamson [Wed, 29 May 2019 22:06:51 +0000 (16:06 -0600)]
autodoc.pl: Use embed.fnc entry when available

Having two different pod definitions for the same function leads to
things being out of sync.  This commit ignores the one in the '=for
apidoc' line if there is one in embed.fnc.

Doing so led to a bunch of changes in perlapi, showing that the apidoc
lines were inaccurate.  The ones in embed.fnc must be accurate enough to
get perl to compile.

I added a warning for when there's a redundant entry, and in the next
commit I will remove the many such.

2 years agoautodoc.pl: Add N flag
Karl Williamson [Wed, 29 May 2019 22:01:34 +0000 (16:01 -0600)]
autodoc.pl: Add N flag

This adds a check that the macro or function name for the pod entry is a
legitimate name, as almost all are.  If this had been in effect, the bug
fixed by the previous commit would not have been necessary.

But there are a very few things that are documented that aren't strict
names.  This adds a flag so that autodoc can be notified to not warn on
them.  This will allow Devel::PPPort to not have to special case
situations like this, which it now does.

2 years agoautodoc.pl: Check for misuse of the 'n' flag
Karl Williamson [Wed, 29 May 2019 21:58:20 +0000 (15:58 -0600)]
autodoc.pl: Check for misuse of the 'n' flag

This flag indicates that the macro has no arguments.  It makes no sense
to use in some situations, which are now checked for.

This commit also documents the long existing 'n' flag.

2 years agoautodoc.pl: Make 's' flag independent of 'n'
Karl Williamson [Wed, 29 May 2019 21:50:45 +0000 (15:50 -0600)]
autodoc.pl: Make 's' flag independent of 'n'

The 's' flag is used by autodoc.pl to add a semi-colon to the end of a
usage example.  This commit allows that to happen even if the macro has
parameters.

This allows two macros in scope.c to be properly documented.  Previously
they weren't, and caused warnings in Devel::PPPort as a result.

This commit adds documentation to embed.fnc for the 's' flag, which has
long existed, undocumented.

2 years agoautodoc.pl: Notice the no-thread context flag
Karl Williamson [Wed, 29 May 2019 21:41:23 +0000 (15:41 -0600)]
autodoc.pl: Notice the no-thread context flag

I realized reading the code that it would be possible for a function
definition to be wrongly output if it isn't called with a thread context
variable.  The information for that is already in embed.fnc, and so we
just have to use it to avoid printing the variable if not present

2 years agoembed.fnc: Add flag for bypass macro existence
Karl Williamson [Wed, 29 May 2019 21:28:44 +0000 (15:28 -0600)]
embed.fnc: Add flag for bypass macro existence

Sometimes a function is reduced to be a wrapper, and we want for code to
directly call the underlying one, but we retain the old 'Perl_foo'
function to avoid breaking code that used that form.  I've tried various
kludges around that, but this seems more promising.

2 years agoautodoc.pl: Use O flag from embed.fnc for warning
Karl Williamson [Wed, 29 May 2019 21:05:05 +0000 (15:05 -0600)]
autodoc.pl: Use O flag from embed.fnc for warning

This is for ancient 'perl_' forms of function calls, which is
deprecated.  It turns out that there were a couple of entries that were
getting this warning when that form doesn't even exist.

2 years agoLet embed.fnc define the my_str_foo() fcns
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

2 years agoembed.fnc: Change M flag to x
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).

2 years agoembed.fnc: Change x flag to e
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).

2 years agoembed.fnc: Change s flag to S
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).

2 years agocroak_memory_wrap is an inline function.
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

2 years agoembed.fnc: Change n flag to T
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).

2 years agoAdd 'n' flag to various =for apidoc lines
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)

2 years agoautodoc.pl: Strip, lead/trail space from =for apidoc
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.

2 years agoautodoc.pl: White-space only
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.

2 years agoautodoc.pl: Refactor slightly
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.

2 years agoautodoc.pl: Change name of variable
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

2 years agoUse of strings with code points over 0xFF as arguments to "vec"
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

2 years agoPATCH: [perl #119439] Remove Pod::Parser from core
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.

2 years agopod/perlpod: Add advice about Z<> uses
Karl Williamson [Fri, 1 Jun 2018 17:31:12 +0000 (11:31 -0600)]
pod/perlpod: Add advice about Z<> uses

2 years agopodcheck.t: Stop using Pod::Parser
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.

2 years agopodcheck.t: Sort some output for consistency
Karl Williamson [Thu, 10 May 2018 01:29:09 +0000 (19:29 -0600)]
podcheck.t: Sort some output for consistency

2 years agopodcheck.t: Typos, white-space, comment
Karl Williamson [Thu, 10 May 2018 01:28:24 +0000 (19:28 -0600)]
podcheck.t: Typos, white-space, comment

2 years agoperldelta for fb5e77103dd4, 35608a1658fe
Tony Cook [Thu, 30 May 2019 00:33:40 +0000 (10:33 +1000)]
perldelta for fb5e77103dd435608a1658fe

2 years ago(perl #122112) a simpler fix for pclose() aborted by a signal
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.

2 years ago(perl #122112) test for signal handler death in pclose
Tony Cook [Wed, 30 May 2018 04:03:04 +0000 (14:03 +1000)]
(perl #122112) test for signal handler death in pclose

2 years agoMake sv_mortalcopy_flags() public
Pali [Thu, 7 Feb 2019 13:22:55 +0000 (14:22 +0100)]
Make sv_mortalcopy_flags() public

2 years agoRemove remaining assignments to SvCUR and SvLEN in core
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

2 years agoUpdate Pod-Simple to CPAN version 3.36
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

2 years agoMake sure 'if' compiled before Pod::Simple
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.

2 years agomake_ext.pl: Add some general comments
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.

2 years agoBetter document build dependency ordering
Karl Williamson [Mon, 27 May 2019 17:51:23 +0000 (11:51 -0600)]
Better document build dependency ordering

2 years agoperlsource: Better document Configure
Karl Williamson [Mon, 27 May 2019 17:49:23 +0000 (11:49 -0600)]
perlsource: Better document Configure

2 years agoDon't use PL_check[op_type] to check for filetets ops to stack
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

2 years agoModule-CoreList: Add some L<> to pod
Karl Williamson [Mon, 13 May 2019 20:40:15 +0000 (14:40 -0600)]
Module-CoreList: Add some L<> to pod

2 years agoperlpodspec: Pod in heredocs is still 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.

2 years agoutils/h2xs.PL: Use L</Foo Bar>, not L<Foo Bar> in pod
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

2 years agoperltie: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:52:00 +0000 (10:52 -0600)]
perltie: Use L</Foo Bar>, not L<Foo Bar>

2 years agolib/warnings.pm: 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>

2 years agolib/overload.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>

2 years agoUnicode::UCD: 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>

2 years agolib/Class/Struct.pm: 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>

2 years agoTie::File: Use L</Foo>, not L<"Foo"> in pod
Karl Williamson [Fri, 1 Jun 2018 16:47:28 +0000 (10:47 -0600)]
Tie::File: Use L</Foo>, not L<"Foo"> in pod

2 years agoperlxstut: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:46:14 +0000 (10:46 -0600)]
perlxstut: Use L</Foo Bar>, not L<Foo Bar>

2 years agoconfigpm: Remove extraneous =cut lines
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.

2 years agoREADME.os2: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:43:55 +0000 (10:43 -0600)]
README.os2: Use L</Foo Bar>, not L<Foo Bar>

2 years agoPorting/release_managers_guide.pod: 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>

2 years agoINTALL: 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>

2 years agoTime::HiRes: Remove trailing blanks
Karl Williamson [Wed, 16 May 2018 01:29:41 +0000 (19:29 -0600)]
Time::HiRes: Remove trailing blanks

2 years agoTime::HiRes: Add L<> to pod links
Karl Williamson [Wed, 16 May 2018 01:29:12 +0000 (19:29 -0600)]
Time::HiRes: Add L<> to pod links

2 years agoINSTALL: Add L<> and F<> pod directives
Karl Williamson [Thu, 10 May 2018 01:03:49 +0000 (19:03 -0600)]
INSTALL: Add L<> and F<> pod directives

2 years agoPathTools::Win32.pm: Add L<> around link in pod
Karl Williamson [Thu, 10 May 2018 00:57:24 +0000 (18:57 -0600)]
PathTools::Win32.pm: Add L<> around link in pod

2 years agoSelfLoader: 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

2 years agoLocale::Maketext: Add L<> around links in pod
Karl Williamson [Thu, 10 May 2018 00:53:04 +0000 (18:53 -0600)]
Locale::Maketext: Add L<> around links in pod

2 years agoI18N::LangTags: 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

2 years agoTie::File: Add L<> around link in pod
Karl Williamson [Thu, 10 May 2018 00:50:47 +0000 (18:50 -0600)]
Tie::File: Add L<> around link in pod

2 years agolib/Unicode/UCD.t: Use standard Perl environment variable
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.

2 years agoperlrun: Add L<> to links
Karl Williamson [Thu, 10 May 2018 00:32:13 +0000 (18:32 -0600)]
perlrun: Add L<> to links

2 years agoIO: Add L<> around link in pod
Karl Williamson [Wed, 9 May 2018 23:31:45 +0000 (17:31 -0600)]
IO: Add L<> around link in pod

2 years agoExtUtils::CBuilder: Add L<> around a link in the pod
Karl Williamson [Wed, 9 May 2018 23:22:46 +0000 (17:22 -0600)]
ExtUtils::CBuilder: Add L<> around a link in the pod

2 years agoperlbug.PL: 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

2 years agoUnicode::Normalize: Add L<> to links in pod
Karl Williamson [Wed, 9 May 2018 21:52:56 +0000 (15:52 -0600)]
Unicode::Normalize: Add L<> to links in pod

2 years agoAdd log library to libwanted; provides __android_log_print for Sys::Syslog
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

2 years ago{op, pp, regcomp}.c: fix missing parentheses in 'if' statement
chinarulezzz [Fri, 20 Apr 2018 17:54:12 +0000 (20:54 +0300)]
{op, pp, regcomp}.c: fix missing parentheses in 'if' statement

2 years agonumeric.c: Use full name of function in definition
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.

2 years agoPATCH: [perl #134098] no locales + debugging = no compile
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

2 years agoModern Androids do support locales
Richard Leach [Sun, 19 May 2019 03:50:37 +0000 (03:50 +0000)]
Modern Androids do support locales

2 years agoPATCH: [perl #134117] Close DATA in loc_tools.pl
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

2 years agolocale.c: Fix '%s' directive argument is null
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

2 years agoasan_ignore: Explicitly list ignored behavior fcns
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.

2 years agoRemove undefined behavior from IV shifting
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.

2 years agopp.c: Add two UNLIKELY()s
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

2 years agoCreate fcn for lossless conversion of NV to IV
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.

2 years agopp.c: White-space only
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

2 years agoperl.h: Clarify debugging text
Karl Williamson [Wed, 24 Apr 2019 21:45:43 +0000 (15:45 -0600)]
perl.h: Clarify debugging text

2 years agoAdd some comments around tainting
Karl Williamson [Thu, 18 Apr 2019 16:10:41 +0000 (10:10 -0600)]
Add some comments around tainting

2 years agolocale.c: Add some comments
Karl Williamson [Wed, 3 Apr 2019 20:11:27 +0000 (14:11 -0600)]
locale.c: Add some comments

2 years agolocale.c: remove unnecessary cast
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.

2 years agoJereome Duval is a Perl author
Karl Williamson [Fri, 10 May 2019 14:54:45 +0000 (08:54 -0600)]
Jereome Duval is a Perl author

2 years agoregcomp.sym: Fix typo in comment
Karl Williamson [Thu, 23 May 2019 06:48:49 +0000 (00:48 -0600)]
regcomp.sym: Fix typo in comment

2 years agonumeric.c: Add #error case
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.

2 years agoS_scan_const() Properly test if need to grow
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.

2 years agoPOSIX.xs: Add NOTREACHED to silence cygwin compiler
Karl Williamson [Mon, 29 Apr 2019 03:26:35 +0000 (21:26 -0600)]
POSIX.xs: Add NOTREACHED to silence cygwin compiler

2 years agoposix_bump
Karl Williamson [Wed, 24 Apr 2019 22:22:08 +0000 (16:22 -0600)]
posix_bump

2 years agocygwin.c: Fix misleading indentation
Karl Williamson [Mon, 29 Apr 2019 03:17:21 +0000 (21:17 -0600)]
cygwin.c: Fix misleading indentation

2 years agoregnodes.h: Change some regnodes' names
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

2 years agoPATCH: [perl #134126] -Dusemymalloc, -Dusethreads
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.

2 years agoPATCH: [perl #134059] panic outputting a warning
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.

2 years agoperllocale: Use L</Foo Bar>, not L<Foo Bar>
Karl Williamson [Fri, 1 Jun 2018 16:51:05 +0000 (10:51 -0600)]
perllocale: Use L</Foo Bar>, not L<Foo Bar>

2 years agoPATCH: [perl #134134] read beyond end of buffer
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.

2 years agoResolve merge conflict
Sawyer X [Fri, 24 May 2019 22:18:57 +0000 (01:18 +0300)]
Resolve merge conflict

2 years agoBump Module::CoreList
Sawyer X [Fri, 24 May 2019 22:06:41 +0000 (01:06 +0300)]
Bump Module::CoreList

2 years agoBump the perl version in various places for 5.31.1
Sawyer X [Fri, 24 May 2019 21:58:31 +0000 (00:58 +0300)]
Bump the perl version in various places for 5.31.1

2 years agonew perldelta for 5.31.1
Sawyer X [Fri, 24 May 2019 21:44:00 +0000 (00:44 +0300)]
new perldelta for 5.31.1

2 years agoFix perldelta from 5.30.1 to 5.31.0:
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/.

2 years agoFix perldelta mistake
Sawyer X [Fri, 24 May 2019 21:21:18 +0000 (00:21 +0300)]
Fix perldelta mistake

2 years agofix version in perldelta
Karen Etheridge [Fri, 24 May 2019 20:13:54 +0000 (13:13 -0700)]
fix version in perldelta