This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
2 years agocmpVERSION.pl and test.pl now handle checkouts from git-worktree. 19082/head
Nicholas Clark [Wed, 25 Aug 2021 07:44:49 +0000 (07:44 +0000)]
cmpVERSION.pl and test.pl now handle checkouts from git-worktree.

2 years agopp_tie should completely reset the underlying hash's iterator state.
Nicholas Clark [Mon, 23 Aug 2021 15:48:49 +0000 (15:48 +0000)]
pp_tie should completely reset the underlying hash's iterator state.

Previously it would mangle it, resetting EITER but not RITER, meaning that
after untie continuing iteration would be inconsistent - normally it would
carry on exactly where it left off, but if iteration had been in the middle
of a chain of HEs, it would skip the rest of the chain.

Fixes GH #19077

2 years agoTests for tied hashes using test.pl
Nicholas Clark [Mon, 23 Aug 2021 15:07:39 +0000 (15:07 +0000)]
Tests for tied hashes using test.pl

t/op/tie.t uses run_multiple_progs() to run each test in an individual perl
interpreter. This is robust, but slow and doesn't give much flexibility in
test diagnostics.

Hence this test file, for test cases that can safely run in the same
interpreter, and where we'd can use like() etc for better diagnostics.

2 years agoDon't call HvHASKFLAGS_on() in S_hv_delete_common(). 19080/head
Nicholas Clark [Mon, 26 Jul 2021 13:10:30 +0000 (13:10 +0000)]
Don't call HvHASKFLAGS_on() in S_hv_delete_common().

We're not changing any keys on the hash, so if it didn't have any keys with
flags before the delete, it won't have any afterwards either.

I added this line in Nov 2003 as part of commit cd6d36ac47e47079:
    Move the negative key -> utf8 flag conversion out to hv_delete

I don't think that it was correct then, and I don't think that it's correct
now.

2 years agopp_tie should use HvEITER_get() instead of HvEITER(). 19079/head
Nicholas Clark [Sat, 31 Jul 2021 08:11:27 +0000 (08:11 +0000)]
pp_tie should use HvEITER_get() instead of HvEITER().

The former doesn't make a function call.

2 years agoAdd /^vgcore.*/ to the list of podcheck.t filename exclusions.
Nicholas Clark [Sun, 1 Aug 2021 09:01:44 +0000 (09:01 +0000)]
Add /^vgcore.*/ to the list of podcheck.t filename exclusions.

Regularly named core files were in the list, but valgrind's variant were not.

2 years agoDisplay the completion ETA once we've done at least 20%
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 16:39:26 +0000 (17:39 +0100)]
Display the completion ETA once we've done at least 20%

2 years agoPrint count of done vs. total tests and percentage from Porting/bench.pl
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 14:41:46 +0000 (15:41 +0100)]
Print count of done vs. total tests and percentage from Porting/bench.pl

2 years agoop.h: define missing BASEOP fields (op_sibparent,op_targ)
Richard Leach [Sun, 25 Apr 2021 20:00:43 +0000 (21:00 +0100)]
op.h: define missing BASEOP fields (op_sibparent,op_targ)

2 years agosv.c: Removed a redundant SvNV_nomg call in sv_vcatpvfn_flags.
TAKAI Kousuke [Thu, 19 Aug 2021 17:37:22 +0000 (02:37 +0900)]
sv.c: Removed a redundant SvNV_nomg call in sv_vcatpvfn_flags.

SvNV_nomg(argsv) is redundant here because its NV is already loaded
to the local variable "nv".

2 years agoExporter: Document non-inheriting as default mechanism
Dan Book [Thu, 19 Aug 2021 15:52:27 +0000 (11:52 -0400)]
Exporter: Document non-inheriting as default mechanism

2 years agoutf8.c: Make new static fcn more flexible 19055/head
Karl Williamson [Mon, 10 May 2021 16:41:28 +0000 (10:41 -0600)]
utf8.c: Make new static fcn more flexible

This commit allows this function to be called with NULL parameters when
the result of these is not needed.

2 years agoutf8.c: White-space, comment only
Karl Williamson [Mon, 16 Aug 2021 02:22:44 +0000 (20:22 -0600)]
utf8.c: White-space, comment only

2 years agoutf8.c: Rmv no longer needed speed-up code
Karl Williamson [Sun, 9 May 2021 21:46:01 +0000 (15:46 -0600)]
utf8.c: Rmv no longer needed speed-up code

