This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
2 years agoTest that mg_copy is called only when expected. 19089/head
Nicholas Clark [Fri, 27 Aug 2021 13:38:17 +0000 (13:38 +0000)]
Test that mg_copy is called only when expected.

mg_copy is called for most operations on tied hashes, but not for `keys`.
This is externally observable behaviour, and Variable::Magic on CPAN has
a regression test that expects the current behaviour.

However, until this commit we had no tests in core that verified that the
current behaviour has not changed. Hence this new test.

Add the `static` keyword that was missing on several related variables and
functions in APItest.xs

2 years agoUnicode tests should be in XS::APItest, not XS::APItest::Magic.
Nicholas Clark [Fri, 27 Aug 2021 11:48:41 +0000 (11:48 +0000)]
Unicode tests should be in XS::APItest, not XS::APItest::Magic.

Add a `PACKAGE =` line to reset xsubpp's idea of the current package.

This didn't actually matter, as XS::APItest "imports" all symbols from its
subpackages into the top level package, but it seems cleaner to have the
symbols in the correct package. It also makes the generated code slightly
smaller, but this doesn't really matter as it's never installed.

Remove two #if/#endif pairs related to 5.8.x/5.9.x differences, that haven't
been need for over a decade, and fix a typo in an #endif.

2 years agoMove the tied hash FETCH count tests to t/op/tiehash.t
Nicholas Clark [Wed, 18 Aug 2021 07:45:10 +0000 (07:45 +0000)]
Move the tied hash FETCH count tests to t/op/tiehash.t

This file is a better fit for them than t/op/tie.t

2 years agoav.h: more apidoc tweaks
Richard Leach [Mon, 23 Aug 2021 22:24:01 +0000 (23:24 +0100)]
av.h: more apidoc tweaks

2 years agoav.h: apidoc updates for khw comments
Richard Leach [Thu, 19 Aug 2021 21:19:10 +0000 (22:19 +0100)]
av.h: apidoc updates for khw comments

2 years agoav.h - addressing comments
Richard Leach [Fri, 13 Aug 2021 21:50:38 +0000 (22:50 +0100)]
av.h - addressing comments

2 years agoav.h - better document newAV_alloc_x/newAV_alloc_xz
Richard Leach [Sun, 8 Aug 2021 20:53:33 +0000 (21:53 +0100)]
av.h - better document newAV_alloc_x/newAV_alloc_xz

2 years agoav.h: document that backrefs lists are fake AVs
Richard Leach [Mon, 23 Aug 2021 22:14:04 +0000 (23:14 +0100)]
av.h: document that backrefs lists are fake AVs

2 years agoav.h: additional comments regarding real/fake AVs
Richard Leach [Thu, 19 Aug 2021 22:00:01 +0000 (23:00 +0100)]
av.h: additional comments regarding real/fake AVs

2 years agoDelete the macro XHvTOTALKEYS() which is unused and not in the API.
Nicholas Clark [Thu, 26 Aug 2021 10:34:59 +0000 (10:34 +0000)]
Delete the macro XHvTOTALKEYS() which is unused and not in the API.

XHvTOTALKEYS() was added in Dec 2001 as part of commit 8aacddc1ea3837f8:
    Tidied version of Jeffrey Friedl's <jfriedl@yahoo.com> restricted hashes
     - added delete of READONLY value inhibit & test for same
     - re-tabbed

It's not part of the API, and not used by any code on CPAN. The last (and
only) direct use was in Perl_hv_clear_placeholders(), and that was converted
to HvTOTALKEYS() in May 2005 as part of commit 5d88ecd7e75b7174:

    Various HvPLACEHOLDERS() that should be HvPLACEHOLDERS_get()

Hence "inline" the macro XHvTOTALKEYS() into the macro HvTOTALKEYS(),
eliminating the only use of XHvTOTALKEYS().

2 years agoChange HvUSEDKEYS(hv) to HvTOTALKEYS(hv) in Perl_do_sv_dump(). 19083/head
Nicholas Clark [Tue, 27 Jul 2021 15:45:24 +0000 (15:45 +0000)]
Change HvUSEDKEYS(hv) to HvTOTALKEYS(hv) in Perl_do_sv_dump().

The logic doesn't account for skipping placeholders, and the calculations
actually make more sense when done in terms of total keys.

2 years agoUse newRV_inc() in threads::shared instead of direct juggling with SvRV_set()
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 21:11:17 +0000 (22:11 +0100)]
Use newRV_inc() in threads::shared instead of direct juggling with SvRV_set()

2 years agoUse new sv_setrv_noinc() in Devel::Peek
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 21:14:36 +0000 (22:14 +0100)]
Use new sv_setrv_noinc() in Devel::Peek

2 years agoConvert some existing uses of SvRV_set() to use the new sv_setrv* family of functions
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 20:51:13 +0000 (21:51 +0100)]
Convert some existing uses of SvRV_set() to use the new sv_setrv* family of functions

2 years agoAdd _mg() versions of the sv_setrv* family
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 20:37:43 +0000 (21:37 +0100)]
Add _mg() versions of the sv_setrv* family

2 years agoAdd sv_setrv_inc()
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 18:42:15 +0000 (19:42 +0100)]
Add sv_setrv_inc()

2 years agoAdd sv_setrv_noinc()
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 17:58:17 +0000 (18:58 +0100)]
Add sv_setrv_noinc()

2 years agopodcheck db: exporter fixed pod problem
Karl Williamson [Wed, 25 Aug 2021 17:15:33 +0000 (11:15 -0600)]
podcheck db: exporter fixed pod problem

2 years agohandy.h: Skip non-ptr assertion on old gcc's
Karl Williamson [Thu, 15 Apr 2021 18:02:04 +0000 (12:02 -0600)]
handy.h: Skip non-ptr assertion on old gcc's

See https://github.com/Perl/perl5/issues/18655, which this fixes.

2 years agoMake paradigm into a macro
Karl Williamson [Thu, 15 Apr 2021 16:55:32 +0000 (10:55 -0600)]
Make paradigm into a macro

These macros use

    (x) | 0

to get a compiler error if x is a pointer rather than a value.  This was
instituted because there was confusion in them as to what they were
called with.

But the purpose of the paradigm wasn't obvious to even some experts; it
was documented in every file in which it was used, but not at every
occurrence.  And, not every compiler can cope with them, it turns out.

Making the paradigm into a macro, which this commit does, makes the uses
self-documenting, albeit at the expense of cluttering up the macro
definition somewhat; and allows the mechanism to be turned off if
necessary for some compilers.  Since it will be enabled for the majority
of compilers, the potential bugs will be caught anyway.

2 years agoCreate `defer` syntax and `OP_PUSHDEFER` opcode
Paul "LeoNerd" Evans [Tue, 27 Jul 2021 13:55:14 +0000 (14:55 +0100)]
Create `defer` syntax and `OP_PUSHDEFER` opcode

Adds syntax `defer { BLOCK }` to create a deferred block; code that is
deferred until the scope exits. This syntax is guarded by

  use feature 'defer';

Adds a new opcode, `OP_PUSHDEFER`, which is a LOGOP whose `op_other` field
gives the start of an optree to be deferred until scope exit. That op
pointer will be stored on the save stack and invoked as part of scope
unwind.

Included is support for `B::Deparse` to deparse the optree back into
syntax.

2 years agoAdd comment about hard-coded commit ID in cmpVERSION.pl
Dagfinn Ilmari Mannsåker [Wed, 25 Aug 2021 11:12:32 +0000 (12:12 +0100)]
Add comment about hard-coded commit ID in cmpVERSION.pl

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.