This is a live mirror of the Perl 5 development currently hosted at
3 months agoperlop - Invocant only needs to be an object or class name for method calls
Dan Book [Fri, 11 Jun 2021 20:02:31 +0000 (16:02 -0400)]
perlop - Invocant only needs to be an object or class name for method calls

3 months agoPOSIX: Make strtoul() return UV if possible
TAKAI Kousuke [Thu, 4 Feb 2021 14:10:55 +0000 (23:10 +0900)]
POSIX: Make strtoul() return UV if possible

POSIX::strtoul() used to return NV if return value does not fit in IV,
but this caused loss of precision if unsigned long and NV are both 64-bit.

3 months agoPOSIX: Bump version
Karl Williamson [Sat, 24 Jul 2021 19:58:41 +0000 (13:58 -0600)]
POSIX: Bump version

3 months agoPetar-Kaleychev is now a Perl author
Karl Williamson [Sat, 24 Jul 2021 18:55:17 +0000 (12:55 -0600)]
Petar-Kaleychev is now a Perl author

3 months agoSkip 501_ping_icmpv6.t when icmpv6 cannot be initialized. Credits to rurban
Thibault DUPONCHELLE [Mon, 12 Jul 2021 15:49:33 +0000 (17:49 +0200)]
Skip 501_ping_icmpv6.t when icmpv6 cannot be initialized. Credits to rurban

3 months agoFix perl5300delta.pod
Petar-Kaleychev [Sun, 18 Jul 2021 15:44:28 +0000 (18:44 +0300)]
Fix perl5300delta.pod

This is the correct CVE.

3 months agoBump the perl version in various places ready for 5.35.3
Neil Bowers [Fri, 23 Jul 2021 22:09:35 +0000 (23:09 +0100)]
Bump the perl version in various places ready for 5.35.3

3 months agonew perldelta for 5.35.3
Neil Bowers [Fri, 23 Jul 2021 22:00:47 +0000 (23:00 +0100)]
new perldelta for 5.35.3

3 months agoU:N: Generalize to work on EBCDIC
Karl Williamson [Sat, 10 Jul 2021 20:02:13 +0000 (14:02 -0600)]
U:N: Generalize to work on EBCDIC

3 months agoU::N: Improve ok() function
Karl Williamson [Sat, 10 Jul 2021 19:02:15 +0000 (13:02 -0600)]
U::N: Improve ok() function

This hand-rolled function can serve as an is() when called with a 2nd
argument.  And in this module much of the data is non-printable so
should be output escaped.

None of the calls have a name parameter, so this can work.

3 months agoUnicode::Normalize: Make ok() common to all .t files
Karl Williamson [Sat, 10 Jul 2021 19:48:15 +0000 (13:48 -0600)]
Unicode::Normalize: Make ok() common to all .t files

There are already two functions designed for the .t files to use whose
common definition is in

This commit moves the hand-rolled ok() there as well, so its definition
is only in one place.

3 months agoMerge branch 'release-5.35.2' into blead
Neil Bowers [Fri, 23 Jul 2021 15:57:05 +0000 (16:57 +0100)]
Merge branch 'release-5.35.2' into blead

3 months agoadd new release to perlhist v5.35.2
Neil Bowers [Fri, 23 Jul 2021 01:24:12 +0000 (02:24 +0100)]
add new release to perlhist

3 months agoUpdated with changed modules
Neil Bowers [Fri, 23 Jul 2021 01:21:48 +0000 (02:21 +0100)]
Updated with changed modules

3 months agoUpdate Module::CoreList for 5.35.2
Neil Bowers [Fri, 23 Jul 2021 00:43:07 +0000 (01:43 +0100)]
Update Module::CoreList for 5.35.2

3 months agofirst cut at perldelta
Neil Bowers [Fri, 23 Jul 2021 00:26:35 +0000 (01:26 +0100)]
first cut at perldelta

3 months agoUpdated for 5.35.2
Neil Bowers [Fri, 23 Jul 2021 00:24:02 +0000 (01:24 +0100)]
Updated for 5.35.2

3 months agoUpdated Text-Tabs+Wrap from 2013.0523 to 2021.0717
Neil Bowers [Thu, 22 Jul 2021 21:55:37 +0000 (22:55 +0100)]
Updated Text-Tabs+Wrap from 2013.0523 to 2021.0717

