This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Tue, 3 Apr 2018 03:57:10 +0000 (21:57 -0600)]
inline.h: Silence compiler warning
Some compilers depending on memory and pointer size, emitted a warning
here.
Karl Williamson [Tue, 3 Apr 2018 03:54:59 +0000 (21:54 -0600)]
PATCH: [perl #132167] Parse error in regex_sets
When popping the stack, the code inappropriately also subtracted one
from the result. This is probably left over from an earlier change in
the implementation. The top of the stack contained the correct value;
subtracting was a mistake.
Daniel Dragan [Mon, 2 Apr 2018 14:49:54 +0000 (10:49 -0400)]
RT #133039 dont build a Storable.so/.dll with a static perl build
All static perls aren't capable of making shared libs that will never
execute anyways. Commit
c0e3b4b51c make Limit.pm depend on Storable.so/.dll
which isnt supposed to exist in a static build but the EUMM makefile still
has enough logic/targets defined that "dynamic ext on static perl" will
probably generate a disk file to satisfy that target (execution is another
story). Except on Win32, where global data vars must be declared in C if
they are stored inside or outside the DLL where the reference will be made.
PL_sv_placeholder is one such var. On no-threads static win32 Perl I assume
even more breakage and missing symbol warnings.
Fix the problem by making sure the .a/.lib and perlstatic.exe or .so/.dll
are built respectfully before running stacksize.pl.
I also noticed dist/Storable/lib was untracked and unignored, so put it
on ignore list because it is a build product.
See more details in #133039.
Related to RT #127743
Karl Williamson [Wed, 7 Mar 2018 17:27:20 +0000 (10:27 -0700)]
regexec.c: Use macro intended for the purpose
The macro hides the underlying implementation detail.
Tony Cook [Wed, 21 Feb 2018 03:50:13 +0000 (14:50 +1100)]
(perl #132876) define API macros on if the NEED_ macro is defined
Rather then always defining an API macro such as "croak_xs_usage",
only define it if the NEED_ macro is defined.
This means that code that checks if the API macro is defined won't
get a false positive and try to use an API that's neither available nor
emulated.
If the including code attempts to define its own fallback, as EU::PXS
code does, it also prevents a macro redefinition, most likely with a
different token sequence which the C standard forbids.
This change has the (I think unlikely) risk that a user of ppport.h
might include ppport.h for the macro definition and then define their
own DPPP_some_api() function. I attempted to check via grep.cpan.me,
but it wasn't working at the time.
Tony Cook [Wed, 21 Feb 2018 00:24:00 +0000 (11:24 +1100)]
(perl #132876) only define croak_xs_usage()'s assert macro if cxu requested
This avoids an interaction with the code ExtUtils::ParseXS generates to
define a fallback croak_xs_usage().
That code checks whether the assert macro is defined rather than checking
if croak_xs_usage() is defined, and since ppport.h was always defining
the assert macro, the EU::PXS code would fail to define its own
croak_xs_usage() fallback.
Tony Cook [Sun, 1 Apr 2018 23:54:14 +0000 (09:54 +1000)]
(perl #133009) *nix builds need Cwd.pm too
Tony Cook [Thu, 29 Mar 2018 03:34:37 +0000 (14:34 +1100)]
Storable: the Limit.pm should depend on the code generating it
Tony Cook [Thu, 22 Mar 2018 00:48:29 +0000 (11:48 +1100)]
(perl #133009) handle the XP fallback after we're ready to write
Also, check we can use Storable before trying to probe recursion
limits.
As bulk88 points out, Win32 may return 0 from system even if the
probe crashes, so instead have the probe output some text after the
recursion check and test that the text is output.
Karl Williamson [Sun, 1 Apr 2018 14:55:46 +0000 (08:55 -0600)]
PATCH: [perl #133405] POSIX.xs: Silence compiler warning
Karl Williamson [Sat, 31 Mar 2018 21:56:12 +0000 (15:56 -0600)]
regexec.c: Silence a compiler warning
The argument is 32 bits, but only the lowest 8 are used.
Karl Williamson [Sat, 31 Mar 2018 19:01:42 +0000 (13:01 -0600)]
regcomp.c: Simplify a function
Now that the case folding rules are compiled-in, we don't have to avoid
using them so much. This removes some #ifdef'd code. The remaining
hard-coded rules could have also been removed, but since they don't
require #ifdef's and were already there, I left them in.
Karl Williamson [Sat, 31 Mar 2018 21:29:34 +0000 (15:29 -0600)]
utf8.c: Add missing const in formal parameter
Only the win32 compiler caught this
Karl Williamson [Sat, 31 Mar 2018 18:47:32 +0000 (12:47 -0600)]
utf8.c: Remove unused thread context for core-only fcn
Karl Williamson [Sat, 31 Mar 2018 18:39:46 +0000 (12:39 -0600)]
regexec.c: Simplify a little
A Previous commit has changed the circumstances of this code so that we
know certain things to be true that we didn't use to.
Karl Williamson [Sat, 31 Mar 2018 18:34:01 +0000 (12:34 -0600)]
regexec.c: White-space only
This outdents to to the removal of an enclosing block by a previous
commit
Karl Williamson [Sat, 31 Mar 2018 18:28:51 +0000 (12:28 -0600)]
regcomp.c: White-space only
Adjust the indentation given that a prior commit removed an enclosing
block
Karl Williamson [Sat, 31 Mar 2018 21:37:20 +0000 (15:37 -0600)]
Merge branch 'use swashes less often' into blead
Most of the commits on this branch are to remove uses of swashes in
favor of pre-compiled-in inversion lists. It has been a long term goal
to stop using swashes because they require switching to perl code and
loading lib/utf8_heavy.pl, and have it typically read in a file from
disk. This new implementation has the C structures forming the
inversion lists in the read-only data section of the perl executable.
The belief is that the operating system will page in the ones it needs
as it goes along.
Also, there are various issues with switching to perl code in the middle
of execution.
The swashes that this code omits using are frequently used, as they
comprise the POSIX classes and /i matching.
What is left using swashes is all the \p{} Unicode properties and tr///
involving above-Latin1 Unicode code points.
Karl Williamson [Sat, 31 Mar 2018 18:23:29 +0000 (12:23 -0600)]
regcomp.c: Rmv no longer used variable
Karl Williamson [Sat, 31 Mar 2018 18:20:50 +0000 (12:20 -0600)]
regcomp.c: Rmv no longer used core-only function
Karl Williamson [Sat, 31 Mar 2018 18:04:40 +0000 (12:04 -0600)]
regen/mk_invlists.pl: Fix to work on early Unicode
The earliest Unicode release only had 2**16 code points. Add a test for
that so it will generate the proper tables if perl is compiled with that
Unicode
Karl Williamson [Sat, 31 Mar 2018 18:01:27 +0000 (12:01 -0600)]
regen/mk_invlists.pl: Improve error message
Karl Williamson [Sat, 31 Mar 2018 18:14:45 +0000 (12:14 -0600)]
utf8.c: Rmv no longer used function
The previous commit completely stopped using this core-only function.
Remove it.
Karl Williamson [Thu, 29 Mar 2018 22:32:49 +0000 (16:32 -0600)]
Use compiled-in C structure for inverted case folds
This commit changes to use the C data structures generated by the
previous commit to compute what characters fold to a given one. This is
used to find out what things should match under /i.
This now avoids the expensive start up cost of switching to perl
utf8_heavy.pl, loading a file from disk, and constructing a hash from
it.
Karl Williamson [Thu, 29 Mar 2018 00:20:10 +0000 (18:20 -0600)]
regen/mk_invlists.pl: Generate tables for inverted case folds
This table will be used in the next commit
Karl Williamson [Thu, 29 Mar 2018 00:01:50 +0000 (18:01 -0600)]
regen/mk_invlists.pl: Inversion maps don't have to be IV
An inversion map currently is used only for Unicode-range code points,
which can fit in an int, so don't use the space unnecessarily
Karl Williamson [Thu, 29 Mar 2018 00:00:30 +0000 (18:00 -0600)]
regexec.c: Remove no longer used macros
These are unused now that all the POSIX class lookups are done through
inversion lists, instead of swashes.
Karl Williamson [Wed, 28 Mar 2018 15:55:52 +0000 (09:55 -0600)]
regen/mk_invlists.pl: Change some fcns to return a ref
They previously returned an array. This is in preparation for a future
commit, where a similar function will return multiple arguments.
Karl Williamson [Tue, 27 Mar 2018 21:56:30 +0000 (15:56 -0600)]
Remove obsolete variables
These were for when some of the Posix character classes were implemented
as swashes, which is no longer the case, so these can be removed.
Karl Williamson [Tue, 27 Mar 2018 21:38:04 +0000 (15:38 -0600)]
regexec.c: White-space, comment only
Fix up indentation based on the previous few commits
Karl Williamson [Tue, 27 Mar 2018 21:19:55 +0000 (15:19 -0600)]
regexec.c: Convert swash lookup to inversion list
Karl Williamson [Tue, 27 Mar 2018 21:03:50 +0000 (15:03 -0600)]
regexec.c: Convert swash lookup to inversion list
Previously this had two loops, the first one was used to keep from
loading the swash for as long as possible. Now that it is loaded by
default, there is no need to do this. This overwrites the first loop
with the second loop
Karl Williamson [Tue, 27 Mar 2018 20:15:54 +0000 (14:15 -0600)]
regexec.c: Convert swash lookup to inversion list
Karl Williamson [Tue, 27 Mar 2018 20:06:03 +0000 (14:06 -0600)]
regexec.c: Explicitly use case: instead of default:
This is so the default: can be used for another purpose in the next
commit.
Karl Williamson [Tue, 27 Mar 2018 21:49:06 +0000 (15:49 -0600)]
regexec.c: Check for UTF-8 fitting
We've been burned before by malformed UTF-8 causing us to read outside
the buffer bounds. Here is a case I saw during code inspection, and
it's easy to add the buffer end limit
Karl Williamson [Tue, 27 Mar 2018 19:43:50 +0000 (13:43 -0600)]
regexec.c: Convert one swash to inversion list
I'm doing this one-at-a-time for bisection reasons, in case I make a
mistake.
Karl Williamson [Tue, 27 Mar 2018 19:33:41 +0000 (13:33 -0600)]
regexec.c: Rmv obsolete macro
This macro is obsolete because the inversion list for this property is
now always loaded, so no need to load.
Karl Williamson [Sat, 31 Mar 2018 17:18:38 +0000 (11:18 -0600)]
Use charnames inversion lists
This commit makes the inversion lists for parsing character name global
instead of interpreter level, so can be initialized once per process,
and no copies are created upon new thread instantiation. More
importantly, this is another instance where utf8_heavy.pl no longer
needs to be loaded, and the definition files read from disk.
Karl Williamson [Tue, 27 Mar 2018 19:00:38 +0000 (13:00 -0600)]
regen/mk_invlists.pl: Generate charnames inversion lists
This is so we won't have to load utf8_heavy.pl and read them from disk
when they are first encountered.
Karl Williamson [Tue, 27 Mar 2018 18:52:35 +0000 (12:52 -0600)]
Remove no longer used constant and #if checks.
This is now obsolete as a result of the last few commits.
Karl Williamson [Tue, 27 Mar 2018 18:44:54 +0000 (12:44 -0600)]
utf8.c: Change no longer used params to dummys
The previous commits have caused certain parameters to be ignored in
some calls to these functions. Change them to dummys, so if a mistake
is made, it can be caught, and not promulgated
Karl Williamson [Tue, 27 Mar 2018 17:55:56 +0000 (11:55 -0600)]
Move init of 2 inversion lists to perl.c
These read-only globals can be initialized in perl.c, which allows us to
remove runtime checks that they are initialized. This commit also takes
advantage of the fact that they are now always initialized to use them
as inversion lists, avoid swash creation.
Karl Williamson [Tue, 27 Mar 2018 17:55:23 +0000 (11:55 -0600)]
Fix bug in mathoms fcn _is_utf8_xidcont()
This was using the wrong variable, the one used by plain
_is_utf8_idcont()
Since both of these are in mathoms.c, and deprecated, this really wasn't
causing an issue in the field.
Karl Williamson [Tue, 27 Mar 2018 16:50:28 +0000 (10:50 -0600)]
utf8.c: Avoid calling swash code
Now that we prefer inversion lists over swashes, we can just use the
inversion lists functions if we have an inversion list, avoiding the
swash code altogether in these instances.
This commit stops using inversion lists for two internal properties, but
the next commit will restore that.
Karl Williamson [Tue, 27 Mar 2018 16:18:03 +0000 (10:18 -0600)]
utf8.c: Prefer an inversion list over a swash
Measurements I took in
8946fcd98c63bdc848cec00a1c72aaf232d932a1 indicate
that at the sizes that Unicode inversion lists are, there is no slowdown
in retrieval of data using an inversion list vs a hash. Converting to
use an inversion list, when possible, avoids the hash construction
overhead, and eventually to the removal of a bunch of code.
Karl Williamson [Sat, 31 Mar 2018 16:30:14 +0000 (10:30 -0600)]
utf8.c: Clarify comment
Karl Williamson [Fri, 30 Mar 2018 20:31:48 +0000 (14:31 -0600)]
perl.h: Clarify comment
Karl Williamson [Sat, 31 Mar 2018 17:04:34 +0000 (11:04 -0600)]
utf8.c: Add comments
This adds comments, and some white space changes to the function
dealing with changing case changed in
8946fcd98c63bdc848cec00a1c72aaf232d932a1
Karl Williamson [Sat, 31 Mar 2018 18:09:40 +0000 (12:09 -0600)]
regexec.c: Silence compiler warning
When this #ifdef'd code is compiled, there was a warning
Karl Williamson [Sat, 31 Mar 2018 17:08:50 +0000 (11:08 -0600)]
utf8.c: Allow to compile for early Unicode versions
Commit
8946fcd98c63bdc848cec00a1c72aaf232d932a1 broke the compilation of
utf8.c when perl is compiled against very early Unicode versions, as
some tables this is expecting don't exist in them. But it is easily
solvable by a few #ifdefs
Zefram [Fri, 30 Mar 2018 23:06:26 +0000 (00:06 +0100)]
fix versions in doc of signature/attribute diag
The documentation for the new diagnostic about attributes and signatures
being provided in the wrong order, for [perl #132760], mentions the
versions of perl in which the order changed. It had the versions slightly
wrong, implying introduction of signatures in 5.18 and the change to
signatures being before attributes in 5.20. In fact signatures were
introduced in 5.20, and the order was first changed in 5.22.
Zefram [Fri, 30 Mar 2018 22:07:36 +0000 (23:07 +0100)]
delete unreliable test of Carp crash avoidance
rt52610_crash.t was introduced by commit
4764858cb80e76fdba33cc1b3be8fcdef26df754, and is predicated on
the mythical effectiveness of that commit's code change in avoiding
stack-not-refcounted crashes, an effectiveness also expressed in that
commit's very inaccurate commit message. In fact the code change will
avoid *some* crashes, but cannot guarantee to avoid crashing in any
particular situation of the kind that it targets. It is therefore not
possible to have a test for it avoiding a stack-not-refcounted crash,
with any expectation that the test would reliably pass or even reliably
avoid crashing. rt52610_crash.t must therefore be deleted.
James E Keenan [Thu, 29 Mar 2018 22:31:14 +0000 (18:31 -0400)]
Remove 'our' from one non-Exporter-related variable.
James E Keenan [Thu, 29 Mar 2018 13:36:57 +0000 (09:36 -0400)]
Use lexically scoped ('our') variables in POD examples.
Per Dan Book recommendation, as this is code likely to be copied-and-pasted by
people new to Perl.
Keep podcheck happy.
For: RT # 133040
Karl Williamson [Thu, 29 Mar 2018 16:08:43 +0000 (10:08 -0600)]
Update proto.h
It turns out I didn't do a format-patch after fixing this unregenerated
proto.h bug in
0dc258e2b8d107ef76f2d62c1a1a68222fd1e769, so I ended up
pushing an outdated version.
Karl Williamson [Thu, 29 Mar 2018 16:08:43 +0000 (10:08 -0600)]
embed.fnc: Add a const to parameter
To match what the file declares it as.
Sergey Aleynikov [Wed, 28 Mar 2018 20:53:32 +0000 (23:53 +0300)]
Maintain extralibs order for linker
As per discussion in RT # 132992
Sergey Aleynikov [Wed, 28 Mar 2018 20:28:56 +0000 (23:28 +0300)]
Fix ALL_STATIC builds with MinGW
ALL_STATIC required BUILD_STATIC set but that was not documented.
Sergey Aleynikov [Wed, 28 Mar 2018 20:26:20 +0000 (23:26 +0300)]
Fix spelling in windows makefiles
Sergey Aleynikov [Wed, 28 Mar 2018 19:35:05 +0000 (22:35 +0300)]
Fix static builds with MinGW
Move Extensions_normalize target before Extensions
target to satisfy dependencies.
Sergey Aleynikov [Mon, 26 Mar 2018 20:39:45 +0000 (23:39 +0300)]
Update links in Devel::PPPort documentation
So they no longer point to github, as it's now maintained in-core.
(The committer fixed the links to be mailto:s and bumped the version
number
Sergey Aleynikov [Mon, 26 Mar 2018 20:26:47 +0000 (23:26 +0300)]
Update RT path for Devel::PPPort
Karl Williamson [Tue, 27 Mar 2018 15:57:44 +0000 (09:57 -0600)]
utf8.c: fix leak
Commit
8946fcd98c63bdc848cec00a1c72aaf232d932a1 failed to free a scalar
it created. I meant to do so, but in the end, forgot.
Karl Williamson [Tue, 27 Mar 2018 18:17:50 +0000 (12:17 -0600)]
Dagfinn Ilmari Mannsåker [Tue, 27 Mar 2018 12:22:57 +0000 (13:22 +0100)]
Mark unused dl_unload_all_files() argument
H.Merijn Brand [Tue, 27 Mar 2018 09:13:53 +0000 (11:13 +0200)]
Whitespace consistency
Dagfinn Ilmari Mannsåker [Tue, 27 Mar 2018 08:10:11 +0000 (09:10 +0100)]
Fix building with -Accflags=-DDL_UNLOAD_ALL_AT_EXIT
Commit
bb6a367ad5d replaced an XPUSHs inside a loop with an EXTEND
outside it, but didn't move the dSP to match. Even if it did, that
would have been wrong, since the loop might push more than one value.
Revert that bit of the commit.
In passing, move the declaration of dl_librefs and dl_libref into the
scope where they're used.
H.Merijn Brand [Tue, 27 Mar 2018 07:17:48 +0000 (09:17 +0200)]
d_strchr is C89 and has been removed from Configure
Karl Williamson [Sun, 25 Mar 2018 17:58:55 +0000 (11:58 -0600)]
Move some inversion list init to perl.c
The initialization time spent here is trivial, and this saves a copy of
these arrays on some systems. This is because there is only one perl.c,
and there is both regcomp.c and re_comp.c which would contain the
identical static const array. Some OS's won't remove the duplicate
copies.
Karl Williamson [Sun, 25 Mar 2018 17:41:15 +0000 (11:41 -0600)]
Move case change invlists from interpreter to global
These are now constant through the life of the program, so don't need to
be duplicated at each new thread instantiation.
Karl Williamson [Sun, 25 Mar 2018 04:21:45 +0000 (22:21 -0600)]
regen/mk_invlists.pl: Fix comment gobbleldy gook
Karl Williamson [Fri, 23 Mar 2018 19:43:56 +0000 (13:43 -0600)]
Move UTF-8 case changing data into core
Prior to this commit, if a program wanted to compute the case-change of
a character above 0xFF, the C code would switch to perl, loading
lib/utf8heavy.pl and then read another file from disk, and then create a
hash. Future references would use the hash, but the start up cost is
quite large. There are five case change types, uc, lc, tc, fc, and
simple fc. Only the first encountered requires loading of utf8_heavy,
but each required switching to utf8_heavy, and reading the appropriate
file from disk.
This commit changes these functions to use compiled-in C data structures
(inversion maps) to represent the data. To look something up requires a
binary search instead of a hash lookup.
An individual hash lookup tends to be faster than a binary search, but
the differences are small for small sizes. I did some benchmarking some
years ago, (commit message
87367d5f9dc9bbf7db1a6cf87820cea76571bf1a) and
the results were that for fewer than 512 entries, the binary search was
just as fast as a hash, if not actually faster. Now, I've done some
more benchmarks on blead, using the tool benchmark.pl, which wasn't
available back then. The results below indicate that the differences
are minimal up through 2047 entries, which all Unicode properties are
well within.
A hash, PL_foldclosures, is still constructed at runtime for the case of
regular expression /i matching, and this could be generated at Perl
compile time, as a further enhancement for later. But reading a file
from disk is no longer required to do this.
======================= benchmarking results =======================
Key:
Ir Instruction read
Dr Data read
Dw Data write
COND conditional branches
IND indirect branches
_m branch predict miss
_m1 level 1 cache miss
_mm last cache (e.g. L3) miss
- indeterminate percentage (e.g. 1/0)
The numbers represent raw counts per loop iteration.
"\x{10000}" =~ qr/\p{CWKCF}/"
swash invlist Ratio %
fetch search
------ ------- -------
Ir 2259.0 2264.0 99.8
Dr 665.0 664.0 100.2
Dw 406.0 404.0 100.5
COND 406.0 405.0 100.2
IND 17.0 15.0 113.3
COND_m 8.0 8.0 100.0
IND_m 4.0 4.0 100.0
Ir_m1 8.9 17.0 52.4
Dr_m1 4.5 3.4 132.4
Dw_m1 1.9 1.2 158.3
Ir_mm 0.0 0.0 100.0
Dr_mm 0.0 0.0 100.0
Dw_mm 0.0 0.0 100.0
These were constructed by using the file whose contents are below, which
uses the property in Unicode that currently has the largest number of
entries in its inversion list, > 1600. The test was run on blead -O2,
no debugging, no threads. Then the cut-off boundary was changed from
512 to 2047 for when we use a hash vs an inversion list, and the test
run again. This yields the difference between a hash fetch and an
inversion list binary search
===================== The benchmark file is below ===============
no warnings 'once';
my @benchmarks;
push @benchmarks, 'swash' => {
desc => '"\x{10000}" =~ qr/\p{CWKCF}/"',
setup => 'no warnings "once"; my $re = qr/\p{CWKCF}/; my $a =
"\x{10000}";',
code => '$a =~ $re;',
};
\@benchmarks;
Karl Williamson [Fri, 23 Mar 2018 19:27:25 +0000 (13:27 -0600)]
regen/mk_invlists.pl: Add case changing tables
This will be used by a future commit.
Karl Williamson [Fri, 23 Mar 2018 18:26:12 +0000 (12:26 -0600)]
regen/mk_invlists.pl: White space only
This properly indents some code blocks.
Karl Williamson [Fri, 23 Mar 2018 18:22:06 +0000 (12:22 -0600)]
regen/mk_invlists.pl: Allow to Generate code point mappings
This expands the code to handle code point mapping inversion maps. This
capability will be used in a future commit to handle case changing
operations in utf8.c.
Karl Williamson [Sun, 25 Mar 2018 00:52:44 +0000 (18:52 -0600)]
regen/mk_invlists.pl: Fix bug with adjusted inputs
This doesn't affect any current uses, but we need to better account for
adjusted inversion maps.
Karl Williamson [Fri, 23 Mar 2018 18:11:48 +0000 (12:11 -0600)]
regen/mk_invlists.pl: Suppress empty enum declarations
This diverts the outputting of the enum typedefs until after they are
fully known, so that an empty one can be suppressed.
A future commit will need this
Karl Williamson [Fri, 23 Mar 2018 17:55:28 +0000 (11:55 -0600)]
regen/mk_invlists.pl: Allow enum defns to be public
This adds the ability for an enum typedef to be able to be made public.
Earlier in 5.27, commit
c0221e16334efbe9723722578949dc3916d669d4 was
made to revert
fea79782ed31ac4faa71eb6193faff54b4bbe249, because it
created bloat due to multiple statics of large arrays
This current commit is an alternative approach to
fea79782ed31ac4faa71eb6193faff54b4bbe249, but which doesn't create
bloat. But the capability is commented out because it isn't needed in
5.28
Karl Williamson [Thu, 22 Mar 2018 20:25:44 +0000 (14:25 -0600)]
regen/mk_invlists.pl: Handle EBCDIC
The code and comment here were out-of-date. When we are constructing
EBCDIC we need to modify the code points that are the result of a case
change that expands to more than one code point. This code is not
currently in used.
Karl Williamson [Fri, 23 Mar 2018 15:52:57 +0000 (09:52 -0600)]
regen/mk_invlists.pl: Remove Currency_Symbol definition
This is unused in 5.28.
Steve Hay [Sat, 24 Mar 2018 19:54:23 +0000 (19:54 +0000)]
Add epigraphs for 5.24.4-RC1 and 5.26.2-RC1
Steve Hay [Sat, 24 Mar 2018 17:23:37 +0000 (17:23 +0000)]
5.24.4-RC1 and 5.26.2-RC1 today
Todd Rinaldo [Fri, 23 Mar 2018 16:48:39 +0000 (11:48 -0500)]
Bump Time-HiRes to 1.9759 to revert changes from 1.9754..1.9758 on CPAN
Tag Porting/Maintainers.pl so it is clear that a release to CPAN is
outstanding.
Todd Rinaldo [Fri, 23 Mar 2018 16:36:08 +0000 (11:36 -0500)]
Revert "Upgrade Time::HiRes from version 1.9753 to 1.9757"
This reverts commit
13813507385079199d99d90776780dcd653f6919.
On recommendation of the Author, we are reverting these changes for
now in order to stabilize blead.
Todd Rinaldo [Fri, 23 Mar 2018 16:35:45 +0000 (11:35 -0500)]
Revert "Upgrade Time::HiRes from version 1.9757 to 1.9758"
This reverts commit
554c20fe6eab1dc262c2fb2d036b76fa09153f1c.
Steve Hay [Thu, 22 Mar 2018 21:33:12 +0000 (21:33 +0000)]
Maint releases are now expected mid-April; RC1s will be out soon
Todd Rinaldo [Thu, 22 Mar 2018 20:31:20 +0000 (15:31 -0500)]
Remove redundant advice in the RMG about using pod2html which you were just shown how to use
Todd Rinaldo [Thu, 22 Mar 2018 19:31:54 +0000 (14:31 -0500)]
Update Porting/Maintainers.pl to match CPAN for Module::CoreList
Todd Rinaldo [Thu, 22 Mar 2018 19:22:25 +0000 (14:22 -0500)]
Upgrade Time::HiRes from version 1.9757 to 1.9758
[DELTA]
1.9758 [2018-03-21]
- fix build in Win32 with Visual C by introducing a fake struct timezone
[rt.cpan.org #124844]
- in utime.t detect better being run in a noatime filesystem,
and if so, skip the test (for the HAMMER filesystem of DragonflyBSD)
- also for the HAMMER fs (if not in noatime), lower the expected subsecond
timestamp granularity to microseconds
- fix the version number typo in Changes: 1.9577 -> 1.9757
Karl Williamson [Thu, 22 Mar 2018 14:27:11 +0000 (08:27 -0600)]
utf8.c: Update comment
Karl Williamson [Mon, 19 Mar 2018 00:19:48 +0000 (18:19 -0600)]
I18N::Langinfo/t/Langinfo.t: Skip tests on early netbsd
The names of the months and weekdays are swapped with the abbreviated
names before netbsd 7, so skip the tests on those platforms. See their
commit:
revision 1.12.2.1
date: 2013-09-07 20:11:41 +0400; author: bouyer; state: Exp; lines:
+38 -38; commitid: HURUJwL5bnZmww4x;
Apply patch, requested by joerg in ticket #934:
lib/libc/locale/global_locale.c: patch
provide consistent and correct data for the C locale.
Karl Williamson [Thu, 15 Mar 2018 17:37:16 +0000 (11:37 -0600)]
locale.c: Really silence compiler warning
Commit
32a62865ef662fce2b2250a7e0eca15861e7fe20 did not work, as gcc
doesn't recognize a void cast as handling a return value. This should
hopefully work, though we discard the value before looking at it, which
could cause another warning.
David Mitchell [Tue, 20 Mar 2018 16:21:20 +0000 (16:21 +0000)]
op_dump(): display PARENT of top-most node
When dumping a subtree, display the op_parent() value for
the top-most node of the subtree.
Sawyer X [Wed, 21 Mar 2018 09:05:54 +0000 (11:05 +0200)]
Push release of 5.28 by a month to May
Karl Williamson [Wed, 21 Mar 2018 04:42:31 +0000 (22:42 -0600)]
mktables: Add aliases to the Present_In property
This property parallels the Age property (but is cumulative). Each
table in it should have the same property value possibilities as the
corresponding Age table.
Todd Rinaldo [Wed, 21 Mar 2018 00:47:24 +0000 (19:47 -0500)]
Adjust code which did not get automatically switched over to 5.027011
The following changes were still required after doing
$ ./perl -Ilib Porting/bump-perl-version -i 5.27.10 5.27.11
Module::CoreList had to be updated by hand.
Op_private.pm had to be updated by doing regen/opcode.pl lib/B/Op_private.pm
Pali [Thu, 15 Mar 2018 19:51:30 +0000 (20:51 +0100)]
Devel::PPPort: Use prefix D_PPP_ for helper macros
Prefix D_PPP_ is already handled by ppptools.pl. This change cleanups code,
makes code more consistent and avoids specifying helper macros in =dontwarn
section.
Todd Rinaldo [Tue, 20 Mar 2018 21:48:46 +0000 (16:48 -0500)]
Bump the perl version in various places for 5.27.11
Todd Rinaldo [Tue, 20 Mar 2018 21:47:13 +0000 (16:47 -0500)]
New Perldelta for 5.27.11
Chris 'BinGOs' Williams [Tue, 20 Mar 2018 21:30:35 +0000 (21:30 +0000)]
Tick another dev release off