This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Wed, 2 Oct 2019 22:19:49 +0000 (16:19 -0600)]
lib/charnames.t: Fix Named Sequence test for EBCDIC
The file from Unicode needs to be translated to native
Karl Williamson [Wed, 2 Oct 2019 22:13:31 +0000 (16:13 -0600)]
mktables: Fix Named Sequences for EBCDIC
This table wasn't being translated into native code points
Tony Cook [Wed, 2 Oct 2019 05:42:00 +0000 (15:42 +1000)]
perldelta for
30fc7a2809e5
James E Keenan [Sun, 26 May 2019 01:40:00 +0000 (21:40 -0400)]
Eliminate modifiable variables in constants
Transform previously deprecated cases into exceptions.
Update diagnostic; change D to F
remove now irrelevant code (TonyC)
For: RT 134138
Paul "LeoNerd" Evans [Wed, 18 Sep 2019 15:18:10 +0000 (16:18 +0100)]
Document the various stacks in perlguts.pod
Karl Williamson [Mon, 30 Sep 2019 23:47:21 +0000 (17:47 -0600)]
mathoms: Restore fcns accidentally deleted
Commit x059703b088f44d5665f67fba0b9d80cad89085fd removed more code than
was intended. This commit restores the missing functions.
This showed up in MSWin32 builds, I presume VMS as well.
Spotted by Tony Cook
Karl Williamson [Tue, 1 Oct 2019 03:50:09 +0000 (21:50 -0600)]
regcomp.c: Fix MSWin32 compilation error
On DEBUGGING builds, the asserts in the expansion of this macro build up
too large of literal strings for the Win32 compiler. Solve this by
storing to an intermediary.
Karl Williamson [Sun, 29 Sep 2019 21:16:24 +0000 (15:16 -0600)]
Remove deprecated character classification/case changing macros
It has been deprecated since 5.26 to use various macros that deal with
UTF-8 inputs but don't have a parameter indicating the maximum length
beyond which we should not look. This commit changes all such macros,
as threatened in existing documentation and warning messages, to have an
extra parameter giving the length.
This was originally scheduled to happen in 5.30, but was delayed because
it broke some CPAN modules, and there wasn't really a good way around
it. But now that Devel::PPPort 3.54 is out, ppport.h has new facilities
for getting modules making these changes to work with older Perl
releases.
Karl Williamson [Sun, 20 May 2018 19:11:02 +0000 (13:11 -0600)]
APItest: Remove use of macros about to be removed
The next commit removes some macros that this uses. They have been
deprecated, and the uses here were to test those deprecations.
Karl Williamson [Sat, 28 Sep 2019 20:01:41 +0000 (14:01 -0600)]
perl.h: Silence warning when compiled with C++
This silences a warning that the pragma it surrounds is not valid on
C++. We don't need to know that, and it clutters the compilation
output.
Karl Williamson [Sat, 28 Sep 2019 17:58:59 +0000 (11:58 -0600)]
regex: Add LEXACT_ONLY8 node type
This is like LEXACT, but it is known that only strings encoded in UTF-8
will match it, so don't even have to try if that condition isn't met.
Karl Williamson [Fri, 27 Sep 2019 03:38:46 +0000 (21:38 -0600)]
regex: Create and handle LEXACT nodes
See the previous commit for info on these.
I am not changing trie code to recognize these at this time.
Karl Williamson [Wed, 25 Sep 2019 16:12:32 +0000 (10:12 -0600)]
Add regnode LEXACT, for long strings
This commit adds a new regnode for strings that don't fit in a regular
one, and adds a structure for that regnode to use. Actually using them
is deferred to the next commit.
This new regnode structure is needed because the previous structure only
allows for an 8 bit length field, 255 max bytes. This commit puts the
length instead in a new field, the same place single-argument regnodes
put their argument. Hence this long string is an extra 32 bits of
overhead, but at no string length is this node ever bigger than the
combination of the smaller nodes it replaces.
I also considered simply combining the original 8 bit length field
(which is now unused) with the first byte of the string field to get a
16 bit length, and have the actual string be offset by 1. But I
rejected that because it would mean the string would usually not be
aligned, slowing down memory accesses.
This new LEXACT regnode can hold up to what 1024 regular EXACT ones hold,
using 4K fewer overhead bytes to do so. That means it can handle
strings containing 262000 bytes. The comments give ideas for expanding
that should it become necessary or desirable.
Besides the space advantage, any hardware acceleration in memcmp
can be done in much bigger chunks, and otherwise the memcmp inner loop
(often written in assembly) will run many more times in a row, and our
outer loop that calls it, correspondingly fewer.
Karl Williamson [Sun, 22 Sep 2019 22:12:07 +0000 (16:12 -0600)]
regcomp.c: Change handling of filled EXACT nodes
This changes the detection mechanism to check just before writing to see
if if would be out of bounds, and if so, instead break out of the loop,
and go close out the node. Prior to this commit space for a worst-case
scenario was reserved, and we didn't start a new character if we were in
that danger zone. This left nodes left fully packed than they could
have been.
Thus this improves the packing of nodes, especially under /i, from the
previous mechanism. But more importantly, it set things up so that we
can potentially increase the node size as we go along.
This also changes the handling of avoiding splitting a multi-character
fold across nodes under /i. For example, take the sequence 'ffi', We
wouldn't want to end a node with 'ff', when the first character in the
next node is an 'i', as U+FB03 folds to that sequence, and the code that
does pattern matching can't currently match across node boundaries.
Previously we backed off filling the node until the final character
wasn't one that could potentially cause such a break. That is we didn't
look at the next character and see if it was an 'i' (or some other
potential multi-char fold.) Now we do look at that next
character(s), and only back off if this actually would split a real
multi-char fold.
Karl Williamson [Sun, 22 Sep 2019 21:26:03 +0000 (15:26 -0600)]
regcomp.h: Add comments
Karl Williamson [Sun, 22 Sep 2019 21:25:23 +0000 (15:25 -0600)]
regcomp.h: Remove obsolete macro
This is no longer used
Karl Williamson [Sat, 21 Sep 2019 20:34:20 +0000 (14:34 -0600)]
regcomp.c: Rename three variables
One of the variables is misnamed, the upper_fill indicates that the
node has to be left not completely filled. Comments will be added in a
later commit.
The other two are renamed in preparation for future changes to more
accurately describe their new purposes.
Karl Williamson [Sat, 21 Sep 2019 19:31:37 +0000 (13:31 -0600)]
regcomp.c: White-space only, comments
Outdent a block that was doubly indented. Change some other white space
and fix grammar in a comment
Karl Williamson [Sat, 21 Sep 2019 19:24:33 +0000 (13:24 -0600)]
regcomp: Use new set macro to store a value
This is in preparation for the current mechanism in a later commit to
become a not legal lhs
pmqs [Sat, 28 Sep 2019 19:09:44 +0000 (20:09 +0100)]
Change to primary email address for Paul Marquess
Nicolas R [Fri, 27 Sep 2019 23:43:28 +0000 (17:43 -0600)]
Devel::PPPort Adjust manifest for next release
Nicolas R [Fri, 27 Sep 2019 23:37:39 +0000 (17:37 -0600)]
Devel::PPPort - fix podcheck issues
Fix issues noticed by porting/podcheck.t
Nicolas R [Fri, 27 Sep 2019 23:08:49 +0000 (17:08 -0600)]
Turn the clock backward for Devel::PPPort 3.54
The last release version at this date is 3.52
turn the clock backward to 3.54 for now
so porting/cmp_version.t passes.
Pali [Tue, 14 May 2019 10:54:30 +0000 (12:54 +0200)]
Devel::PPPort: Fix commit d6d4687 vmess is already implemented
Fixes GH #61 aka RT 134101
(cherry picked from commit
935b7556e54d4bd3c18fdfef2f072b674afb7051)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Nicolas R [Fri, 27 Sep 2019 22:42:45 +0000 (16:42 -0600)]
Devel::PPPort - Reconciliate changes with GitHub
26a6a909
Karl Williamson [Sat, 14 Sep 2019 21:31:01 +0000 (15:31 -0600)]
Update parts/base,todo files
This is updated to the latest blead.
(cherry picked from commit
e7398cda98d95e464aefd3b7ab8a052bdf19c896)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 9 Aug 2019 16:03:43 +0000 (10:03 -0600)]
We don't provide GCC_BRACE_GROUPS_FORBIDDEND
So, don't use our macro that indicates we do provide it.
(cherry picked from commit
36672207f64165e8e58251a2a4cb4569984dadcd)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Mon, 15 Jul 2019 20:45:58 +0000 (14:45 -0600)]
Backport start_subparse
(cherry picked from commit
59c0a72a7f36c9f3e2c0779f5affc420499252b8)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 18:51:32 +0000 (12:51 -0600)]
Backport rsync_locale, switch_to_global_locale
Before these existed, they should be no-ops
(cherry picked from commit
fbde8074e56bf0da478eb424c4bc9329ee48210b)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 18:42:26 +0000 (12:42 -0600)]
Backport UVCHR_SKIP
(cherry picked from commit
bfe660f9f9775fc1cbbf1c5fd7ed809b3e4dd369)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 18:33:08 +0000 (12:33 -0600)]
Backport UTF8_IS_INVARIANT, UVCHR_IS_INVARIANT
(cherry picked from commit
ad7eb4eca683a879c64475969870e5333e034e87)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 6 Aug 2019 22:40:12 +0000 (16:40 -0600)]
parts/inc/misc: Use parameters in #defines
Aliasing just the macro name does work, but saying
#define FOO(c) BAR(c)
instead of
#define FOO BAR
makes it easier for D:P to calculate the lowest release it provides
support for for these macros
(cherry picked from commit
71933851d906d58786a409f028f182c88d5812d9)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Mon, 15 Jul 2019 18:14:46 +0000 (12:14 -0600)]
parts/inc/misc: Comment, white-space only
(cherry picked from commit
e28c70d049c63a8d4272ea2bf5b8b22344a1d395)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:58:42 +0000 (11:58 -0600)]
Backport isFOO_L1 macros
These were already in handy.h
(cherry picked from commit
a4b5164b07382058fbad34a3648e50691368c9d7)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:32:03 +0000 (11:32 -0600)]
Backport NATIVE_TO_LATIN1, and vice-versa
These are more accurate names than the original NATIVE_TO_ASCII, so
backport only these versions, to encourage their use.
Support only ASCII platforms in versions earlier than NATIVE_TO_ASCII
appeared in.
(cherry picked from commit
162b3fa5d025248e16c129ba4a4430567d7f4adf)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Mon, 15 Jul 2019 21:23:20 +0000 (15:23 -0600)]
Make sure newCONSTSUB gets included on early perls
Otherwise functions that rely on it won't work.
(cherry picked from commit
e139cb6c3b33fee6e7f100c55ab27223cf260c42)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 6 Aug 2019 04:47:11 +0000 (22:47 -0600)]
parts/inc/threads: Add hints
(cherry picked from commit
5bc28160c8a5ea859054713667f051e47e46802d)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 6 Aug 2019 04:49:01 +0000 (22:49 -0600)]
parts/inc/mess: Don't 'provide' a porting test macro
This macro is not for public consumptions, but only for porting tests.
Change so this file doesn't cause D:P to provide it.
(cherry picked from commit
fdb67922468b8439f47c1c80bba2ad557bec5dc3)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:22:40 +0000 (11:22 -0600)]
parts/inc/mess: Adjust prototype to match blead
(cherry picked from commit
129ae046bd633f28af9e86ab704b11d7342e2137)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 18 Jul 2019 18:38:15 +0000 (12:38 -0600)]
parts/inc/magic: Fix to run on early perls
No for postfix modifier; use numeric comparison for $]
(cherry picked from commit
c0b235db11fc135c6da5f5b2890fa44bc1aad10c)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:22:12 +0000 (11:22 -0600)]
parts/inc/magic: Adjust prototype to match blead
(cherry picked from commit
692ec66c0bf83f43232d8a5b52d582346a6948d7)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 4 Jul 2019 20:22:24 +0000 (14:22 -0600)]
parts/inc/variables: Grammar in comment
(cherry picked from commit
b38f592c79e9cb96807bf04e902d04f5004a7914)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:09:44 +0000 (11:09 -0600)]
parts/inc/uv: Adjust prototype to match blead
(cherry picked from commit
b0b2502b166d7e41040ad14b557335014ded7f7c)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 9 Jul 2019 16:46:32 +0000 (10:46 -0600)]
parts/inc/uv: Use > to compare $]
(cherry picked from commit
a54aebf6bde1ad7510f02a2e83b35658973c8994)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 6 Aug 2019 22:53:37 +0000 (16:53 -0600)]
parts/inc/utf8: Symbols are not really for external use
This used __UNDEFINED__ to define a bunch of constants. However, there
is nothing backported that allows the user to specify any of these, so
there is no need for them to be publicly accessible. And, if something
is important enough to be backported, it ought to be documented. These
symbols should not be documented, so __UNDEFINED__ is not the proper way
to deal with them.
(cherry picked from commit
359209af4e95548cbd7291128549ce2071e8e555)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sun, 21 Jul 2019 18:17:58 +0000 (12:17 -0600)]
parts/inc/utf8: Add hint for utf8_to_uvchr()
And a Replace pragma
(cherry picked from commit
56f6e61be8269a8a7959eae3e75dd8fbd2976aa6)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sat, 20 Jul 2019 20:22:59 +0000 (14:22 -0600)]
parts/inc/utf8: Fix typo in comment
(cherry picked from commit
d93ef4febe6f8e62de50dfe22f0b9c80b47ec967)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sat, 20 Jul 2019 20:19:48 +0000 (14:19 -0600)]
parts/inc/utf8: Fix hints for is_ascii_string
This hint was the wrong thing. We really want it to come out for the
API functions we want to caution about.
(cherry picked from commit
4931fb4d1f76616701bcb786949827409cde1e09)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:25:58 +0000 (22:25 -0600)]
parts/inc/utf8: Use numeric comparisons with $]
The string ones failed on 5.4.3
(cherry picked from commit
961d99e3be46e3bca016afb899440028e7e734e6)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:23:59 +0000 (22:23 -0600)]
parts/inc/utf8: Fix for loops to work on early perls
You can't use a for statement modifier, nor declare a variable as part
of the for statement.
(cherry picked from commit
5ebfad4758132f28a11b3a5c1e58c9c0c8bc3a30)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 9 Jul 2019 22:56:21 +0000 (16:56 -0600)]
parts/inc/utf8: Fix utf8_to_uvchr_buf for 5.7.0
It turns out that 5.6.1 is more advanced than 5.7.0. So this commit
uses a further check to decide if it can use a substitute function that
provides decent error checking, or if it has to fall back to one that
doesn't.
(cherry picked from commit
8e3920d656441ef0ba0a5dcef98c1064aab26412)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 9 Jul 2019 22:54:08 +0000 (16:54 -0600)]
parts/inc/utf8: make sure var is def'd before using
I'm not sure that this makes a difference, but it's cleaner to not
#define foo bar
if bar isn't defined.
(cherry picked from commit
686eafa088d7b41bc630e6889cbe546a46e8b366)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 9 Jul 2019 17:09:24 +0000 (11:09 -0600)]
parts/inc/utf8: Wrap qr in string eval
Very early perls fail to compile this because qr doesn't exist and is
viewed as a syntax error, even though the tests don't get executed.
(cherry picked from commit
682fa53f57973b5a263c3b6742a54fa90d7995b6)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:08:24 +0000 (11:08 -0600)]
parts/inc/sv_xpvf: Adjust prototype to match blead
(cherry picked from commit
b022731d60d59e7719049671ae04d798158205c9)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 9 Jul 2019 17:53:32 +0000 (11:53 -0600)]
parts/inc/Sv_set: Fix to work with early perls
You can't have a for () modifier after a statement, and need to use
numeric comparisions with $]
(cherry picked from commit
4ab672ea5af5ec2a1e561d02941b4582d68dad6c)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 4 Jul 2019 20:24:15 +0000 (14:24 -0600)]
parts/inc/sprintf: Add Warning, Replace: pragma
This really shouldn't be used; instead snprintf()
(cherry picked from commit
c36539f5e553c48412c1d4a770359097c3070f6e)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:07:46 +0000 (11:07 -0600)]
parts/inc/shared_pv: Adjust prototype to match blead
(cherry picked from commit
3346d69075fdaaa1344ececa15483c0ccb9ec170)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 17:44:58 +0000 (11:44 -0600)]
parts/inc/misc: Remove extraneous ord() calls
(cherry picked from commit
0257260a82e7924470d25bd227890d991a973fb5)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 11 Jul 2019 22:16:42 +0000 (16:16 -0600)]
parts/inc/misc: Shorten sub names
These all had an unnecessary prefix that was to prevent name space
collisions, but the infrastructure of D:P already took care of that.
(cherry picked from commit
d8d82913b626ad2f6c5179d4a95b26fe52048a70)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:19:27 +0000 (22:19 -0600)]
parts/inc/misc: Can't use GCC brace groups before 5.4
(cherry picked from commit
b036d9249ac2b7f64d8a3e9b2f520a469f86fcdb)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 4 Jul 2019 20:23:05 +0000 (14:23 -0600)]
parts/inc/misc: Change Hints into comments
I wrote these not knowing what Hints were for (since clarified in
HACKERS). They are really comments for a person reading this file.
(cherry picked from commit
0dcefa7708a4113757a215c3e5386b2ead255135)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:15:45 +0000 (22:15 -0600)]
parts/inc/mess: Use numeric comparisons for $]
These give better results, and the string compares were broken on 5.4.3.
(cherry picked from commit
01fbc5c65146c6cce5845f6accca6515ca4509b3)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:12:15 +0000 (22:12 -0600)]
parts/inc/mess: Don't use 'for' modifier
It doesn't work on early perls. Instead wrap with a for loop
(cherry picked from commit
c87fc33e0370528f8e0376e48ef0ea4f82395afb)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:09:27 +0000 (22:09 -0600)]
parts/inc/mess: Some things are broken in the 5.7 series
while working earlier and later
(cherry picked from commit
fa7ee13073f7d45e205cd6cdd7e727c83739ed30)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 10 Jul 2019 04:05:51 +0000 (22:05 -0600)]
parts/inc/mess: Some things don't work before 5.4.0
(cherry picked from commit
d2544abef917c023c211f4e084ff464c0e07b822)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sun, 30 Jun 2019 16:45:54 +0000 (10:45 -0600)]
parts/inc/mess: \N{} broken in more versions
Skip these tests on more versions than before
(cherry picked from commit
f62175a208c31a08d85fb2d73b7a6d496b04ad37)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 16:49:17 +0000 (10:49 -0600)]
parts/inc/cop: Adjust prototype to match blead
(cherry picked from commit
c19b8832d23fd6999231e451e86a50fb43720790)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sun, 14 Jul 2019 15:57:27 +0000 (09:57 -0600)]
parts/inc/call: Fix to run on old perls
Use numeric, not string, comparisons with $], and can't have postfix
'for' modifiers
(cherry picked from commit
19e824df0bd6883d8f3deef860bbaf40249d811b)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 12 Jul 2019 16:49:59 +0000 (10:49 -0600)]
parts/inc/call: Adjust prototype to match blead
(cherry picked from commit
444c878fc618827c1d33c2257476c31815c50eda)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 9 Jul 2019 17:55:48 +0000 (11:55 -0600)]
parts/inc/format: Fix to work on early perls
It just isn't ported before 5.4, and postfix 'for' isn't supported
(cherry picked from commit
88a327df23bd4647730a8a6bc2e99879a1f96fc9)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 9 Aug 2019 20:24:25 +0000 (14:24 -0600)]
ppphtest: Update based on previous commits
The wording of some messages has changed. This also adds some test
names
(cherry picked from commit
80d37f0acfdb10cf180655b4accf49ea09e93379)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Mon, 19 Aug 2019 22:42:45 +0000 (16:42 -0600)]
devel/mkapidoc.pl: Rewrite entirely in perl
The old version, partially in sh, grabbed every file in the directory
structure, looking for apidoc lines. Unfortunately that included
things, in .git, for example, and those could be out-of-date entries,
with the result that there could be multiple entries with different
prototypes for the same macro.
This commit changes to read only MANIFEST files, and a few generated
files.
(cherry picked from commit
d8bc0a3f40e83e52934696240c2d89398465a56c)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 7 Aug 2019 00:09:43 +0000 (18:09 -0600)]
parts/inc/ppphdoc: Add caution to pod
(cherry picked from commit
35558be45ff5f20805c6ea56f66b900231ac4e33)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sat, 17 Aug 2019 13:37:09 +0000 (07:37 -0600)]
PPPort_pm.PL: Silence warnings on early perls
Enclose some hash keys in quotes.
(cherry picked from commit
cef8c4f4fa7a02a330ed79ac67934ad32e5e48e0)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 15 Aug 2019 22:43:01 +0000 (16:43 -0600)]
devel/regenerate: make sure the .fnc files don't overlap
If they do, this could show that they weren't recently regenerated, or
that there is a bug in the regeneration code.
(cherry picked from commit
51e09cbdf5df04a4e2a7304c5a5bf39f9e91ff00)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 15 Aug 2019 22:08:06 +0000 (16:08 -0600)]
devel/scanprov: Store information about all fcns
This makes it convenient for someone to find out in what version
something got added. I'm not publicizing this just yet, and
ppport.h --api-check won't return it for non-public ones at the moment,
but the information is now there for those who know where to look, and
perhaps for future public consumption.
(cherry picked from commit
a9fc5abd7e81911cb92ed3554300c340a8f3c88e)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 15 Aug 2019 03:38:54 +0000 (21:38 -0600)]
parts/apicheck.pl: Use the passed NEED_foo macros
These no longer need to be hardcoded in two places when adding new ones.
(cherry picked from commit
867650c3a523c9e8f5014ba02ef52e88692a5302)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 15 Aug 2019 04:43:23 +0000 (22:43 -0600)]
devel/regenerate: get a list of all NEED_foo macros
And put it in the environment for apicheck.pl. This will keep a
maintainer from having to remember to add these in two places.
(cherry picked from commit
6734eaffe2a3aedd68a6c610a0f0258c2df850e9)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 15 Aug 2019 02:24:13 +0000 (20:24 -0600)]
RealPPPort_xs.PL: Fix spelling in comment
(cherry picked from commit
acd6caec2173ad3c12f04c788b8b4ba64746e2b1)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 15 Aug 2019 01:35:11 +0000 (19:35 -0600)]
devel/regenerate: Add some error checking
Make sure that things we skip testing are on the list of such things,
which has information that we otherwise would glean from testing
(cherry picked from commit
98ff9eaf3c08405d27ba8380835087116e7c98f4)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 14 Aug 2019 23:56:30 +0000 (17:56 -0600)]
Update parts/ppport.fnc
(cherry picked from commit
09bc9a820d17f1010e8b6bacdf1e6d319ef4e41b)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 14 Aug 2019 05:07:26 +0000 (23:07 -0600)]
parts/apicheck.pl: make macro public in X+M flagged functions
The X says we export a function even though it's not public API, but the
M says there is an extra, public, macro that maybe used to call the
function, but now calls something else, and that macro is public, so
should be tested.
(cherry picked from commit
7528b129460c777edc99db3e5555b38a41a9390f)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 14 Aug 2019 03:04:57 +0000 (21:04 -0600)]
Create regeneration files in final directory
Prior to this commit, the files for what happened when were placed in
the parts/todo directory, then moved to parts/base. Now they go
directly into their final resting place
(cherry picked from commit
18edcc361cd5a2a208ae85a627c3c861c5ce3d74)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 13 Aug 2019 18:30:28 +0000 (12:30 -0600)]
Pass values from mktodo.pl to apicheck.pl
This uses an environment variable to send the version number across a
make to apicheck.pl, where it is inserted as comments in apicheck.c.
I found that when debugging, it is useful to have this information
handy throughout the file.
(cherry picked from commit
2a055a1a8526c1b721d10078ce9bf39178c7ea62)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Tue, 13 Aug 2019 15:18:01 +0000 (09:18 -0600)]
ppport.fnc
(cherry picked from commit
139ab76c6ce97398246dda402e0e98ac32e1df1d)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 8 Aug 2019 20:44:15 +0000 (14:44 -0600)]
PPPort_pm.PL: Add __UNDEF_NOT_PROVIDED__
This is like __UNDEFINED__, but does make "provided" the macro it
targets
(cherry picked from commit
63a8d75f3253d340ded4bbbc4246d68fdf7ed0e7)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 8 Aug 2019 19:51:33 +0000 (13:51 -0600)]
PPPort_pm.PL: Add an item for unknown min supported version
The pod for this has sections of what elements are first supported when.
Unfortunately there are some that we do not have that information.
The cure for this is for someone to contribute pod for that element to
the perl core, but in the meantime, this lists those we couldn't figure
out.
It uses ppport.fnc to figure out many of the ones it otherwise couldn't.
And it is possible to enhance this to figure out more. But just
documenting them removes them from the list. And they should be
documented anyway.
(cherry picked from commit
5b548c97ec59bfb65f3caefea9fcf50cf8cd6d49)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 8 Aug 2019 19:37:17 +0000 (13:37 -0600)]
parts/ppptools.pl: Make sure mathoms fcns are deprecated
This makes sure that we consider functions in mathoms as being
deprecated. The current blead regen/embed.pl already does this, but
this makes sure, should that get reverted. A mathoms function with
an M flag indicates there is a macro by that name that avoids the
function (which must begin with 'Perl_'), and the macro isn't deprecated
unless the D flag is also present.
(cherry picked from commit
8ed3f9e76aca7a9341a8878d2d7c61a8b8717621)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 8 Aug 2019 19:32:44 +0000 (13:32 -0600)]
parts/apicheck.pl: Don't test macros with weird params
These are marked for us in the =for apidoc line.
(cherry picked from commit
beb801439ddfa3dc555a1ea0ff5a1794715b6ca4)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 8 Aug 2019 19:18:21 +0000 (13:18 -0600)]
parts/inc/ppphbin: Use dependency info for min support
Some items don't get tested, and so we don't know their minimum
supported version. But if they're dependent on some other thing whose
minimum version we do know, we can glean that they aren't supported
prior the the dependent thing's support.
(cherry picked from commit
311664e55550bf20d255a952ad2532c1c8747c73)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sat, 3 Aug 2019 22:47:40 +0000 (16:47 -0600)]
Add script to regenerate ppport.fnc
Now, instead of this being static, it will be regenerated. This allows
us to create tests for macros that otherwise wouldn't be.
(cherry picked from commit
b730918253cf5ea4167f6c3ee7096dd2e4068506)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sun, 28 Jul 2019 22:15:06 +0000 (16:15 -0600)]
PPPort_pm.PL: Handle blead specially
blead actually shouldn't be reported, as the symbols it shows as
existing are (due to the algorithm) actually ones that don't exist in
any version. By ignoring it, we omit wrong information.
(cherry picked from commit
97d35610a4fccf694db9a601b102b5a2888b9713)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sun, 28 Jul 2019 21:38:00 +0000 (15:38 -0600)]
parts/inc/uv: Add Replace: pragma
(cherry picked from commit
fef460fa0e876800c7cde33b188dd2c95a6ec231)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Sun, 28 Jul 2019 21:30:52 +0000 (15:30 -0600)]
parts/inc/SvPV: Add Replace: comments
(cherry picked from commit
0b4cfb7fef017e2bb9ff99e223a6fce5f2bb7794)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Thu, 8 Aug 2019 19:10:29 +0000 (13:10 -0600)]
ppport.h: Make use of scanprov's new returns
(cherry picked from commit
0e1a8da5dde291aa56a336ed14ce721f3e6c028f)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 7 Aug 2019 01:14:55 +0000 (19:14 -0600)]
ppport.h: Reword --api-info entries
This makes the wording, I believe, more succinct and friendlier.
(cherry picked from commit
272e25aaf16afedb1ad27079644861e472aa58bc)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 7 Aug 2019 01:01:12 +0000 (19:01 -0600)]
ppport.h: --api-info Reorder output of hints/depends info
It looks better after everything else
(cherry picked from commit
0b98f2fcb18283bc726c16fc45ba8e8efcf8017c)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 2 Aug 2019 00:17:34 +0000 (18:17 -0600)]
ppport.h: Suppress useless warning
If an element is ported as far back as we know about, there is no point
warning about that.
(cherry picked from commit
cb6834059fb808db043092b42e421a66023ea26a)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Wed, 7 Aug 2019 01:05:28 +0000 (19:05 -0600)]
parts/inc/ppphbin: Do calc once, and store in variable
(cherry picked from commit
ef5acaa4d66699bbf87a9051192c1db82f79d406)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Karl Williamson [Fri, 2 Aug 2019 00:09:05 +0000 (18:09 -0600)]
PPPort_pm.PL: Make use of scanprov's new flags
scanprov now gives us a type for the symbols it adds. Pass that type
along to ppport.h
(cherry picked from commit
ba8e4f38988bca4a29edeb751b6c461eb671864b)
Signed-off-by: Nicolas R <atoomic@cpan.org>