3 months agoUpgraded Encode from 3.08 to 3.10
Neil Bowers [Thu, 22 Jul 2021 20:54:10 +0000 (21:54 +0100)]
Upgraded Encode from 3.08 to 3.10

3 months agoversion of Devel::PPPort wasn't bumped when merging
Neil Bowers [Thu, 22 Jul 2021 20:20:01 +0000 (21:20 +0100)]
version of Devel::PPPort wasn't bumped when merging

When ATOOMIC merged his CPAN release of ATOOMIC/Devel-PPPort-3.63.tar.gz
into blead, he didn't bump the version number in Porting/
So Porting/core-cpan-diff reported it as needing an upgrade.
That's how it seemed to me, anyway!

3 months agoUpgraded Math::BigRat, Math::BigInt::FastCalc, Math::BigInt, & bignum
Neil Bowers [Thu, 22 Jul 2021 20:14:26 +0000 (21:14 +0100)]
Upgraded Math::BigRat, Math::BigInt::FastCalc, Math::BigInt, & bignum

They have interdependencies that require at least these versions,
so needed to be added together.

3 months agoUse G_LIST in dist/threads
Paul "LeoNerd" Evans [Wed, 2 Jun 2021 22:37:53 +0000 (23:37 +0100)]
Use G_LIST in dist/threads

3 months agoUnicode::UCD: Bump version; regen
Karl Williamson [Tue, 20 Jul 2021 17:25:33 +0000 (11:25 -0600)]
Unicode::UCD: Bump version; regen

3 months agoUnicode::UCD: Fix character name in POD
Jakub Wilk [Tue, 20 Jul 2021 16:59:40 +0000 (18:59 +0200)]
Unicode::UCD: Fix character name in POD

3 months agoAdd perldelta.pod entry describing G_ARRAY->G_LIST rename
Paul "LeoNerd" Evans [Mon, 19 Jul 2021 15:37:36 +0000 (16:37 +0100)]
Add perldelta.pod entry describing G_ARRAY->G_LIST rename

3 months agoUpdate op/length.t to use strict/modern 'is()' tests
Karl Williamson [Wed, 7 Jul 2021 13:08:54 +0000 (07:08 -0600)]
Update op/length.t to use strict/modern 'is()' tests

Add strict and warnings, and modernize the part of the file that hann't
already been modernized.

This includes removing a few trailing blanks.

3 months agoDevel::PPPort: Fix STMT_START { ... } STMT_END
Karl Williamson [Sun, 18 Jul 2021 02:09:08 +0000 (20:09 -0600)]
Devel::PPPort: Fix STMT_START { ... } STMT_END

This fixes up 6d66b125bb339b62c0d8d4283d3fe576795764ce so that the
Devel::PPPort portion works on all supported Perls.

Basically, we have to preserve the pre-existing behavior for all Perls
that still have VOIDFLAGS, which was removed by:

Author: Nicholas Clark
Date: Wed Sep 11 11:54:42 2013 +0200

Eliminate the only use of VOIDFLAGS, as part of STMT_START in perl.h

STMT_START has used VOIDFLAGS as part of its conditional compilation
since it was added by commit 728e280 (March 1996). The code originally

/* Now which other defined()s do we need here ??? */

Since then it has been amended to avoid entering that definition for GCC
on Solaris. Given that all current Solaris compilers are C89 conformant,
VOIDFLAGS will always be true (actually 15), so the test is redundant.
Even back in 1996, it's possible that VOIDFLAGS was always non-zero on
SunOS, rendering the test obsolete from the start.

Spotted by Brian Fraser, and extracted from a larger patch of his.

3 months agoSync Devel::PPPort with CPAN version 3.63
Karl Williamson [Sun, 18 Jul 2021 15:04:58 +0000 (09:04 -0600)]
Sync Devel::PPPort with CPAN version 3.63

3 months agoPartially Revert "skip using gcc brace groups for STMT_START/END"
Karl Williamson [Sun, 18 Jul 2021 01:55:43 +0000 (19:55 -0600)]
Partially Revert "skip using gcc brace groups for STMT_START/END"

This reverts the portion of commit
6d66b125bb339b62c0d8d4283d3fe576795764ce that modified Devel::PPPort.
It turns out that it broke that module when the module is run on Perl
5.13.0 (and presumably any earlier Perl).

