This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Thu, 17 Dec 2020 20:07:34 +0000 (13:07 -0700)]
Change handy.h macro names to be C standard conformant
C reserves symbols beginning with underscores for its own use. This
commit moves the underscore so it is trailing, which is legal. The
symbols changed here are most of the ones in handy.h that have few uses
outside it.
Mohammad S Anwar [Sat, 11 Jun 2022 12:17:14 +0000 (13:17 +0100)]
Minor update to perl -h to display newly added -g option.
Karl Williamson [Wed, 8 Jun 2022 18:15:26 +0000 (12:15 -0600)]
regcomp.c: Add ASSERT
Karl Williamson [Sun, 12 Jun 2022 01:05:42 +0000 (19:05 -0600)]
Mohammad S Anwar is now a Perl author
Karl Williamson [Sat, 4 Jun 2022 15:16:39 +0000 (09:16 -0600)]
Note gotchas, workarounds in STMT_START..STMT_END
Karl Williamson [Fri, 3 Jun 2022 16:28:46 +0000 (10:28 -0600)]
Discourage use of GCC brace groups
These days, static inline functions are the better bet, as you don't
have to maintain two code paths.
Karl Williamson [Sun, 13 Dec 2020 20:06:42 +0000 (13:06 -0700)]
Make fc(), qr//i thread-safe on participating platforms
A long standing bug in Perl that has gone undetected is that the array
is global that is created when changing locales and tells fc() and qr//i
matching what the folds are in the new locale.
What this means is that any program only has one set of fold definitions
that apply to all threads within it, even if we claim that the locales
are thread-safe on the given platform. One possibility for this going
undetected so long is that no one is using locales on multi-threaded
systems much. Another possibility is that modern UTF-8 locales have the
same set of folds as any other one.
It is a simple matter to make the fold array per-thread instead of
per-process, and that solves the problem transparently to other code.
I discovered this stress-testing locale handling under threads. That
test will be added in a future commit.
In order to keep from having a dTHX inside foldEQ_locale, it has to have
a pTHX_ parameter. This means that the other functions that function
pointer variables get assigned to point to have to have an identical
signature, which means adding pTHX_ to functions that don't require it.
The bodies of all these are known to the compiler, since they are all
in inline.h or in the same .c file as where they are called. Hence the
compiler can optimize out the unused parameter.
Two calls of STR_WITH_LEN also have to be changed because of C
preprocessor limitations; perhaps there is another way to do it that I'm
unfamiliar with.
Karl Williamson [Sat, 11 Jun 2022 10:40:17 +0000 (04:40 -0600)]
mg.c: Fix to compile under g++
Commit
00a5df846e035280750985222a693ac58022ee36 fixed some c undefined
behavior, but it will not compile with g++, because a goto crosses
initialization.
https://stackoverflow.com/questions/
14274225/statement-goto-can-not-cross-variable-definition
and its links sort of explains why
This commit works around this limitation
Karl Williamson [Fri, 10 Jun 2022 17:12:19 +0000 (11:12 -0600)]
Restore wrongly deleted pod for sv_pvutf8
Karl Williamson [Fri, 10 Jun 2022 16:56:07 +0000 (10:56 -0600)]
Remove pod for non-existent functions
7008caa915ad99e650acf2aea40612b5e48b7ba2 removed several deprecated
functions, but did not remove all the pods thereof.
Karl Williamson [Fri, 10 Jun 2022 16:52:52 +0000 (10:52 -0600)]
toke.c: Remove Undefined C behavior
Spotted by clang 14.
Karl Williamson [Fri, 10 Jun 2022 16:51:54 +0000 (10:51 -0600)]
mg.c: Remove Undedfined C behavior
Spotted by clang-14.
Karl Williamson [Fri, 10 Jun 2022 01:38:32 +0000 (19:38 -0600)]
op.c: Improve comments
Karl Williamson [Tue, 31 May 2022 23:26:08 +0000 (17:26 -0600)]
Remove support for Ultrix
Ultrix has been removed. Ultrix was the native Unix-like operating
system for various Digital Equipment Corporation machines. Its final
release was in 1995.
Karl Williamson [Fri, 20 May 2022 21:47:49 +0000 (15:47 -0600)]
perlapi: Document hv_name_set
Karl Williamson [Sun, 28 Jun 2020 18:52:03 +0000 (12:52 -0600)]
SvGETMAGIC: evaluate its argument just once
This required making it into an inline function. I tried using
STMT_START{ ... } STMT_END, which should work since it has a void
return, but there were places where it was used in a comma operator, and
those did not compile.
Elvin Aslanov [Thu, 9 Jun 2022 07:40:46 +0000 (11:40 +0400)]
Capitalize Perl
Capitalize Perl when referring to the language (rather than the interpreter).
Also pluralize "built-ins" and format "CORE" package.
Karl Williamson [Sat, 23 Jan 2021 13:15:27 +0000 (06:15 -0700)]
POSIX.xs: White-space only
Properly indent some nested preprocessor directives
Karl Williamson [Sat, 23 Jan 2021 13:12:27 +0000 (06:12 -0700)]
POSIX.xs: Use macro to reduce complexity
This #defines a macro and uses it to populate a structure, so that
strings don't have to be typed twice.
Karl Williamson [Tue, 2 Jun 2020 16:11:47 +0000 (10:11 -0600)]
regexec.c: Handle Turkish locale if large ANYOF bitmap
Perl defaults to the bitmap for ANYOF nodes being for the lowest 256
characters, but it is possible to compile the bitmap to be up to size
2**16. Doing so, prior to this commit, broke Turkish locale handling.
Karl Williamson [Sun, 7 Jun 2020 00:25:33 +0000 (18:25 -0600)]
regexec.c: Avoid using a more general fcn
The regnodes in the ANYOFH series by definition don't have a bitmap used
in the other ANYOF-type nodes. Instead they have an inversion list. We
can avoid the overhead of calling the general function that looks first
in the bitmap.
Karl Williamson [Sat, 26 Dec 2020 03:24:22 +0000 (20:24 -0700)]
locale.c: Replace most #ifdef DEBUGGING lines
THe previous commit enhanced the DEBUG macros so that they contain the
logic that previously had to be done with conditional compilation
statements. Removing them makes the code easier to read.
Karl Williamson [Sat, 26 Dec 2020 02:01:23 +0000 (19:01 -0700)]
DEBUG_L now also looks at environment variable
Because locale initialization happens before command line processing,
one can't pass a -DL argument to enable debugging of locale
initialization. Instead, an environment variable is read then, and is
used to enable debugging or not. In the past, code specifically had to
test for this being set. This commit changes that so that debugging can
automatically be enabled without having to write special code. Future
commits will strip out those special checks.
Graham Knop [Mon, 30 May 2022 15:17:28 +0000 (17:17 +0200)]
XSLoader: convert from Test::More to internal test helpers
The XSLoader tests need to play with the XS bits of various modules,
which can interfere with testing modules like Test::More. For example,
Test::More now loads Time::HiRes. This results in redefinition warnings,
and could lead to more serious problems.
Avoid this by creating some test helpers inside the XSLoader test, and
using those rather than Test::More.
The helpers implemented include roughly the same features used by the
test itself, so that the impact on the rest of the test code is minimal.
Clemens Wasser [Tue, 31 May 2022 07:35:09 +0000 (09:35 +0200)]
Fix building with clang-cl
As mentioned in https://lists.llvm.org/pipermail/llvm-dev/2015-July/088122.html
and https://github.com/llvm/llvm-project/issues/24625 building with clang-cl currently fails due to the declaration of __PL_nan_u.
By declaring it like this, cl and clang-cl are happy to parse it.
Tony Cook [Thu, 9 Jun 2022 00:49:25 +0000 (10:49 +1000)]
perldelta for
ea43bc00e1113f
Tony Cook [Wed, 8 Jun 2022 06:06:17 +0000 (16:06 +1000)]
minitest_prep conflict on building $(MINIPERL_EXE)
minitest depends on $(MINIPERL_EXE) and minitest_prep, but
minitest_prep calls back into make to build lib/Config.pm which
indirectly depends on $(MINIPERL_EXE).
This can result in a race between the parallel work of the parent
make and the work of the child make, as they both try to build
$(MINIPERL_EXE) and its dependencies, causing some of the errors
described in the ticket.
Note that trying to `make -j6 minitest all` could lead to
similar conflicts, but I think that's an unlikely and not worth
supporting anyway.
Fixes #19829 (I think)
Tony Cook [Wed, 8 Jun 2022 23:38:31 +0000 (09:38 +1000)]
perldelta for
bbaab2c3cd9
Tony Cook [Wed, 8 Jun 2022 01:51:07 +0000 (11:51 +1000)]
use Off_t for file offsets in sdbm.c
On Win32 long is only 32-bits (even for x86_64), which meant
file sizes were limited to 2GB.
This successfully runs the example code, and can successfully read
all the keys back.
I didn't add a test, since creating a 2GB (or 8GB for the issue test)
would be unfriendly.
Karl Williamson [Wed, 8 Jun 2022 17:15:17 +0000 (11:15 -0600)]
handy.h: WIDEST_UTYPE is just PERL_UINTMAX_T
No need to re-derive it
Karl Williamson [Wed, 8 Jun 2022 18:47:02 +0000 (12:47 -0600)]
perl5dp.pl: Bump version
Karl Williamson [Wed, 8 Jun 2022 18:46:31 +0000 (12:46 -0600)]
Data::Dumper: bump version
Karl Williamson [Wed, 8 Jun 2022 18:39:38 +0000 (12:39 -0600)]
Elvin Aslanov is now a Perl author
Karl Williamson [Wed, 8 Jun 2022 15:55:33 +0000 (09:55 -0600)]
Fix typos in tim64.c comments
Karl Williamson [Wed, 27 Apr 2022 20:43:57 +0000 (14:43 -0600)]
Dumper.pm: Add proper link to pod section
Karl Williamson [Thu, 5 May 2022 19:22:17 +0000 (13:22 -0600)]
perl5db.pl: Make hyperlink in pod
Karl Williamson [Sat, 22 Jan 2022 15:06:15 +0000 (08:06 -0700)]
inline.h: White space only
Leon Timmermans [Wed, 8 Jun 2022 15:44:14 +0000 (17:44 +0200)]
Add Hobbit quote to time64.c
Richard Leach [Tue, 7 Jun 2022 22:17:04 +0000 (22:17 +0000)]
Make use of av_push_simple in a few places.
Specifically, only where a new AV has just been created and it's therefore
obvious that av_push_simple is safe to use.
In many cases, nearby code does av_push to an existing array. It might
well be the case that these are simple arrays and av_push_simple could be
used instead. The necessary analysis has been left for the future.
Richard Leach [Sun, 20 Mar 2022 15:22:27 +0000 (15:22 +0000)]
Move av_new_alloc from av.c to inline.h
There was less benefit in doing this prior to newSV_type becoming an inline
function. Now that it is, inlining av_new_alloc can help compilers eliminate
redundant setting of AvMAX/AvFILLp and unnecessary branches of any following
inlined calls to av_store_simple.
Richard Leach [Sun, 20 Mar 2022 14:11:15 +0000 (14:11 +0000)]
inline.h: add av_push_simple
A simplified version of av_push, along the lines of av_store_simple and
av_fetch_simple. This function is trivial, but having it makes refactoring
of existing code easier to read.
For example, changing:
av_push(some_av, val);
to:
av_push_simple(some_av,val);
is easier to read than:
av_store_simple(some_av, AvFILLp(some_av) + 1, val)
Paul "LeoNerd" Evans [Wed, 8 Jun 2022 13:38:19 +0000 (14:38 +0100)]
Appease gcc's warning that keysv may be used uninitialized in op.c
Karl Williamson [Thu, 12 May 2022 23:56:59 +0000 (17:56 -0600)]
perlapi: Deprecate 5 functions
and document two of them, which I had done before I realized they were
to be deprecated.
These functions are obsolete, and stemmed from a long-solved problem in
Windows. There are a couple of uses on cpan of a couple of them. But
people should just use PL_opnames[], for example, instead of the
function here that returns the address of that array.
Nicholas Clark [Sun, 29 May 2022 13:36:50 +0000 (15:36 +0200)]
Opcode.xs now uses PL_op_name and PL_op_desc directly
This removes the last core use of the trivial accessor functions
get_op_names() and get_op_descs().
Nicholas Clark [Sun, 29 May 2022 14:57:33 +0000 (16:57 +0200)]
opset_len in Opcode.xs is a constant, so should be a static const
We can also remove many dMY_CXT declarations, as they are no longer needed
(and generate a now unused variable in threaded builds, hence compiler
warnings).
Previously it was part of the module's my_cxt_t, because it was a value
calculated from the interpreter variable PL_maxo. But PL_maxo itself is *not*
a variable - it was converted to a #define in Aug 2016 by commit
8d89205aa6324e7d:
Remove PL_maxo
We have an interpreter variable using memory, PL_maxo, which is
defined to be the same as MAXO, a #defined constant. As far as I can
tell, it is never used in lvalue context, in core or on CPAN, except
for the initialisation in intrpvar.h.
It can simply be removed and replaced with a macro defined as equiva-
lent to MAXO.
It was added in this commit:
commit
84ea024ac9cdf20f21223e686dddea82d5eceb4f
Author: Perl 5 Porters <perl5-porters.nicoh.com>
Date: Tue Jan 2 23:21:55 1996 +0000
perl 5.002beta1h patch: perl.h
5.002beta1 attempted some memory optimizations, but unfortunately
they can result in a memory leak problem. This can be
avoided by #define STRANGE_MALLOC. I do that here until
consensus is reached on a better strategy for handling the
memory optimizations.
Include maxo for the maximum number of operations (needed
for the Safe extension).
But apparently it is not needed for the Safe extension (tests pass
without it).
What the author of that commit didn't realise was that Opcode had been split
out from Safe - the code in question is in this module not Safe.
Graham Knop [Mon, 9 May 2022 10:20:02 +0000 (12:20 +0200)]
ExtUtils::CBuilder - bump version
Graham Knop [Mon, 9 May 2022 10:15:11 +0000 (12:15 +0200)]
ExtUtils::CBuilder - print out commands being run in usable form
When not set to be quiet, the system commands being run are printed out
before running them. This can assist with diagnosing issues. It is
implied that this is a command that could be run by a user.
Since the command is internally run with system using list form, it does not
involve the shell, and does not need any extra quoting. The printed out
command however, would be run by a user through a shell. Just joining
the arguments with spaces will not quote them correctly for use through
a shell.
Add a new method for quoting a string for the shell. And use this method
when printing out the command line that we are running.
Graham Knop [Mon, 9 May 2022 11:49:42 +0000 (13:49 +0200)]
Module::CoreList - change github clone URL to https
GitHub no longer supports git:// cloning because it is not encrypted.
Richard Leach [Sat, 12 Jun 2021 00:28:25 +0000 (01:28 +0100)]
pp_unshift: av_store is often unnecessary
Dan Book [Tue, 31 May 2022 19:09:22 +0000 (15:09 -0400)]
feature - document that use utf8 should probably be used for non-ascii delimiters
Paul "LeoNerd" Evans [Tue, 7 Jun 2022 10:40:09 +0000 (11:40 +0100)]
Correctly indent the body of the while{} loop in S_aassign_scan()
Paul "LeoNerd" Evans [Tue, 7 Jun 2022 10:38:00 +0000 (11:38 +0100)]
Also join the 'else if'
Paul "LeoNerd" Evans [Tue, 7 Jun 2022 10:30:22 +0000 (11:30 +0100)]
Fix indentation of a line of code in op.c to not be misleading
Hugo van der Sanden [Fri, 3 Jun 2022 11:42:50 +0000 (12:42 +0100)]
Rename variable in EXTEND_HWM_SET
"ix" is a common variable name in XS code, and may be passed in as
part of a parameter.
Paul "LeoNerd" Evans [Mon, 6 Jun 2022 14:50:18 +0000 (15:50 +0100)]
Refactor warning-generating code in two different places into one common function
The new combined function, named `S_warn_elem_scalar_context()`, is much
more meaningful and useful to become exported in an intended subsequent
change, than the previous (poorly-named) `S_op_pretty()` would have
been.
Karl Williamson [Mon, 6 Jun 2022 16:18:03 +0000 (10:18 -0600)]
Update checksums in some generated files
These use checksums to see if the generated data could be out of date.
The new NormTest.pl wasn't counted in this, and needn't be, but
excluding it and other similar ones is more trouble than it's worth, so
make a comment to that effect and update to include the NormTest.pl
digest value.
Karl Williamson [Wed, 16 Dec 2020 21:41:30 +0000 (14:41 -0700)]
locale.c: Declare three static arrays to be so.
Karl Williamson [Wed, 11 May 2022 17:03:22 +0000 (11:03 -0600)]
perlapi: Document my_failure_exit()
Karl Williamson [Tue, 31 May 2022 03:08:27 +0000 (21:08 -0600)]
Add official Unicode normalization tests
James E Keenan [Sun, 5 Jun 2022 18:01:21 +0000 (14:01 -0400)]
opt.t: Fix count of tests to be skipped
Karl Williamson [Tue, 1 Mar 2016 01:45:39 +0000 (18:45 -0700)]
Comprehensive charset.t tests
These have been occasionally useful, but take quite a bit longer than
just the sameples normally used. Enabled by environment variable
$PERL_DEBUG_FULL_TEST
Karl Williamson [Sat, 7 Nov 2020 14:21:52 +0000 (07:21 -0700)]
Make tr/// SV compiled components ReadOnly
This could trigger some optimisations, and makes it clear to maintainers
that they do not get modified.
Karl Williamson [Sat, 28 May 2022 21:30:19 +0000 (15:30 -0600)]
Remove deprecated functions
Most of these have been deprecated for a long time; and we've never
bothered to follow through in removing them. This commit does that.
Karl Williamson [Sun, 31 Mar 2019 20:07:24 +0000 (14:07 -0600)]
utf8.c: Minor comment changes
Karl Williamson [Wed, 22 Jul 2020 11:59:12 +0000 (05:59 -0600)]
Add comments to taint_env, taint_proper
One is supposed to access this functionality only through the documented
uppercase-named macros.
Tony Cook [Fri, 3 Jun 2022 00:50:26 +0000 (10:50 +1000)]
Tony Cook [Wed, 1 Jun 2022 07:51:30 +0000 (17:51 +1000)]
remove some leftover debug output from filetime_from_time()
Tony Cook [Thu, 2 Jun 2022 12:02:57 +0000 (22:02 +1000)]
bump $GDBM_File::VERSION
Tony Cook [Thu, 2 Jun 2022 01:01:44 +0000 (11:01 +1000)]
GDBM_File: fix fetching mmapsize
Originally this came up from a Coverity complaint.
GDBM_SETMAXMAPSIZE accepts any of unsigned, unsigned long or size_t,
but GDBM_GETMAXMAPSIZE only accepts size_t. Since this is the only
case that uses unsigned values we can safely switch it to size_t.
Unfortunately Coverity's analysis was pretty broken, it complained
about c_uv being uninitialised at the call to newSVuv, but its example
code flow went through the opt_dbname case, which sets vptr to != &c_uv
so the newSVuv() wouldn't execute anyway.
Before looking closely at the Coverity analysis and after finding the
bug fixed here I thought for a moment that Coverity had been tracing
into libgdbm, which could have caught the actual problem, but alas
that was not the case.
I expect this fix will not close CID 351943, and if it remains after
this is applied I'll close it as a false positive.
CID 351943.
Karl Williamson [Thu, 19 May 2022 15:28:07 +0000 (09:28 -0600)]
perlapi: Consolidate gv_fetchmeth forms, improve doc
I read the code and added details previously missing.
Karl Williamson [Fri, 5 Jun 2020 19:48:36 +0000 (13:48 -0600)]
regex: Create a macro to avoid some #ifdef's
Easier to read
Karl Williamson [Fri, 5 Jun 2020 17:03:14 +0000 (11:03 -0600)]
regexec.c: Use modern name for function
The newer name is not misleading; the old name has been retained only
for backcompat; this removes its final use in the core.
Karl Williamson [Fri, 5 Jun 2020 11:56:43 +0000 (05:56 -0600)]
regcomp,regexec: Shorten #define name
This names a flag bit whose meaning depends on context. The previous
name contained both meanings, and was simply too long to be
comprehensible. This commit splits it into two names, with the suffix
'_shared'. It's not necessary to know precisely what the other meaning
is when reading the code, only that it has another meaning.
Karl Williamson [Fri, 5 Jun 2020 17:19:20 +0000 (11:19 -0600)]
Rename internal function
The old name had a negative in it, and its easier to grok positives
Karl Williamson [Fri, 5 Jun 2020 14:26:59 +0000 (08:26 -0600)]
regexec.c: Remove obsolete code
The results of this are no longer used
Karl Williamson [Sat, 30 May 2020 21:33:12 +0000 (15:33 -0600)]
regcomp.h: Add, fix, clarify comments
Karl Williamson [Thu, 11 Jun 2020 15:22:42 +0000 (09:22 -0600)]
regcomp.c: Move loop declaration closer to use
Now that we have c99, the loop variable can be declared in it, instead
of way before.
Karl Williamson [Fri, 29 May 2020 20:52:16 +0000 (14:52 -0600)]
utf8.h: Add unsigned cast to array index parameter
this makes sure it is never negative
Karl Williamson [Fri, 29 May 2020 19:24:56 +0000 (13:24 -0600)]
regcomp.c: Use mnemonic instead of what it evaluates to
The memonic was used in some places; its value in others. This commit
brings uniformity.
Karl Williamson [Wed, 1 Jun 2022 20:13:46 +0000 (14:13 -0600)]
perlapi: hv_stores and do_close are now documented
Karl Williamson [Wed, 1 Jun 2022 20:09:15 +0000 (14:09 -0600)]
Update email for Mark Jason Dominus
Karl Williamson [Sat, 28 May 2022 03:58:14 +0000 (21:58 -0600)]
perlapi: Document do_close
Mark Dominus [Tue, 31 May 2022 01:22:24 +0000 (21:22 -0400)]
remove irrelevant mention of scalar references
Scalar references are not mentioned anywhere else in the document,
so they don't need to be mentioned here
Ricardo Signes [Tue, 31 May 2022 23:14:33 +0000 (19:14 -0400)]
perl5360delta: remove reduplicated "please"
We do not wish to beg...
Ricardo Signes [Tue, 31 May 2022 23:12:24 +0000 (19:12 -0400)]
perl5360delta: re-add a truncated line
I assume this was lost during editing. Unhappily, this error did make
it into the release.
Karl Williamson [Tue, 31 May 2022 13:23:34 +0000 (07:23 -0600)]
Regen perldebgutS
Karl Williamson [Tue, 31 May 2022 12:28:20 +0000 (06:28 -0600)]
perldiag: Fix typo, collapse some msgs
Karl Williamson [Fri, 18 Feb 2022 03:00:15 +0000 (20:00 -0700)]
Make STRLENs() available to core
This may cause problems when not used correctly; so continue to restrict
it.
Karl Williamson [Tue, 31 May 2022 12:44:20 +0000 (06:44 -0600)]
regcomp.sym: Comment why no ANYOFRs node exists
Karl Williamson [Mon, 30 May 2022 00:36:28 +0000 (18:36 -0600)]
t/op/vec.t: use strict, warnings
Karl Williamson [Wed, 13 Jan 2021 22:10:43 +0000 (15:10 -0700)]
perlretut: Grammar, clarifications, white-space
Karl Williamson [Sun, 29 May 2022 17:40:32 +0000 (11:40 -0600)]
handy.h: ASSERT_NOT_PTR doesn't work for void*
Add comment to that
Karl Williamson [Wed, 18 May 2022 20:56:16 +0000 (14:56 -0600)]
perlapi: Document save_pushptr
Karl Williamson [Mon, 23 May 2022 11:15:48 +0000 (05:15 -0600)]
perlapi: Consolidate hv_store(s?), into 1 entry,improve
The text has been expanded to discuss what happens if the any of the
pointer parameters are NULL.
Leon Timmermans [Mon, 30 May 2022 14:43:08 +0000 (16:43 +0200)]
APItest.xs: flush output in test_bool_internals_func
With the explicit flush this test will fail when PERLIO=stdio, because
stdio defaults to block-based buffering on pipes and therefore the
output will come out wrong.
brian greenfield [Mon, 30 May 2022 08:59:53 +0000 (09:59 +0100)]
Bump builtin.pm version
brian greenfield [Mon, 30 May 2022 08:20:53 +0000 (09:20 +0100)]
Include 'indexed' in synopsis of builtin.pm
Graham Knop [Mon, 30 May 2022 09:44:09 +0000 (11:44 +0200)]
Merge branch 'haarg/encoding-warnings-cleanup' into blead
Graham Knop [Mon, 16 May 2022 17:09:25 +0000 (19:09 +0200)]
encoding-warnings: bump version
Graham Knop [Mon, 16 May 2022 17:08:05 +0000 (19:08 +0200)]
encoding-warnings: convert tests to use Test::More rather than Test.pm