This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
2 years 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

2 years 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).

2 years 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.

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

2 years agoBump if.pm version
Karl Williamson [Sat, 17 Jul 2021 14:00:56 +0000 (08:00 -0600)]
Bump if.pm version

2 years agoPut back the old url for unicode.org (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 unicode.org (in lib/unicore) since there is now a redirection

2 years 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.

2 years 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
experimental.

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

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

2 years 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
     https://github.com/pmqs/DB_File/pull/9
     96bcf494625897ab4fcda322481dd6f730bdb668

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

2 years 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.

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

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

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

2 years 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)
call.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years 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

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

2 years 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.

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

http://nntp.perl.org/group/perl.perl5.porters/26082

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

2 years 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 https://github.com/Perl/perl5/pull/18950

2 years 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 https://github.com/Perl/perl5/pull/18950

2 years agoPod-Html: rename Auxiliary.pm to Util.pm
James E Keenan [Mon, 5 Jul 2021 00:41:01 +0000 (00:41 +0000)]
Pod-Html: rename Auxiliary.pm to Util.pm

Per rjbs code review in https://github.com/Perl/perl5/pull/18950

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

2 years 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 <jkeenan@cpan.org>
2 years 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 <jkeenan@cpan.org>
2 years 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

2 years 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 <jkeenan@cpan.org>
2 years 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 <jkeenan@cpan.org>
2 years 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 <jkeenan@cpan.org>
2 years agoRemove last hard-tabs from Html.pm
James E Keenan [Mon, 15 Mar 2021 00:41:49 +0000 (00:41 +0000)]
Remove last hard-tabs from Html.pm

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years 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 <jkeenan@cpan.org>
2 years 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 Auxiliary.pm.  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
regen/lib_cleanup.pl

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

Standardize setting of $VERSION.

2 years agoStart refactoring lib/Pod/Html.pm
James E Keenan [Fri, 12 Mar 2021 14:48:58 +0000 (14:48 +0000)]
Start refactoring lib/Pod/Html.pm

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().

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

2 years 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 https://github.com/Perl/perl5/issues/12271.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoperldelta for e1d3ed996ab
Tony Cook [Tue, 6 Jul 2021 01:06:05 +0000 (11:06 +1000)]
perldelta for e1d3ed996ab

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

2 years 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.

2 years 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
2009.

PR GH 18948 for issue GH 17015.

2 years 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.

2 years 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.

2 years 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.

2 years 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)

2 years 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
sv_setpvf().

2 years 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.

2 years 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.

2 years 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
strict)

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

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

2 years 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.

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

2 years 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.

2 years 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.

2 years 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
Data-Dumper.

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.

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

2 years 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
controls.

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
change.

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.

2 years 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
points.

2 years 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).

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

2 years 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.