3 months agoperlapi: Consolidate and revise pod for toCASE_CHANGEfoo()
Karl Williamson [Sun, 18 Jul 2021 02:41:23 +0000 (20:41 -0600)]
perlapi: Consolidate and revise pod for toCASE_CHANGEfoo()

This finishes the work started by
3cb048e540f681a46e641b466030b55feaf5d337 for toLOWERfoo, using the same
paradigm, for the rest of the case changing macros and functions.

3 months agoSven Kirmess is now a Perl author
Karl Williamson [Sat, 17 Jul 2021 14:01:35 +0000 (08:01 -0600)]
Sven Kirmess is now a Perl author

3 months agoBump version
Karl Williamson [Sat, 17 Jul 2021 14:00:56 +0000 (08:00 -0600)]
Bump version

3 months agoPut back the old url for (in lib/unicore) since there is now a redirection
Thibault DUPONCHELLE [Thu, 17 Jun 2021 18:17:54 +0000 (20:17 +0200)]
Put back the old url for (in lib/unicore) since there is now a redirection

3 months agoRefine the changes to perlintro.pod after feedback and discussion.
Nicholas Clark [Thu, 1 Jul 2021 08:55:42 +0000 (08:55 +0000)]
Refine the changes to perlintro.pod after feedback and discussion.

Following useful feedback and suggestions from Neil Bowers, Jason McIntosh
and Dan Book, try to make the sentances shorter and clearer. Hopefully also
avoid some potential abmiguities about "special variables" not just being
all-punctuation or scalars.

3 months agoThree small changes to perlintro.pod
Nicholas Clark [Sun, 27 Jun 2021 16:22:46 +0000 (16:22 +0000)]
Three small changes to perlintro.pod

Simplify the text about declaring variables with my. The previous text said
both that "you don't have to pre-declare" and "you have to declare them",
where it wasn't clear that the former was about types, and the latter about
variables. The new phrasing tries to be clearer.

Note that special variables can also be "all capitals", not just
"punctuation". Remove the in joke about "line noise" because it adds little,
but many people use it as a negative trope about Perl.

Remove mention of given/when. We should not be promoting something we
intend to change. We should have done this years ago when we made it

3 months agoAdd missing word in 'if's documentation
Sven Kirmess [Thu, 8 Jul 2021 19:56:14 +0000 (21:56 +0200)]
Add missing word in 'if's documentation

3 months agoCPAN and Core match at Data-Dumper-2.183
Chris 'BinGOs' Williams [Sat, 17 Jul 2021 13:14:13 +0000 (14:14 +0100)]
CPAN and Core match at Data-Dumper-2.183

3 months agoSync DB_File with CPAN version 1.856
Paul Marquess [Sat, 17 Jul 2021 02:24:14 +0000 (02:24 +0000)]
Sync DB_File with CPAN version 1.856

From Changes:

1.856 22 June 2021

   * Ensure that all *.bak files are cleaned up

3 months agoMerge branch '18780-compound-token-split-by-macro' into blead
James E Keenan [Thu, 15 Jul 2021 11:50:12 +0000 (11:50 +0000)]
Merge branch '18780-compound-token-split-by-macro' into blead

3 months agoskip using gcc brace groups for STMT_START/END 18984/head
Tony Cook [Thu, 15 Jul 2021 03:13:03 +0000 (13:13 +1000)]
skip using gcc brace groups for STMT_START/END

This warns (and warns a lot) on clang, and since these are documented
to only work to make a single statement, so there's little value to
allowing them to work in an expression.

An alternative would be to disable GCC brace groups on clang, but
these are used extensively in DEBUGGING builds to add extra checks
in sv.h.

3 months agoHaiku BFS does not store atime and always return current time
Thibault Duponchelle [Tue, 6 Jul 2021 16:31:12 +0000 (16:31 +0000)]
Haiku BFS does not store atime and always return current time

3 months agoIncrement $VERSION throughout
James E Keenan [Sun, 11 Jul 2021 23:11:24 +0000 (23:11 +0000)]
Increment $VERSION throughout

3 months agoMerge branch 'pod-html-refactoring-3-of-5' into blead
James E Keenan [Sun, 11 Jul 2021 23:07:58 +0000 (23:07 +0000)]
Merge branch 'pod-html-refactoring-3-of-5' into blead

3 months agoRe-arrange subs in calling order
James E Keenan [Mon, 10 May 2021 15:23:03 +0000 (15:23 +0000)]
Re-arrange subs in calling order

