This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Sat, 21 Aug 2021 15:44:37 +0000 (09:44 -0600)]
Unicode::UCD: Don't depend on a file current syntax
This generated file will be changed in a future commit. This shouldn't
have been relying on its syntax anyway, but the value it returns.
Karl Williamson [Sat, 21 Aug 2021 15:42:34 +0000 (09:42 -0600)]
UCD.t: Add test
Karl Williamson [Sat, 28 Aug 2021 01:41:47 +0000 (19:41 -0600)]
Unicode::UCD: Fix typo in pod
Tony Cook [Fri, 9 Jul 2021 00:22:40 +0000 (10:22 +1000)]
detect struct stat.st_dev's size and signedness, and return it safely
On FreeBSD dev_t (and hence the st_dev member of struct stat) is an
unsigned 64-bit integer, and the previous simple PUSHi() corrupted
that.
A previous version of this reflected the st_ino code and implemented
our own number to string conversion, but a system with such a large
st_dev should be assumed to have inttypes.h, and an intmax_t which is
no smaller than st_dev.
The st_ino code could probably be changed similarly, but 64-bit inode
numbers are not a new thing, so it may be riskier.
Karl Williamson [Fri, 27 Aug 2021 12:48:01 +0000 (06:48 -0600)]
Remove deprecated Unicode files
These files were once apparently intended for use by modules to
supplement the core Unicode handling. They contain tables suitable for
use by Perl code of the portions of the Unicode character database
about changing the case of characters and finding the numeric value of a
given \d character, in a form suitable for use by perl code. In
particular, they were designed for fast access using the swash mechanism
that has since been removed.
Now, Unicode::UCD now contains more convenient methods of accessing
the data these contain, and the use of these files has been deprecated
since 5.16. I could not figure out a way to force a message should
someone open and read one of these files, but each of their texts say
that the file may be removed without notice at any time. I did not find
any uses on cpan of them.
Unicode is adding new properties that the format of these files will
not be able to handle. Consequently I'm coming up with a new format.
Though these files don't contain the new properties, their existence
means having the burden of having to maintain two separate mechanisms.
Better to have just one mechanism, suitable for going forward.
Felipe Gasper [Fri, 27 Aug 2021 20:05:45 +0000 (16:05 -0400)]
Reword discussion of /d regexp modifier.
The phrasing as it stood confused UTF8-flagged strings with
“UTF-8 encoded”. The latter term should refer to strings that the
Perl application has actually encode()d, which probably *won’t*
be UTF8-flagged and thus won’t, per /d modifier rules, get the Unicode
treatment.
This also removes an incorrect statement about only ASCII characters
matching in the absence of (the UTF8 flag). This is trivially false
given that "\xff" =~ /\xff/ is truthy.
This also reorders and rewords some parts in an attempt to clarify that
new code should avoid this flag, including use of the 'unicode_strings'
feature to avoid implicit use.
Nicholas Clark [Mon, 30 Aug 2021 08:03:51 +0000 (08:03 +0000)]
Release Storable 3.25
Nicholas Clark [Wed, 25 Aug 2021 08:09:48 +0000 (08:09 +0000)]
Update Storable's ChangeLog.
There hasn't been a CPAN release for a couple of years, and so it hasn't
been kept up to date.
Nicholas Clark [Sat, 17 Jul 2021 20:01:59 +0000 (20:01 +0000)]
store_hentry() now takes the key as HEK *, instead of the entry's HE *.
The only action it took on the HE * it was passed was to call HeKEY_key()
to get the key (directly, or indirectly via HeKEY_sv()), so this change
removes one dependency on HE*.
Nicholas Clark [Mon, 19 Jul 2021 07:41:46 +0000 (07:41 +0000)]
Fix a bug in the recursion depth check in store_lhash().
The recursion depth check was not being cleaned up correctly, causing an
assertion failure in testing. This suggests that this routine likely wasn't
well tested.
Nicholas Clark [Sat, 17 Jul 2021 15:44:13 +0000 (15:44 +0000)]
Move the call to hv_iterval() out of store_hentry().
Previously the regular hash store code had been calling hv_iterval() twice
for each hash entry. This probably isn't going to generate incorrect results,
but is inefficient. This performance regression was added as part of commit
1cb8a344aa3ff4a6:
Storable 3.00: u64 strings, arrays and hashes >2G
Nicholas Clark [Sat, 17 Jul 2021 15:03:59 +0000 (15:03 +0000)]
Refactor Storable's store_lhash() to remove some code duplication.
Nicholas Clark [Sat, 17 Jul 2021 14:49:06 +0000 (14:49 +0000)]
Remove code in Storable.xs "commented" out with #if 0
This code was "moved" to store_hentry() as part of commit
1cb8a344aa3ff4a6:
Storable 3.00: u64 strings, arrays and hashes >2G
...
Propagate two comments within the code removed into store_hentry(), where
they are still relevant.
Nicholas Clark [Tue, 25 May 2021 05:52:42 +0000 (05:52 +0000)]
Storable doesn't actually #include ppport.h on blead, so don't generate it.
The header is conditionally included for 5.10.1 or earlier, so don't go to
the effort of copying the file into the directory.
Nicholas Clark [Wed, 28 Jul 2021 14:41:07 +0000 (14:41 +0000)]
ppport.h now provides SvPVCLEAR, so no need to roll our own emulation.
Nicholas Clark [Tue, 25 May 2021 05:21:37 +0000 (05:21 +0000)]
Remove code in Storable that isn't actually needed for v5.6.1 or later.
The definitions inside USE_PERLIO,PERLIO_IS_STDIO are for pre-5.004
HvSHAREKEYS_off has been defined since 5.004
SvUTF8_on has been defined since v5.6.0
bytes_from_utf8 is defined since v5.6.1 (so the linker will be happy)
(but SvUTF8(key) will always be false prior to v5.8.0, so we now generate
some unreachable code for v5.6.1 and v5.6.2. Probably zero users of this.)
Nicholas Clark [Mon, 24 May 2021 19:29:24 +0000 (19:29 +0000)]
Remove code in Storable's tests that handles perl < v5.6.1
Nicholas Clark [Mon, 24 May 2021 18:51:45 +0000 (18:51 +0000)]
Storable implicitly needs >= v5.6.1, so remove code for earlier versions.
The perl code has 3-arg open and our, meaning at least v5.6.0, but the XS
code needs bytes_from_utf8 which is only in v5.6.1 and not in ppport.h
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
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.
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
Richard Leach [Mon, 23 Aug 2021 22:24:01 +0000 (23:24 +0100)]
av.h: more apidoc tweaks
Richard Leach [Thu, 19 Aug 2021 21:19:10 +0000 (22:19 +0100)]
av.h: apidoc updates for khw comments
Richard Leach [Fri, 13 Aug 2021 21:50:38 +0000 (22:50 +0100)]
av.h - addressing comments
Richard Leach [Sun, 8 Aug 2021 20:53:33 +0000 (21:53 +0100)]
av.h - better document newAV_alloc_x/newAV_alloc_xz
Richard Leach [Mon, 23 Aug 2021 22:14:04 +0000 (23:14 +0100)]
av.h: document that backrefs lists are fake AVs
Richard Leach [Thu, 19 Aug 2021 22:00:01 +0000 (23:00 +0100)]
av.h: additional comments regarding real/fake AVs
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().
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.
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()
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 21:14:36 +0000 (22:14 +0100)]
Use new sv_setrv_noinc() in Devel::Peek
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
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 20:37:43 +0000 (21:37 +0100)]
Add _mg() versions of the sv_setrv* family
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 18:42:15 +0000 (19:42 +0100)]
Add sv_setrv_inc()
Paul "LeoNerd" Evans [Sun, 22 Aug 2021 17:58:17 +0000 (18:58 +0100)]
Add sv_setrv_noinc()
Karl Williamson [Wed, 25 Aug 2021 17:15:33 +0000 (11:15 -0600)]
podcheck db: exporter fixed pod problem
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.
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.
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.
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
Nicholas Clark [Wed, 25 Aug 2021 07:44:49 +0000 (07:44 +0000)]
cmpVERSION.pl and test.pl now handle checkouts from git-worktree.
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
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.
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.
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.
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.
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%
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
Richard Leach [Sun, 25 Apr 2021 20:00:43 +0000 (21:00 +0100)]
op.h: define missing BASEOP fields (op_sibparent,op_targ)
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".
Dan Book [Thu, 19 Aug 2021 15:52:27 +0000 (11:52 -0400)]
Exporter: Document non-inheriting as default mechanism
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.
Karl Williamson [Mon, 16 Aug 2021 02:22:44 +0000 (20:22 -0600)]
utf8.c: White-space, comment only
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.
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.
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.
Karl Williamson [Mon, 16 Aug 2021 11:22:54 +0000 (05:22 -0600)]
regexec.c: White-space/comment only
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.
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.
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.
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.
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.
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.
Nicholas Clark [Sat, 21 Aug 2021 18:49:59 +0000 (18:49 +0000)]
Comment about some subtleties in S_init_postdump_symbols().
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.
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.
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.
Nicholas Clark [Sat, 21 Aug 2021 19:28:14 +0000 (19:28 +0000)]
Pre-extend the ISA hash in Perl_mro_get_linear_isa().
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.
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.
Chris 'BinGOs' Williams [Mon, 23 Aug 2021 08:11:27 +0000 (09:11 +0100)]
Better put a date in it
Karen Etheridge [Mon, 23 Aug 2021 01:18:17 +0000 (18:18 -0700)]
Bump the perl version in various places for 5.35.4
James E Keenan [Mon, 23 Aug 2021 02:02:57 +0000 (02:02 +0000)]
Merge branch 'porting-core-cpan-diff-
20210805' into blead
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
James E Keenan [Mon, 23 Aug 2021 01:48:14 +0000 (01:48 +0000)]
Merge branch 'pod-html-refactoring-5-of-5' into blead
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.
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.
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.
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.
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.
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>
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>
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.
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>
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>
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>
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>
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>
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>
James E Keenan [Mon, 12 Jul 2021 12:14:36 +0000 (12:14 +0000)]
Increment $VERSION to 1.33 in all .pm files
Dan Book [Wed, 4 Aug 2021 19:55:35 +0000 (15:55 -0400)]
perlfunc 'ref' and UNIVERSAL: document isa operator alternative
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.
Karen Etheridge [Sat, 21 Aug 2021 17:33:07 +0000 (10:33 -0700)]
update the range of versions we support and do not support
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
Karen Etheridge [Sat, 21 Aug 2021 16:20:49 +0000 (09:20 -0700)]
add epigraph for 5.35.3
Aristotle Pagaltzis [Sat, 21 Aug 2021 11:30:36 +0000 (13:30 +0200)]
Text-Tabs+Wrap: Sync with CPAN version 2021.0814
Chris 'BinGOs' Williams [Sat, 21 Aug 2021 10:06:12 +0000 (11:06 +0100)]
Here be corelist
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.
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
Karen Etheridge [Sat, 21 Aug 2021 03:38:24 +0000 (20:38 -0700)]
make way for 5.35.4