The code this commit removes made sense when we were using swashes, and
we had to go out to files on disk to find the answers.  It used
knowledge of the Unicode character database to skip swaths of scripts
which are caseless.

But now, all that information is stored in C arrays that will be paged
in when accessed, which is done by a binary search.  The information
about those swaths is in those arrays.  The conditionals removed here
are better spent in executing iterations of the search in L1 cache.

2 years agoutf8.c: Split a static fcn
Karl Williamson [Sun, 9 May 2021 21:14:11 +0000 (15:14 -0600)]
utf8.c: Split a static fcn

This adds a new function for changing the case of an input code point.
The difference between this and the existing function is that the new
one returns an array of UVs instead of a combination of the first code
point and UTF-8 of the whole thing, a somewhat awkward API that made
more sense when we used swashes.  That function is retained for now, at
least, but most of the work is done in the new function.

2 years agoutf8.c: Use porcelain libc case changing fcn
Karl Williamson [Fri, 14 May 2021 14:53:56 +0000 (08:53 -0600)]
utf8.c: Use porcelain libc case changing fcn

The fancy wrapper macro that does extra things was being used, when all
that is needed is the bare libc function.  This is because the code
calling it already wraps it, so avoids calling it unless the bare
version is what is appropriate.

2 years agoregexec.c: White-space/comment only 19056/head
Karl Williamson [Mon, 16 Aug 2021 11:22:54 +0000 (05:22 -0600)]
regexec.c: White-space/comment only

2 years agoregexec.c: regrepeat() switch() on target utf8ness
Karl Williamson [Thu, 6 May 2021 16:55:48 +0000 (10:55 -0600)]
regexec.c: regrepeat() switch() on target utf8ness

Many of the cases in the main switch() statement in regrepeat() begin
with

    if (utf8_target)

or similar.  These branches can be saved, and the code easier to
understand by including the utf8ness in the case statements, as this
commit does; taking advantage of the changes in the previous commit.

2 years agoregnodes.h: Add new set of defines
Karl Williamson [Thu, 6 May 2021 15:59:06 +0000 (09:59 -0600)]
regnodes.h: Add new set of defines

There currently is a set of defines for switching on the op code of the
regnode, and another set for switching on that plus the utf8ness of both
the target and pattern.  This latter set is useful in one routine in
regexec.c where all three are important.  It allows fewer branches to
have to be done by encoding where to go into the case: value.

There are other similar switches in regexec.  The one in regrepeat()
doesn't care very much about the utf8ness of the pattern.

This commit adds a third set of defines for use by that switch, which
will be used by the next commit.

2 years agoReplace FIXME in the MANIFEST with the correct description for the file.
Nicholas Clark [Mon, 23 Aug 2021 11:36:38 +0000 (11:36 +0000)]
Replace FIXME in the MANIFEST with the correct description for the file.

We have 117 instances of the text FIXME in the core source code - it's not
actually good choice of text for a placeholder meaning "fix this before
pushing", as it's easy to miss the one that was added with this intent.

My mistake, spotted by ilmari.

2 years agoPre-extend hashes in list assignment before assigning to them.
Nicholas Clark [Sun, 22 Aug 2021 08:35:30 +0000 (08:35 +0000)]
Pre-extend hashes in list assignment before assigning to them.

We know how many pairs of keys/values are on the stack, so pre-extend the
hash to the appropriate size, instead of letting the hash needlessly re-size
one or more times during the assignment loop.

2 years agoPre-extend new anonymous hashes before assigning to them.
Nicholas Clark [Sat, 21 Aug 2021 15:04:09 +0000 (15:04 +0000)]
Pre-extend new anonymous hashes before assigning to them.

We know how many pairs of keys/values are on the stack, so pre-extend the
hash to the appropriate size, instead of letting the hash needlessly
re-size one or more times during the assignment loop.

2 years agoUse sv_inc() for the env de-dup hash in S_init_postdump_symbols().
Nicholas Clark [Sat, 21 Aug 2021 19:13:13 +0000 (19:13 +0000)]
Use sv_inc() for the env de-dup hash in S_init_postdump_symbols().

This replaces an hv_exists/hv_store pair with a single LVALUE hv_fetch.

2 years agoComment about some subtleties in S_init_postdump_symbols().
Nicholas Clark [Sat, 21 Aug 2021 18:49:59 +0000 (18:49 +0000)]
Comment about some subtleties in S_init_postdump_symbols().