I.e., first pod2html(), then its internal subs in order of (potential)

Signed-off-by: James E Keenan <>
3 months agoget working directory on a non existing path returns a value and no errno on Haiku
Thibault Duponchelle [Thu, 8 Jul 2021 15:08:47 +0000 (15:08 +0000)]
get working directory on a non existing path returns a value and no errno on Haiku

3 months agoav_new_alloc: revise description of size parameter
Richard Leach [Mon, 5 Jul 2021 09:52:46 +0000 (10:52 +0100)]
av_new_alloc: revise description of size parameter

3 months agoOnly set IOKp, not IOK on $) and $(.
Felipe Gasper [Fri, 2 Jul 2021 15:25:05 +0000 (11:25 -0400)]
Only set IOKp, not IOK on $) and $(.

Issue #18955: This will prevent serializers from serializing these
variables as numbers (which loses the additional groups).

This restores behaviour from 5.16.

3 months agoFix syntax error wwhen NAN_COMPARE_BROKEN
Karl Williamson [Mon, 5 Jul 2021 21:47:26 +0000 (15:47 -0600)]
Fix syntax error wwhen NAN_COMPARE_BROKEN

3 months agoMerge branch 'pod-html-refactoring-2-of-5' into blead
James E Keenan [Tue, 6 Jul 2021 01:08:44 +0000 (01:08 +0000)]
Merge branch 'pod-html-refactoring-2-of-5' into blead

3 months agoUse lowercase for lexical variables -- even filehandles 18950/head
James E Keenan [Mon, 5 Jul 2021 01:06:27 +0000 (01:06 +0000)]
Use lowercase for lexical variables -- even filehandles

Per rjbs code review in

3 months agoAfter eval-ing $VERSION, assign return value back to $VERSION
James E Keenan [Mon, 5 Jul 2021 00:42:17 +0000 (00:42 +0000)]
After eval-ing $VERSION, assign return value back to $VERSION

Remove superfluous assignment to @ISA.

Per rjbs code review in

3 months agoPod-Html: rename to
James E Keenan [Mon, 5 Jul 2021 00:41:01 +0000 (00:41 +0000)]
Pod-Html: rename to

Per rjbs code review in

3 months agoKeep $VERSION in synch
James E Keenan [Tue, 29 Jun 2021 17:08:56 +0000 (17:08 +0000)]
Keep $VERSION in synch

3 months agoIntroduce refine_parser()
James E Keenan [Tue, 16 Mar 2021 22:42:09 +0000 (22:42 +0000)]
Introduce refine_parser()

Further encapsulation of code internal to pod2html().

At this point we face obstacles:  %Pages; $output.

Signed-off-by: James E Keenan <>
3 months agoIntroduce generate_cache() and identify_input()
James E Keenan [Tue, 16 Mar 2021 22:15:56 +0000 (22:15 +0000)]
Introduce generate_cache() and identify_input()

Further encapsulation of code to improve readability.

Signed-off-by: James E Keenan <>
3 months agoRename one method per suggestion from rjbs
James E Keenan [Wed, 12 May 2021 12:53:01 +0000 (12:53 +0000)]
Rename one method per suggestion from rjbs

3 months agoIntroduce internal sub set_Title();
James E Keenan [Tue, 16 Mar 2021 22:00:45 +0000 (22:00 +0000)]
Introduce internal sub set_Title();

Encapsulate more code within pod2html(). The return value is for
convenience.  It's the setting inside $globals that counts.

Signed-off-by: James E Keenan <>
3 months agoIntroduce internal sub refine_globals()
James E Keenan [Tue, 16 Mar 2021 21:52:12 +0000 (21:52 +0000)]
Introduce internal sub refine_globals()

Encapsulate! Encapsulate!

Signed-off-by: James E Keenan <>
3 months agoCreate internal sub parse_input_for_podtree()
James E Keenan [Tue, 16 Mar 2021 21:46:19 +0000 (21:46 +0000)]
Create internal sub parse_input_for_podtree()

This clears up a bit of semantic confusion.  We were using one lexically
scoped variable -- my $parser -- to hold two different objects: one for
parsing input, one for writing output.  We can encapsulate the working
of the input parser to make the code more readable.

Signed-off-by: James E Keenan <>
3 months agoRemove last hard-tabs from
James E Keenan [Mon, 15 Mar 2021 00:41:49 +0000 (00:41 +0000)]
Remove last hard-tabs from

Signed-off-by: James E Keenan <>
3 months agoCreate sub write_file()
James E Keenan [Mon, 15 Mar 2021 00:25:29 +0000 (00:25 +0000)]
Create sub write_file()

We now start placing parts of sub pod2html() into separate subs so that
we reduce the length of pod2html(), making it more readable and
(ultimately) preparing for method calls.

Signed-off-by: James E Keenan <>
3 months agoIntroduce Pod::Html::Auxiliary
James E Keenan [Sun, 14 Mar 2021 00:08:47 +0000 (00:08 +0000)]
Introduce Pod::Html::Auxiliary

This package will hold helper subroutines used within the main package
or in tests.  They can be placed in a separate module and imported into
Pod::Html because they won't depend on having the globals passed as an
argument.  They will also be potentially independently testable.

Start with html_escape().

Move anchorify(), htmlify() to  Also _unixify -- now as unixify().

Move relativize_url() to Auxiliary.

Move usage() to Auxiliary.

Move trim_leading_whitespace to Auxiliary.

Move parse_command_line() to Auxiliary.

Keep porting tests happy. Increment $VERSION.  Run: ./perl -Ilib

anchorify.t, eol.t:  Correct excessive corrections.

Standardize setting of $VERSION.

3 months agoStart refactoring lib/Pod/
James E Keenan [Fri, 12 Mar 2021 14:48:58 +0000 (14:48 +0000)]
Start refactoring lib/Pod/

Group all the "global" variables into a hashref $globals.  This variable
will be the return value of init_globals() within pod2html(), will be
passed through, and augmented by, parse_command_line() and then used
through the balance of pod2html().

In essence, so far this is just a renaming of variables.

Remove declarations of superseded variables.

Pass $globals to get_cache(), cache_key() and load_cache().

3 months agoReduce default arguments for Testing:_prepare_argstable()
James E Keenan [Thu, 11 Mar 2021 14:36:39 +0000 (14:36 +0000)]
Reduce default arguments for Testing:_prepare_argstable()

Touch-up t/htmlview.t

3 months agoIntroduce Testing::record_state_of_cache()
James E Keenan [Thu, 11 Mar 2021 14:35:18 +0000 (14:35 +0000)]
Introduce Testing::record_state_of_cache()

A method to assist in debugging cache problems.

Should assist in resolving

Signed-off-by: James E Keenan <>
3 months agoperldelta for e1d3ed996ab
Tony Cook [Tue, 6 Jul 2021 01:06:05 +0000 (11:06 +1000)]
perldelta for e1d3ed996ab

3 months agoadd a note to perldoc -f each on using anon hashes/arrays
Tony Cook [Wed, 17 Mar 2021 03:23:29 +0000 (14:23 +1100)]
add a note to perldoc -f each on using anon hashes/arrays

3 months agowarn when using each on an anonymous hash or array
Tony Cook [Mon, 15 Mar 2021 06:17:13 +0000 (17:17 +1100)]
warn when using each on an anonymous hash or array

We've had three tickets over the years where the user has been confused
by the behaviour of each on an anonymous array or hash, there's no way
to tell if other users have been struck by the same issue, so make it
easier to diagnose by producing a warning.

3 months agoEliminate '-Wstring-compare' build-time warning in re_comp.c. 18948/head
James E Keenan [Sat, 26 Jun 2021 01:27:59 +0000 (01:27 +0000)]
Eliminate '-Wstring-compare' build-time warning in re_comp.c.

Per discussion with TonyC, use of the 'GCC' versions of two macros here
is appropriate because that version is documented to handle CLANG as
well.  Using these macros preserves an optimization added in d0f83c3 in

PR GH 18948 for issue GH 17015.

3 months agoData::Dumper 2.183 was released on 2021-07-05.
Nicholas Clark [Mon, 5 Jul 2021 06:15:42 +0000 (06:15 +0000)]
Data::Dumper 2.183 was released on 2021-07-05.

3 months agoFix version numbers and attribution in the Data::Dumper changes file.
Nicholas Clark [Mon, 5 Jul 2021 06:11:30 +0000 (06:11 +0000)]
Fix version numbers and attribution in the Data::Dumper changes file.

Neil Bowers spotted that the entries for the two recent development releases
were wrong (my copy paste error).

A couple of previous changes were attributed to me by mistake, because I had
updated the changes file - now fixed. Add attributions for several earlier
changes, based on blead's git history.

3 months agoBump Data::Dumper's $VERSION and update Changes, for a dev release.
Nicholas Clark [Sat, 3 Jul 2021 10:22:08 +0000 (10:22 +0000)]
Bump Data::Dumper's $VERSION and update Changes, for a dev release.

3 months agoChange dumper.t to done_testing() from plan() and an explicit test count.
Nicholas Clark [Sat, 3 Jul 2021 09:53:00 +0000 (09:53 +0000)]
Change dumper.t to done_testing() from plan() and an explicit test count.

As our minimum perl version is now 5.8.1, that comes with a Test::More that
is new enough to support done_testing(). This avoids frustrations with
cherry-picks between branches ignoring the hunk that updates the test count,
because both "sides" made the same textual change, and hence getting it
"wrong" (make test fails) because both sides meant "+6", not "this new count".

Also fix up some whitespace, and remove a long obsolete XXXif.
(Added by c4cce84862ab583d, but the corresponding close was already removed
by commit 531383e69c1fff07)

3 months agoRefactor the variable name code in Dumpxs to avoid repeated SvPV* calls.
Nicholas Clark [Fri, 2 Jul 2021 20:22:12 +0000 (20:22 +0000)]
Refactor the variable name code in Dumpxs to avoid repeated SvPV* calls.

This fixes a really subtle bug whereby Dumpxs would not recognise variable
names if they were generated by references with string overloading, NVs,
and potentially other strange things. Seems that no-one has ever hit this.

Also eliminate the need for a large temporary scratch buffer by using

3 months agoIn Data_Dumper_Dumpxs, rename name to name_sv.
Nicholas Clark [Fri, 2 Jul 2021 19:42:55 +0000 (19:42 +0000)]
In Data_Dumper_Dumpxs, rename name to name_sv.

3 months agoBump Data::Dumper's $VERSION and update Changes, for a dev release.
Nicholas Clark [Thu, 1 Jul 2021 06:58:08 +0000 (06:58 +0000)]
Bump Data::Dumper's $VERSION and update Changes, for a dev release.

3 months agoData::Dumper was erroneously stringifying qr'$foo' as qr/$foo/
Nicholas Clark [Wed, 30 Jun 2021 14:49:34 +0000 (14:49 +0000)]
Data::Dumper was erroneously stringifying qr'$foo' as qr/$foo/

qr// vs qr'' only affects whether variable interpolation happens in the
parser. The compiled regex doesn't record which quote style it used. It
turns out that $ always interpolates, unless it is at the end of the string
or followed by ) or |. Otherwise, except in qr'', dollar-anything will
interpolate that punctuation or regular variable. (Possibly violating

Meaning that if we see an unescaped $ that isn't at the end of the string,
isn't followed by ) and isn't followed by |, then either the regular
expression was written as qr'', *or* there was variable interpolation
where the interpolated value was that literal dollar sign.

We can exploit variable interpolation to generate a regex in qr// form
equivalent to one written without interpolation in qr'' form, which is
very useful as the XS code needs to use \x{} style escapes for non-ASCII
literals in the regex. This approach suggested by Eirik Berg Hanssen.

Bug reported as CPAN #84569

3 months agoGH #18047: Initial phrasing for =head5 and =head6
Sawyer X [Fri, 25 Sep 2020 21:25:27 +0000 (23:25 +0200)]
GH #18047: Initial phrasing for =head5 and =head6

3 months agoPerl_pad_alloc: simplify av_fetch() calls
Richard Leach [Mon, 14 Jun 2021 22:02:52 +0000 (23:02 +0100)]
Perl_pad_alloc: simplify av_fetch() calls

The nature of PL_comppad allows this.

3 months agoAdd inline av_fetch_simple and av_store_simple functions
Richard Leach [Fri, 11 Jun 2021 19:48:29 +0000 (20:48 +0100)]
Add inline av_fetch_simple and av_store_simple functions

3 months agoState that the -s command line switch is discouraged; mention Getopt::Long
Nicholas Clark [Mon, 28 Jun 2021 06:04:50 +0000 (06:04 +0000)]
State that the -s command line switch is discouraged; mention Getopt::Long

We really should discourage the use of -s.

Also clarify that the variables are created in the main package. It's not
obvious whether this is obvious - implying that it needs saying.

3 months agoData::Dumper 2.182 was released on 2021-06-30.
Nicholas Clark [Wed, 30 Jun 2021 09:15:08 +0000 (09:15 +0000)]
Data::Dumper 2.182 was released on 2021-06-30.

3 months agoReformatted Data-Dumper Changes as per CPAN::Changes::Spec
Neil Bowers [Tue, 29 Jun 2021 21:29:40 +0000 (22:29 +0100)]
Reformatted Data-Dumper Changes as per CPAN::Changes::Spec

This means that tools can parse this, and in particular MetaCPAN
will list the changes when you look at the dist/release page for

dist/Data-Dumpers/Changes used to be in pod, with a known pod
issue, so that's now dropped.

Updated AUTHORS and checkAUTHORS, as my github account has
an email address not currently known, but it's my prime
email address for Perl stuff.

3 months agoDumper.xs: Add comment
Karl Williamson [Tue, 25 May 2021 18:28:47 +0000 (12:28 -0600)]
Dumper.xs: Add comment

3 months agoDumper.xs: Output orphaned EBCDIC control as octal
Karl Williamson [Tue, 25 May 2021 18:08:06 +0000 (12:08 -0600)]
Dumper.xs: Output orphaned EBCDIC control as octal

This makes the code simpler, and removes the need to worry about and
comment on EBCDIC.

On ASCII machines there are the C0 controls, the C1 controls, and DEL,
which isn't technically in either set.  The C0 and DEL controls are
treated as low ordinal, and output using octal notation.  This commit
has no behavior changes on ASCII platforms.

On EBCDIC machines, there are 1-1 mappings to the entire set of 65 ASCII
controls.  All but one are in a single block and have been output using
octal.  This commit doesn't change the behavior of the 64 single-block

There is a lone control that isn't adjacent to the others, orphaned.
This commit's only effect is to cause it to be displayed using octal
instead of hex.  I believe the simplification of the code warrants this

On extant EBCDIC platforms that Perl supports, this control is 0xFF,
named EO or EIGHT ONES, and is somewhat like DEL on ASCII platforms,
which we already display as octal, even though it is much higher ordinal
than any other control displayed as octal.

3 months agoDumper.xs: Revise calculation of needed size
Karl Williamson [Tue, 25 May 2021 17:52:14 +0000 (11:52 -0600)]
Dumper.xs: Revise calculation of needed size

This changes the calculation of how large a buffer is needed to use a
loop instead of a chain of conditionals.  I think it is easier to read,
certainly it is tidier, and has the added (small) benefit that it
doesn't give up and choose the worst case scenario for large code

3 months agoDumper.xs: isDIGIT() is now in ppport.h
Karl Williamson [Tue, 25 May 2021 17:48:58 +0000 (11:48 -0600)]
Dumper.xs: isDIGIT() is now in ppport.h

So use it.  This makes the code cleaner, and removes a conditional
(unless the compiler optimizer figures out to do so anyway).

3 months agoDumper.xs: Port ESC_NATIVE back on EBCDIC
Karl Williamson [Tue, 25 May 2021 16:33:32 +0000 (10:33 -0600)]
Dumper.xs: Port ESC_NATIVE back on EBCDIC

Wrap its definition with LATIN1_TO_NATIVE() which will automatically
port it back as far as possible.

This is the only use of ESC_NATIVE on cpan, so I don't think it's worth
putting it in ppport.h

3 months agoBump Data::Dumper's $VERSION and update Changes, for a dev release.
Nicholas Clark [Tue, 29 Jun 2021 09:55:27 +0000 (09:55 +0000)]
Bump Data::Dumper's $VERSION and update Changes, for a dev release.

3 months agoReport Data::Dumper problems to Perl 5 Github issues queue
James E Keenan [Fri, 28 May 2021 22:16:23 +0000 (18:16 -0400)]
Report Data::Dumper problems to Perl 5 Github issues queue

In the commit message for 29c66c43dc9b80118284c89a37f090d4f2fada58,
Nicholas Clark wrote:

    Really we should decide *which* bugtracker is canonical for Data::Dumper
    (and will be checked and acted upon) and then record that metadata in this
    Makefile.PL so that [, etc., can] link to it.

Let's provide that information based on the examples of other
blead-upstream distros under `dist`, `dist/Module-CoreList/Makefile.PL`
and `dist/PathTools/Makefile.PL`.

3 months agoRemove references to Macintosh/Mac OS in perlfunc.pod and perlintro.pod
Nicholas Clark [Sun, 27 Jun 2021 15:15:09 +0000 (15:15 +0000)]
Remove references to Macintosh/Mac OS in perlfunc.pod and perlintro.pod

Both of these were about Classic, not Darwin.

The relevant Mac OS text in perlrun referenced from perlintro was removed
in 2009 by commit 78aea6ff0e955611:
    Remove Mac OS classic instructions from perlrun

3 months agoutf8_length: Fix undefined C behavior
Karl Williamson [Fri, 11 Jun 2021 04:12:11 +0000 (22:12 -0600)]
utf8_length: Fix undefined C behavior

In C the comparison of two pointers is only legal if both point to
within the same object, or to a virtual element one above the high edge
of the object.

The previous code was doing an addition potentially outside that range,
and so the results would be undefined.

3 months agoperldiag: numer -> number typo fix
Christian Walde [Tue, 29 Jun 2021 08:53:25 +0000 (10:53 +0200)]
perldiag: numer -> number typo fix

3 months agoPod::Simple: synch with CPAN version 3.43
Karl Williamson [Tue, 29 Jun 2021 16:35:32 +0000 (16:35 +0000)]
Pod::Simple: synch with CPAN version 3.43

3 months agoRemove :win32 PerlIO layer
Leon Timmermans [Sun, 20 Jun 2021 15:30:18 +0000 (17:30 +0200)]
Remove :win32 PerlIO layer

3 months agoMerge branch 'pod2html-single-tempdir-20210510' into blead
James E Keenan [Mon, 28 Jun 2021 13:38:09 +0000 (13:38 +0000)]
Merge branch 'pod2html-single-tempdir-20210510' into blead

3 months agoext/Pod-Html/t/*.t: Have each file run in tempdir pod2html-single-tempdir-20210510
James E Keenan [Mon, 10 May 2021 15:23:03 +0000 (15:23 +0000)]
ext/Pod-Html/t/*.t: Have each file run in tempdir

Until now, the tests for this library ran inside the ext/Pod-Html
directory in the core distribution.  Since the tests necessarily create
files while the harness runs, there was a possibility for race
conditions, which meant that we had to have a workaround in t/harness to
have the tests in this directory not run in parallel.

This commit restructures the testing process so that each test program
gets its own tempdir in which to create files and directories.

The test architecture is now found in t/lib/
This module will export two functions on demand that are used in the
individual test files.  They guarantee that all files created when
running a test program will be created in a temporary directory rather
than underneath the core distribution.

t/ is now superseded by t/lib/ and can be
removed.  The workaround has been removed from t/harness.

Change directory name from testdir/ to corpus/.  So as to more precisely
describe what the directory's purpose is.

Keep porting tests happy. Update MANIFEST and known_pod_issues database.

Acknowledge Craig Berry's recommendation in earlier branch

This should help in the resolution of

Correct typo spotted by rjbs.

4 months agoCopy the test bootstrapping order from t/TEST to t/README
Nicholas Clark [Mon, 28 Jun 2021 11:17:04 +0000 (13:17 +0200)]
Copy the test bootstrapping order from t/TEST to t/README

Clarify what the ordering constraints are and why the need to exist.

4 months agoAvoid some conditionals in is...UTF8_CHAR()
Karl Williamson [Sun, 30 May 2021 22:50:26 +0000 (16:50 -0600)]
Avoid some conditionals in is...UTF8_CHAR()

These three functions to determine if the next bit of a string is UTF-8
(constrained in three different ways) have basically the same short

One of the initial conditions in the while() is always true the first
time around.  By moving that condition to the middle of the loop, we
avoid it for the common case where the loop is executed just once.  This
is when the input is a UTF-8 invariant character (ASCII on ASCII

If the functions were constrained to require the first byte pointed to
by the input to exist, the while() could be a do {} while(), and there
would be no extra conditional in calling this vs checking if the next
character is invariant, and if not calling this.  And there would be
fewer conditionals for the case of 2 or more bytes in the character.

4 months agoMakefile.SH: Fixes for z/OS
Karl Williamson [Tue, 7 Jul 2020 00:33:06 +0000 (18:33 -0600)]
Makefile.SH: Fixes for z/OS

This removes two things that are causing problems:
    1) a space in a parameter