2 years 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 [metacpan.org, 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`.

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

2 years 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.

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

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

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

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

2 years 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/Testing.pm.
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/pod2html-lib.pl is now superseded by t/lib/Testing.pm 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
https://github.com/Perl/perl5/issues/12271.

Correct typo spotted by rjbs.

2 years 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.

2 years 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
loop.

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
platforms).

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.

2 years 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
    2) DPERL_EXTERNAL_GLOB=''

2 years agofix new libperl.t 'no symbols' warning on darwin
David Marshall [Fri, 25 Jun 2021 21:16:06 +0000 (14:16 -0700)]
fix new libperl.t 'no symbols' warning on darwin

A change in October 2019 added handling for the case that 'nm' might
emit the error message 'no symbols' (apparently erroneously. Apple seems
to have included a fix to upstream LLVM to change the message to be a
file reference followed by ': no symbols'. For libperl.t, the message is
typically '../libperl.a:perlapi.o: no symbols'. This change handles both
the old and current behavior.

2 years agoAdd David Marshall to AUTHORS.
Nicholas Clark [Mon, 28 Jun 2021 08:15:05 +0000 (02:15 -0600)]
Add David Marshall to AUTHORS.

2 years agoperlio.c: Don't wrongly conditionally compile
Karl Williamson [Thu, 17 Jun 2021 03:00:34 +0000 (21:00 -0600)]
perlio.c: Don't wrongly conditionally compile

The code is using '#ifdef EBCDIC' when it has nothing to do with EBCDIC;
but is a proxy for how things work on IBM boxes that use EBCDIC.

2 years agoutfebcdic.h: Remove obsolete #defines
Karl Williamson [Mon, 14 Jun 2021 11:04:21 +0000 (05:04 -0600)]
utfebcdic.h: Remove obsolete #defines

For a couple of releases now, these have been uncalled

2 years agoUpdate hints/os390.sh
Karl Williamson [Sun, 20 Jun 2021 14:43:36 +0000 (08:43 -0600)]
Update hints/os390.sh

This modernizes this hints file enough that it actually works on a real
live system.

2 years agohints/os390.sh: White-space/comment only
Karl Williamson [Sun, 20 Jun 2021 14:30:04 +0000 (08:30 -0600)]
hints/os390.sh: White-space/comment only

2 years agoDead link on ccl4, not found anywhere else but in webarchive. Use webarchive for...
Thibault DUPONCHELLE [Fri, 25 Jun 2021 07:38:56 +0000 (09:38 +0200)]
Dead link on ccl4, not found anywhere else but in webarchive. Use webarchive for l-optperl.html

oreilly.com.tw no longer exists

oreilly.com.tw no longer exists and jp and cn are give right afterwards

Committer: update t/porting/known_pod_issues.dat

2 years agoImprove perlxs grammar
Ben Cornett [Thu, 24 Jun 2021 15:07:49 +0000 (11:07 -0400)]
Improve perlxs grammar

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoRemove inheritance from Exporter in ext/ modules
Max Maischein [Sun, 20 Jun 2021 16:54:41 +0000 (18:54 +0200)]
Remove inheritance from Exporter in ext/ modules

Inheriting from Exporter adds several subroutines that are not really
needed by these modules.

The remaining uses of inheritance from Exporter are:

re.pm - this uses export_to_level(), which really, really wants
the inheritance

# Conflicts:
# ext/File-Find/lib/File/Find.pm
# ext/File-Glob/Glob.pm
# ext/GDBM_File/GDBM_File.pm
# ext/Opcode/Opcode.pm
# ext/Pod-Html/lib/Pod/Html.pm

2 years agoperlnewmod.pod: Remove dead link and make a header line stand out more.
Leam Hall [Thu, 24 Jun 2021 19:10:21 +0000 (14:10 -0500)]
perlnewmod.pod: Remove dead link and make a header line stand out more.

2 years agoRemove undeclared $Is_VMS from DynaLoader_pm.PL
Craig A. Berry [Thu, 24 Jun 2021 11:38:58 +0000 (06:38 -0500)]
Remove undeclared $Is_VMS from DynaLoader_pm.PL

The variable appears to have been unused since 1c7f9087b1206cc7,
and the addition of strict in f0e0f25d5ce9118d61837a3 makes the
generated DynaLoader.pm fail to compile. But only on VMS.

2 years agoensure types of PL_nan and PL_inf are consistent
Tony Cook [Mon, 21 Jun 2021 05:36:05 +0000 (15:36 +1000)]
ensure types of PL_nan and PL_inf are consistent

Different types for a variable across compilation units can in
theory cause undefined behavior.  In this case I think it's unlikely
to cause an issue, but LTO builds also (correctly) complain about
the type mismatch, so ensure they match.

2 years agoUpdate perlgov.pod with Steering Council Election Results
David Golden [Tue, 22 Jun 2021 23:52:36 +0000 (19:52 -0400)]
Update perlgov.pod with Steering Council Election Results

2 years agoAdd a "Show Config" step to the GitHub CI config.
Nicholas Clark [Tue, 22 Jun 2021 12:52:13 +0000 (12:52 +0000)]
Add a "Show Config" step to the GitHub CI config.

Hopefully this will make it easier to figure out the cause of test failures.

2 years agoCorrect grammar/spelling problems
James E Keenan [Wed, 23 Jun 2021 16:31:58 +0000 (16:31 +0000)]
Correct grammar/spelling problems

As spotted by Tux

2 years agoFix definition of ITEM_NOT_FOUND for pre-1.13 versions. 18924/head
Sergey Poznyakoff [Wed, 23 Jun 2021 12:31:42 +0000 (15:31 +0300)]
Fix definition of ITEM_NOT_FOUND for pre-1.13 versions.

2 years agoRaise version number in ext/GDBM_File/GDBM_File.pm
Sergey Poznyakoff [Wed, 23 Jun 2021 11:24:47 +0000 (14:24 +0300)]
Raise version number in ext/GDBM_File/GDBM_File.pm

2 years agoFix GDBM_File to compile with version 1.20 and earlier
Sergey Poznyakoff [Wed, 23 Jun 2021 07:26:50 +0000 (10:26 +0300)]
Fix GDBM_File to compile with version 1.20 and earlier

* ext/GDBM_File/GDBM_File.xs (ITEM_NOT_FOUND): Define conditionally,
depending on the GDBM_VERSION_MAJOR and GDBM_VERSION_MINOR.
Don't assume GDBM_ITEM_NOT_FOUND is a define (it isn't since
gdbm commit d3e27957).

2 years agoChange the "New issue" page to point to the RFC process. 18859/head
Nicholas Clark [Wed, 23 Jun 2021 06:10:34 +0000 (06:10 +0000)]
Change the "New issue" page to point to the RFC process.

2 years agoperldelta for fe991866a0
Tony Cook [Wed, 23 Jun 2021 00:55:07 +0000 (10:55 +1000)]
perldelta for fe991866a0

2 years agoperldelta for 2b96d013a
Tony Cook [Wed, 23 Jun 2021 00:45:23 +0000 (10:45 +1000)]
perldelta for 2b96d013a

2 years agofix magic and upgraded SV handling for setsockopt()'s OPTVAL
Tony Cook [Wed, 24 Mar 2021 01:02:54 +0000 (12:02 +1100)]
fix magic and upgraded SV handling for setsockopt()'s OPTVAL

The code here checked SV flags before fetching magic, potentially
getting confused if magic fetched changed flags.

This also fixes handling for upgraded SVs, but I'm not sure that can
be tested sufficiently portably.

2 years agoperl5db: add tests for v command
Tony Cook [Tue, 22 Jun 2021 06:19:23 +0000 (16:19 +1000)]
perl5db: add tests for v command

2 years agobump perl5db.pl $VERSION to 1.61
Tony Cook [Tue, 22 Jun 2021 05:41:57 +0000 (15:41 +1000)]
bump perl5db.pl $VERSION to 1.61

2 years agofix comment.
Atsushi SUGAWARA [Thu, 17 Jun 2021 00:50:36 +0000 (09:50 +0900)]
fix comment.

2 years agolib/perl5db.pl: cmd_l() no longer exists.
Atsushi SUGAWARA [Thu, 17 Jun 2021 00:47:48 +0000 (09:47 +0900)]
lib/perl5db.pl: cmd_l() no longer exists.

Subroutine cmd_l() no longer exists.
Now we should call cmd_l_main().

2 years agoCorrect typo in inline comment
James E Keenan [Mon, 21 Jun 2021 23:26:45 +0000 (19:26 -0400)]
Correct typo in inline comment