2 years agoMove some variables in S_init_postdump_symbols() to a tighter scope.
Nicholas Clark [Sat, 21 Aug 2021 17:09:59 +0000 (17:09 +0000)]
Move some variables in S_init_postdump_symbols() to a tighter scope.

2 years agoPre-size the %ENV hash before populating it from environ.
Nicholas Clark [Sat, 21 Aug 2021 16:41:31 +0000 (16:41 +0000)]
Pre-size the %ENV hash before populating it from environ.

Also use HvTOTALKEYS() instead of HvKEYS(), as the latter makes a check for
placeholders, which here cannot make a difference.

2 years agoHash::Util::FieldHash fix_trigger can pre-size the hash before use.
Nicholas Clark [Sat, 21 Aug 2021 10:03:25 +0000 (10:03 +0000)]
Hash::Util::FieldHash fix_trigger can pre-size the hash before use.

This is only called by CLONE (and hence only matters for ithreads), but it's
an improvement, and small and self-contained.

2 years agoPre-extend the ISA hash in Perl_mro_get_linear_isa().
Nicholas Clark [Sat, 21 Aug 2021 19:28:14 +0000 (19:28 +0000)]
Pre-extend the ISA hash in Perl_mro_get_linear_isa().

2 years agoS_mro_get_linear_isa_c3() now uses sv_inc_nomg().
Nicholas Clark [Sat, 21 Aug 2021 08:10:48 +0000 (08:10 +0000)]
S_mro_get_linear_isa_c3() now uses sv_inc_nomg().

Previously it was coding the increment "longhand", to avoid bugs in 5.6.x.
However, this XS code is now exclusively in the core, and 5.6.x is long
dead, so there's no need to work around it.

The "longhand" code might *seem* to be more efficient (due to inlining some
logic) but it still required at least one call to a function in sv.c
(so no real change in generated code size) and that call was for the
increment 0 => 1, so likely called a lot, so no significant change in total
calls made.

2 years agoUse an LVALUE hv_fetch() in S_sequence_num() instead of fetch/store.
Nicholas Clark [Sat, 21 Aug 2021 19:59:32 +0000 (19:59 +0000)]
Use an LVALUE hv_fetch() in S_sequence_num() instead of fetch/store.

2 years agoBetter put a date in it
Chris 'BinGOs' Williams [Mon, 23 Aug 2021 08:11:27 +0000 (09:11 +0100)]
Better put a date in it

2 years agoBump the perl version in various places for 5.35.4
Karen Etheridge [Mon, 23 Aug 2021 01:18:17 +0000 (18:18 -0700)]
Bump the perl version in various places for 5.35.4

2 years agoMerge branch 'porting-core-cpan-diff-20210805' into blead
James E Keenan [Mon, 23 Aug 2021 02:02:57 +0000 (02:02 +0000)]
Merge branch 'porting-core-cpan-diff-20210805' into blead

2 years agoPorting/core-cpan-diff: Remove '--binary' on *BSDs 19027/head
James E Keenan [Sun, 22 Aug 2021 23:50:13 +0000 (23:50 +0000)]
Porting/core-cpan-diff: Remove '--binary' on *BSDs

Other things being equal, Porting/core-cpan-diff defaults to passing '-u
--binary' to the 'diff' command.  It turns out that, though '--binary'
is not a *documented* option for GNU diff, it is present in the source
code (rjbs research in
https://github.com/Perl/perl5/pull/19027#issuecomment-898901007).  The
'--binary' option clearly does *not* work on FreeBSD and probably
doesn't work on other *BSDs.  On those systems, running the program
spews more than 80,000 lines of error output.

Code revised to remove '--binary' on *BSDs.  Documentation adjusted.

For https://github.com/Perl/perl5/pull/19027

2 years agoMerge branch 'pod-html-refactoring-5-of-5' into blead
James E Keenan [Mon, 23 Aug 2021 01:48:14 +0000 (01:48 +0000)]
Merge branch 'pod-html-refactoring-5-of-5' into blead

2 years agoPod::Html: correct line dropped in 13f1edeb52 19050/head
James E Keenan [Sun, 15 Aug 2021 14:30:02 +0000 (14:30 +0000)]
Pod::Html: correct line dropped in 13f1edeb52

As noted by @Grinnz in
https://github.com/Perl/perl5/pull/19050#discussion_r688968921.

2 years agoPod::Html: remove debugging artifact
James E Keenan [Sun, 15 Aug 2021 14:20:32 +0000 (14:20 +0000)]
Pod::Html: remove debugging artifact

As noted by @Grinnz in https://github.com/Perl/perl5/pull/19050#discussion_r688969025.

2 years agoPod::Html: remove debugging artifact
James E Keenan [Sun, 15 Aug 2021 14:14:41 +0000 (14:14 +0000)]
Pod::Html: remove debugging artifact

As noted by @Grinnz in
https://github.com/Perl/perl5/pull/19050#discussion_r688969538.

2 years agoPod::Html: assign directly to array ref
James E Keenan [Sat, 14 Aug 2021 15:41:42 +0000 (15:41 +0000)]
Pod::Html: assign directly to array ref

This restores the thrust of c0ac28175b, which got zapped when resolving
merge conflicts.

2 years agoPod-Html: remove commented-out code
James E Keenan [Sun, 22 Aug 2021 23:22:45 +0000 (23:22 +0000)]
Pod-Html: remove commented-out code

Make use of Exporter consistent.

2 years agoIntroduce $self->{Pages}
James E Keenan [Thu, 18 Mar 2021 19:18:14 +0000 (19:18 +0000)]
Introduce $self->{Pages}

htmldir3.t: 3rd test unit is now expected to fail.  So now the test file
demonstrates that the unit fails whether it's placed before the second
unit or after.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoMove $output into the object
James E Keenan [Thu, 18 Mar 2021 18:57:02 +0000 (18:57 +0000)]
Move $output into the object

Correct dropped variable declaration.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoReplace _save_pages() with _transform()
James E Keenan [Thu, 18 Mar 2021 18:04:20 +0000 (18:04 +0000)]
Replace _save_pages() with _transform()

_save_pages() is a Pod::Simple::Search method which takes two specific
arguments.  From the point of view of making Pod-Html OO, it was
problematic because (a) it used a variable ($Podroot) defined outside of
its scope and (b) it assigned to a variable (%Pages) defined outside of
its scope.  It was therefore resistant to encapsulation.

Experimentation showed that if we use the return value of
Pod::Simple::Search::survey(), we could parse that hashref using what
was the guts of _save_pages() and assign explicitly to %Pages.

TODO:  Move %Pages within the Pod::Html object.  Handle $object
properly.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
Remove merge conflict marks, commented-out code, as noted by rjbs in
https://github.com/Perl/perl5/pull/19050#discussion_r693559914.

2 years agoConvert 3 more subroutines to method calls
James E Keenan [Thu, 18 Mar 2021 12:21:55 +0000 (12:21 +0000)]
Convert 3 more subroutines to method calls

refine_parser(); feed_tree_to_parser(); write_file()

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoTurn 3 more internal subroutines into method calls
James E Keenan [Thu, 18 Mar 2021 12:14:33 +0000 (12:14 +0000)]
Turn 3 more internal subroutines into method calls

identify_input(); parse_input_for_podtree(); set_Title_from_podtree();

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoHave generate_cache() use object
James E Keenan [Thu, 18 Mar 2021 12:04:00 +0000 (12:04 +0000)]
Have generate_cache() use object

Still have to deal with %Pages being outside the object.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoMake get_cache(), cache_key() and load_cache() use object
James E Keenan [Thu, 18 Mar 2021 12:01:39 +0000 (12:01 +0000)]
Make get_cache(), cache_key() and load_cache() use object

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoFile::Spec::Unix is not needed within package Pod::Html
James E Keenan [Thu, 18 Mar 2021 11:53:11 +0000 (11:53 +0000)]
File::Spec::Unix is not needed within package Pod::Html

It's only needed within Pod::Simple::XHTML::LocalPodLinks, so let's
remove it from the first package.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoStart to make Pod::Html object-oriented.
James E Keenan [Thu, 18 Mar 2021 00:05:33 +0000 (00:05 +0000)]
Start to make Pod::Html object-oriented.

For the time being, at least, we'll have pod2html() call a constructor.
All subs up through refine_globals have been turned into method calls.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
2 years agoIncrement $VERSION to 1.33 in all .pm files
James E Keenan [Mon, 12 Jul 2021 12:14:36 +0000 (12:14 +0000)]
Increment $VERSION to 1.33 in all .pm files

2 years agoperlfunc 'ref' and UNIVERSAL: document isa operator alternative
Dan Book [Wed, 4 Aug 2021 19:55:35 +0000 (15:55 -0400)]
perlfunc 'ref' and UNIVERSAL: document isa operator alternative

2 years agoisUTF8 DFA: change while {} to do {} while;
Karl Williamson [Sat, 14 Aug 2021 18:53:43 +0000 (12:53 -0600)]
isUTF8 DFA: change while {} to do {} while;

This saves a conditional in many cases.  Core Perl doesn't call this
on an empty string, so the first test that it is empty is redundant.

We can't guarantee this for non-core calls, so the conditional is made
explicit for them.

2 years agoupdate the range of versions we support and do not support
Karen Etheridge [Sat, 21 Aug 2021 17:33:07 +0000 (10:33 -0700)]
update the range of versions we support and do not support

2 years agoRmv redundant API info for isUTF8_char_flags
Karl Williamson [Sat, 21 Aug 2021 17:17:18 +0000 (11:17 -0600)]
Rmv redundant API info for isUTF8_char_flags

This resolves GH #19069

2 years agoadd epigraph for 5.35.3
Karen Etheridge [Sat, 21 Aug 2021 16:20:49 +0000 (09:20 -0700)]
add epigraph for 5.35.3

2 years agoText-Tabs+Wrap: Sync with CPAN version 2021.0814
Aristotle Pagaltzis [Sat, 21 Aug 2021 11:30:36 +0000 (13:30 +0200)]
Text-Tabs+Wrap: Sync with CPAN version 2021.0814

2 years agoHere be corelist
Chris 'BinGOs' Williams [Sat, 21 Aug 2021 10:06:12 +0000 (11:06 +0100)]
Here be corelist

2 years agoBefore filling the lookup hash for opcode names, pre-expand it.
Nicholas Clark [Sat, 21 Aug 2021 06:48:25 +0000 (06:48 +0000)]
Before filling the lookup hash for opcode names, pre-expand it.

We know the size needed (about 400 entries), so doing this saves several
automatic resizes when populating it.

2 years agoDelete Perl_ptr_table_clear, marked as deprecated since v5.14.0
Nicholas Clark [Fri, 20 Aug 2021 20:31:24 +0000 (20:31 +0000)]
Delete Perl_ptr_table_clear, marked as deprecated since v5.14.0

2 years agomake way for 5.35.4
Karen Etheridge [Sat, 21 Aug 2021 03:38:24 +0000 (20:38 -0700)]
make way for 5.35.4

2 years agotick off release 5.35.3
Karen Etheridge [Sat, 21 Aug 2021 03:30:02 +0000 (20:30 -0700)]
tick off release 5.35.3

2 years agoadd new release to perlhist v5.35.3
Karen Etheridge [Sat, 21 Aug 2021 02:54:44 +0000 (19:54 -0700)]
add new release to perlhist

2 years agofinalize perldelta
Karen Etheridge [Sat, 21 Aug 2021 02:36:54 +0000 (19:36 -0700)]
finalize perldelta

2 years agoUpdate Module::CoreList for 5.35.3
Karen Etheridge [Sat, 21 Aug 2021 02:11:49 +0000 (19:11 -0700)]
Update Module::CoreList for 5.35.3

2 years agoupdate AUTHORS
Karen Etheridge [Sat, 21 Aug 2021 01:56:19 +0000 (18:56 -0700)]
update AUTHORS

2 years agomore perldelta updates
Karen Etheridge [Sat, 21 Aug 2021 01:17:23 +0000 (18:17 -0700)]
more perldelta updates

2 years agoperlop: Fix indented here-doc empty line description
Karl Williamson [Sat, 21 Aug 2021 01:55:35 +0000 (19:55 -0600)]
perlop: Fix indented here-doc empty line description

This bug was introduced by c275db86a9.

Spotted by Karen Etheridge

2 years agoadd some missing perldelta entries
Karen Etheridge [Sat, 21 Aug 2021 01:00:30 +0000 (18:00 -0700)]
add some missing perldelta entries

2 years agocollapse 3 whitespace to 2
Karen Etheridge [Fri, 20 Aug 2021 23:58:28 +0000 (16:58 -0700)]
collapse 3 whitespace to 2

2 years agofix pod markup
Karen Etheridge [Fri, 20 Aug 2021 23:57:57 +0000 (16:57 -0700)]
fix pod markup

2 years agoAdded my choice of epigraph for 5.35.2
Neil Bowers [Sat, 14 Aug 2021 21:11:13 +0000 (22:11 +0100)]
Added my choice of epigraph for 5.35.2

2 years agoperldelta for sort.pm becoming a no-op.
Nicholas Clark [Wed, 18 Aug 2021 19:31:38 +0000 (19:31 +0000)]
perldelta for sort.pm becoming a no-op.

Also fix a typo in sort's Pod.

2 years agoAdd top-level Code of Conduct document 19057/head
David Golden [Tue, 17 Aug 2021 01:44:29 +0000 (21:44 -0400)]
Add top-level Code of Conduct document

This commit adds a top-level file that points readers to the actual
Standards of Conduct in perlpolicy.pod.  It also makes a point to
distinguish between what the Perl Steering Council is responsible for
and what other community groups are responsible for.

2 years agopp_defined: modify OP_DEFINED paths to use TOPs and RETSETs
Richard Leach [Tue, 10 Aug 2021 22:30:09 +0000 (23:30 +0100)]
pp_defined: modify OP_DEFINED paths to use TOPs and RETSETs

2 years agoperldelta updates
Tony Cook [Tue, 17 Aug 2021 04:31:12 +0000 (14:31 +1000)]
perldelta updates

also sort the module entries.

2 years agobump $Time::HiRes::VERSION
Tony Cook [Tue, 17 Aug 2021 04:30:11 +0000 (14:30 +1000)]
bump $Time::HiRes::VERSION

for the Makefile.PL change

2 years agoPerldelta that «use v5.35» enables warnings
Leon Timmermans [Mon, 16 Aug 2021 15:07:35 +0000 (17:07 +0200)]
Perldelta that «use v5.35» enables warnings

2 years agomktables: Generate =head1 NAME line in Name.pm
Karl Williamson [Sat, 7 Aug 2021 23:24:08 +0000 (17:24 -0600)]
mktables: Generate =head1 NAME line in Name.pm

All .pm files are supposed to have this line.  So far this hasn't been
necessary for this file, but future commits will require it.

2 years agoDocument v5.35 warnings-on-by-default
Ben Cornett [Sun, 11 Jul 2021 15:22:22 +0000 (15:22 +0000)]
Document v5.35 warnings-on-by-default

2 years agoTest new warnings enabled by default
Asher Mancinelli [Fri, 23 Apr 2021 16:17:33 +0000 (10:17 -0600)]
Test new warnings enabled by default

2 years agoAdd asher mancinelli to AUTHORS
Asher Mancinelli [Fri, 23 Apr 2021 16:17:09 +0000 (10:17 -0600)]
Add asher mancinelli to AUTHORS

2 years agoEnable warnings on «use v5.35»
Leon Timmermans [Sun, 28 Mar 2021 16:13:08 +0000 (18:13 +0200)]
Enable warnings on «use v5.35»

2 years agoAdd "run makedepend in parallel" to perldelta
Max Maischein [Sat, 14 Aug 2021 20:35:02 +0000 (22:35 +0200)]
Add "run makedepend in parallel" to perldelta

2 years agoAdd utf8_to_utf16 19034/head
Karl Williamson [Thu, 1 Jul 2021 00:21:16 +0000 (18:21 -0600)]
Add utf8_to_utf16

2 years agoImprove utf16_to_utf8_reversed()
Karl Williamson [Thu, 1 Jul 2021 00:27:12 +0000 (18:27 -0600)]
Improve utf16_to_utf8_reversed()

Instead of destroying the input by first swapping the bytes, this calls
a base function with the order to use.  The non-reverse function is
changed to call the base function with the non-reversed order.

2 years agolib/unicore/mktables: correct sub signatures in 2 locations
James E Keenan [Fri, 13 Aug 2021 21:39:09 +0000 (21:39 +0000)]
lib/unicore/mktables: correct sub signatures in 2 locations

Then, re-run regen/mk_invlists.pl and regen/regcharclass.pl and commit
changes in headers.

2 years agoSimplify utf16_to_utf8()
Karl Williamson [Sat, 7 Aug 2021 13:38:54 +0000 (07:38 -0600)]
Simplify utf16_to_utf8()

A previous commit has simplified uvoffuni_to_utf8_flags() so that it is
hardly more than the code in this function.  So strip out the code and
replace it by a call to uvoffuni_to_utf8_flags().

2 years agoMerge branch 'pod-html-refactoring-4-of-5' into blead
James E Keenan [Sat, 14 Aug 2021 15:08:04 +0000 (15:08 +0000)]
Merge branch 'pod-html-refactoring-4-of-5' into blead

2 years agoPod::Html::Util: small documentation changes 18977/head
James E Keenan [Tue, 10 Aug 2021 22:20:32 +0000 (22:20 +0000)]
Pod::Html::Util: small documentation changes

In part suggested by rjbs code review.

2 years agoPod::Html: assign directly to array ref
James E Keenan [Tue, 10 Aug 2021 21:59:07 +0000 (21:59 +0000)]
Pod::Html: assign directly to array ref

... rather than to the array which is referenced.  (Corrected response
to rjbs comment in
https://github.com/Perl/perl5/pull/18977#discussion_r671734180)

2 years agoPod-Html: Simplify the sub which processes options
James E Keenan [Mon, 12 Jul 2021 00:28:11 +0000 (00:28 +0000)]
Pod-Html: Simplify the sub which processes options

Pod::Html::Util::parse_command_line() was doing too much.  It should
wrap around GetOptions(), call the usage() routine if needed, then
return a hashref of options to its caller.

Its caller -- Pod::Html::pod2html() -- should do the heavy lifting
involved in processing the options and inserting the data into the
globals hashref.

Hence, we rename Pod::Html::Util::parse_command_line to
Pod::Html::Util::process_command_line() and simplify its functionality.
In lib/Pod/Html.pm we import process_command_line(), call it and pass
its return value onto a new subroutine, process_options(), that
populates $globals.

Document Pod::Html::Util subroutines.

2 years agoutf8.c: Rmv #undef 19033/head
Karl Williamson [Thu, 1 Jul 2021 18:31:26 +0000 (12:31 -0600)]
utf8.c: Rmv #undef

This is unnecessary in a .c file, and the code it referred to has been
moved away.

2 years agoutf8.c: Use macros instead of reinventing them
Karl Williamson [Wed, 30 Jun 2021 21:43:46 +0000 (15:43 -0600)]
utf8.c: Use macros instead of reinventing them

2 years agoutf8.c: Refactor is_utf8_char_helper()
Karl Williamson [Fri, 2 Jul 2021 00:48:10 +0000 (18:48 -0600)]
utf8.c: Refactor is_utf8_char_helper()

Now that the DFA is used by the only callers to this to eliminate the
need to check for e.g., wrong continuation bytes, this function can be
refactored to use a switch statement, which makes it clearer, shorter,
and faster.

The name is changed to indicate its private nature

2 years agoMake macro isUTF8_CHAR_flags an inline fcn
Karl Williamson [Fri, 25 Jun 2021 19:09:08 +0000 (13:09 -0600)]
Make macro isUTF8_CHAR_flags an inline fcn

This makes it use the fast DFA for this functionality.

2 years agois_utf8_valid_partial_char_flags: Use DFA
Karl Williamson [Fri, 2 Jul 2021 00:47:45 +0000 (18:47 -0600)]
is_utf8_valid_partial_char_flags: Use DFA

The DFA macro for determining if a sequence is valid UTF-8 was
deliberately made general enough to accommodate this use-case, in which
only a partial character is acceptable.  Change the code to use the DFA.

The helper function's name is changed to indicate it is private

2 years agoutf8.c: Rmv EBCDIC dependency
Karl Williamson [Wed, 30 Jun 2021 20:13:35 +0000 (14:13 -0600)]
utf8.c: Rmv EBCDIC dependency

There are new macros that suffice to make the determination here.

2 years agoutf8.c: Rmv an EBCDIC dependency
Karl Williamson [Wed, 30 Jun 2021 19:45:12 +0000 (13:45 -0600)]
utf8.c: Rmv an EBCDIC dependency

This is now generated by regcharclass.pl

2 years agoCheck off 5.35.2 in release schedule
James E Keenan [Fri, 13 Aug 2021 22:47:44 +0000 (18:47 -0400)]
Check off 5.35.2 in release schedule

2 years agoperldelta: make note of "switch" leaving the v5.36 bundle
Ricardo Signes [Fri, 13 Aug 2021 22:23:01 +0000 (18:23 -0400)]
perldelta: make note of "switch" leaving the v5.36 bundle