Tony Cook [Thu, 16 Jun 2016 04:08:18 +0000]
(perl #128316) preserve errno from failed system calls
Tony Cook [Wed, 15 Jun 2016 01:58:52 +0000]
[perl #127885] enhancements to bench.pl
Jim Cromie [Tue, 12 Apr 2016 22:59:37 +0000]
Porting/bench.pl --grindargs can be abused, usefully.
Add an example where --grindargs='3>foobar' opens an extra file
descriptor for writing, and PERL_MEM_LOG=3 causes perl to log to the
file instead of STDERR, so that the output doesnt cause
parse_cachegrind() to choke, which would abort the test.
The example also demonstrates overriding default grind options, ie
--cachegrind-out-file=junk.$$. This has no obvious utility at
present, and perhaps buries the lead.
Jim Cromie [Sun, 10 Apr 2016 22:43:46 +0000]
provide per-PUT environment
This patch lets user specify ENVAR=value pairs for individual PUTs,
thereby altering runtime behavior. For some combination of module and
ENVAR, this should result in measurable benchmark differences.
This example benchmarks a PERL_MEM_LOG configured perl, 1st PUT with
PERL_MEM_LOG disabled, but enabled in the 2nd:
$ perl Porting/bench.pl --jobs=2 \
--verbose --debug --tests=/loop::for::pkg_/ \
-- \
perl5.23.9:+bare \
perl5.23.9=+full:PERL_MEM_LOG=3mst,PERLIO=:stdio -MData::Dumper
this will run:
Command: PERL_HASH_SEED=0 PERLIO=:stdio PERL_MEM_LOG=3mst valgrind --tool=cachegrind --branch-sim=yes --cachegrind-out-file=/dev/null perl5.23.9 -MData::Dumper - 20 2>&1
Note that ':' is now a valid separator between the perl & label, but
not between ENVAR=value pairs, where a ',' is required.
Jim Cromie [Sun, 10 Apr 2016 17:58:11 +0000]
add =+label feature, which appends the label to perl-name
Using this reduces the burden of keeping each label unique,
simplifying the use of labels to name varying workloads created by
-Mfoo -M<something-heavy>
This enables an invocation like the following to run -DDEBUGGING
perls-A,B in bare mode, and heavily encumbered by -Dflag induced
overhead:
$] perl Porting/bench.pl --jobs=2 \
--tests=/loop::for::my/ \
-- \
perl-A=+bare perl-A=+workload -DpsltocPmfr \
perl-B=+bare perl-B=+workload -DpsltocPmfr
Unfortunately, that example falls over, because the -D<blah> output
upsets cachegrind_parser. That might be fixable by removing the
'2>&1' in the $cmd. Nonetheless, workloads are constructible.
more prosaically:
$] perl Porting/bench.pl --jobs=2 \
--tests=/loop::for::my/ \
-- perl5.18.2=+strict -Mstrict perl5.18.0=+dumper -MData::Dumper
yields:
Got eof for pid 11377 (loop::for::my_array4/perl5.18.0+dumper active/long loop)
...
loop::for::my_array4
empty for loop with my var and 4 integer array
perl5.18.2+strict perl5.18.0+dumper
----------------- -----------------
Ir 100.00 114.20
Dr 100.00 119.35
Dw 100.00 135.03
COND 100.00 99.71
IND 100.00 100.00
COND_m 100.00 119.64
IND_m 100.00 92.31
Ir_m1 100.00 100.00
Dr_m1 100.00 100.00
Dw_m1 100.00 100.00
Ir_mm 100.00 -
Dr_mm 100.00 -
Dw_mm 100.00 100.00
AVERAGE
perl5.18.2+strict perl5.18.0+dumper
----------------- -----------------
Ir 100.00 114.56
Dr 100.00 118.87
Dw 100.00 133.30
COND 100.00 100.41
IND 100.00 100.00
COND_m 100.00 69.14
IND_m 100.00 89.95
Ir_m1 100.00 100.00
Dr_m1 100.00 100.00
Dw_m1 100.00 100.00
Ir_mm 100.00 100.00
Dr_mm 100.00 100.00
Dw_mm 100.00 100.00
Jim Cromie [Sun, 10 Apr 2016 17:50:13 +0000]
s/@results/@res_puts/ in process_puts
Jim Cromie [Sun, 10 Apr 2016 13:46:40 +0000]
add pod for PUT
Jim Cromie [Sun, 10 Apr 2016 06:15:31 +0000]
grind_print: adjust for labels
since HEAD~1, data is stored by the label, not the perlname.
simplify grind-print based upon this.
Jim Cromie [Sun, 10 Apr 2016 06:06:50 +0000]
store data using unique label, not perl-exe, which may be used 2x
Since we want that a perl-name can be used in 2 separate PUTs, we
cannot use it alone to store PUT results. Instead, use the PUTs
labels, which are enforced unique.
And use "$test/$label" instead of "$test/$perl" in debug msg, since
thats how we store it now.
This change has downstream data-indexing ramifications, which are not
fully understood yet, and which are NOT handled here.
Jim Cromie [Sun, 10 Apr 2016 05:20:10 +0000]
Porting/bench.pl: allow per-PUT (perl under test) options and modules
Rework process_perls() to give a richer usage / API, allowing
additional command-line options, specific to each Perl-Under-Test.
For example:
bench.pl -- perl=plain perl=slower -Mstrict -DmpMA
The above runs the same perl-exe for 2 different tests (PUTS), but
adds expensive debugging options to only the 2nd PUT.
Do this by changing strategy; we scan the list backwards, and
test/treat each item as a perlexe (ie qx/$perlexe -e 'print "ok"/).
Instead of dieing on a not-perl, they're collected and submitted as a
PUT once a $perlexe is found.
Added 'require_order' to terminate arg processing when '--' is
encountered on cmdline; without it the PUT options are in-validated by
GetOptions.
Jim Cromie [Sun, 10 Apr 2016 04:51:48 +0000]
Porting/bench.pl: protect against data loss
Due to %data storage using $perl_name (rather than $label),
blead silently loses data when running like so:
perl Porting/bench.pl -- perl perl
patch complains about above, but allows following:
perl Porting/bench.pl -- perl=FOO perl=BAR
With this 1/2 fix, we can further probe the underlying key probs,
evident in the results from above
...
loop::for::lex_range4
empty for loop with lexical var and 4 integer range
BAR BAR
------ ------
Ir 100.00 100.00
Dr 100.00 100.00
Jim Cromie [Sun, 10 Apr 2016 04:45:25 +0000]
prep grind-run to accept args from PUTs
Jim Cromie [Sun, 10 Apr 2016 04:33:10 +0000]
Porting/bench.pl: --verbose assist on tests failure
with --verbose, --tests=foo will fail loudly, so user can pick a test.
Tony Cook [Wed, 15 Jun 2016 00:11:26 +0000]
(perl #128199) rmscopy() is VMS specific and not exported
The first is kind of implied by the text, but make it explicit.
Added minor punctuation fixes suggested by Reuben Thomas.
Chris 'BinGOs' Williams [Tue, 14 Jun 2016 17:19:40 +0000]
Fix customised for Encode
Chris 'BinGOs' Williams [Tue, 14 Jun 2016 16:42:32 +0000]
Update META.json after JSON-PP update
Sullivan Beck [Tue, 14 Jun 2016 16:33:26 +0000]
[PATCH] Bump Locale-Codes from 3.38 to 3.39
Signed-off-by: Chris 'BinGOs' Williams <[email protected]>
Chris 'BinGOs' Williams [Tue, 14 Jun 2016 16:26:00 +0000]
Update JSON-PP to CPAN version 2.27400
[DELTA]
2.27400 2016-04-23
[JSON::PP] appleid and merged long term neglected patches & PRs.
thanks to charsbar
- document patches
by AM909, leon[at]astray.com, dsteinbrunner, jwilk, alfiedotwtf
- modified Makefile.PL to set UNINST=1 if needed on old perls
by dagolden
- decode decimals to Perl's internal NV type
by dagolden
see to https://github.com/makamaka/JSON-PP/commits/master
Chris 'BinGOs' Williams [Tue, 14 Jun 2016 16:24:30 +0000]
Update HTTP-Tiny to CPAN version 0.058
[DELTA]
0.058 2016-05-03 11:29:57-04:00 America/New_York
- No changes from 0.057
0.057 2016-04-18 10:17:00-04:00 America/New_York (TRIAL RELEASE)
[ADDED]
- Added support for the SSL_CERT_FILE environment variable.
- Added 'peer' attribute to force a connection to a particular
server.
- Added 'connected' method to allow introspection of persistent
connections.
- An array reference of redirection result hash references is included
in the final response hash reference (but only if redirects occur).
[CHANGED]
- Because folded headers are obsoleted in the revised RFCs, if CRLF is
found in header values followed by one or more spaces, they are all
replaced by a single space.
[FIXED]
- Per the RFC, control headers are now sent first before other headers
(which are sent in arbitrary order).
- Only well-known headers have their case canonicalized; all other
headers are sent in the case provided by the user.
- The 'keep_alive' option now also sets the SO_KEEPALIVE option
on the underlying socket to help with long-lived, idle connections.
- Request header field values are now validated against the RFC rules
(i.e. empty or else space-or-tab separated tokens of printable
characters).
Chris 'BinGOs' Williams [Tue, 14 Jun 2016 16:22:41 +0000]
Update Getopt-Long to CPAN version 2.49
[DELTA]
Changes in version 2.49
-----------------------
* Fix bug https://rt.cpan.org/Ticket/Display.html?id=114999
Thanks Roy Ivy III for finding and fixing this.
* Fix bug https://rt.cpan.org/Ticket/Display.html?id=113748
Thanks Tom Wyant for finding and fixing this.
David Mitchell [Tue, 14 Jun 2016 09:34:12 +0000]
APItest.xs: silence compiler warning
David Mitchell [Tue, 14 Jun 2016 09:24:30 +0000]
perlio.c: silence a couple of warnings
Dan Collins [Wed, 8 Jun 2016 20:26:07 +0000]
[perl #128313] test for memory leak in POSIX classes
David Mitchell [Mon, 13 Jun 2016 10:36:06 +0000]
POSIX.xs: avoid "defined but not used" warning
The static function not_here() is used for any methods that aren't
implemented. On Linux at least, *all* methods are implemented, so you get:
POSIX.xs:1639:1: warning: ‘not_here’ defined but not used [-Wunused-function]
not_here(const char *s)
Ensure at least one use of this function to avoid that warning.
A bit hacky, but I couldn't think of a better way.
Tony Cook [Mon, 13 Jun 2016 01:12:47 +0000]
perldelta for
31b6f23ed55c
Tony Cook [Tue, 1 Dec 2015 05:10:55 +0000]
[perl #126710] only touch pm_to_blib if files are copied
Add checks similar to what the Makefile would do: only copy the
files if the source file is newer than pm_to_blib
Father Chrysostomos [Sun, 12 Jun 2016 13:19:47 +0000]
[perl #128260] Fix \substr %h
This is a follow-up to
79409ac8, which propagated substr’s own lvalue
context to the first argument only if it was one that would not croak
at compile time.
We can’t propagate OP_REFGEN lvalue context to the first argument,
as it causes the same bug for which #128260 was originally reported;
namely, that it prevents a hash or array from being flattened, causing
an unflattened aggregate to follow code paths that expect only sca-
lars, resulting in assertion failures:
$ ./perl -Ilib -e '%h=1..100; print ${\substr %h, 0}'
Assertion failed: (SvTYPE(sv) != SVt_PVAV && SvTYPE(sv) != SVt_PVHV && SvTYPE(sv) != SVt_PVFM), function Perl_sv_2pv_flags, file sv.c, line 2924.
Abort trap: 6
$ ./perl -Ilib -e '@h=1..100; print ${\vec @a, 0, 1}'
Assertion failed: (SvTYPE(sv) != SVt_PVAV && SvTYPE(sv) != SVt_PVHV && SvTYPE(sv) != SVt_PVFM), function Perl_sv_2pv_flags, file sv.c, line 2924.
Abort trap: 6
H.Merijn Brand [Sun, 12 Jun 2016 09:37:03 +0000]
Update the notes on Synology/DSM
Father Chrysostomos [Sat, 11 Jun 2016 01:08:50 +0000]
[perl #128260] Fix lvalue cx for substr and vec
When lvalue context was applied to the substr and vec at compile time,
that context was propagated to the first argument. That meant that
substr %foo, 1, = 3;
would correctly die, but give the wrong op in the error message, say-
ing ‘in scalar assignment’ whereas ‘in substr’ is more appropriate.
Contrariwise,
(substr %foo, 1) = 3;
would apply list lvalue context to %foo, which does not die at compile
time and prevents flattening (that’s what allows %foo=... to work).
The unflattened hash would be passed to internal functions that only
expect scalars, resulting in assertion failures.
The fix is to introduce two new types of scalar lvalue context, namely
OP_SUBSTR and OP_VEC, and apply those to the first argument, causing
both the examples above to die at compile time with ‘Can't modify hash
dereference in substr’.
If the surrounding context is only potential modifiable context (such
as \substr), then that same non-fatal context is applied to the
first argument.
Father Chrysostomos [Fri, 10 Jun 2016 15:54:56 +0000]
op.c: Factor out common code for potential lv cx
Father Chrysostomos [Fri, 10 Jun 2016 15:49:59 +0000]
Make lv keys distinguish scalar/list cx properly
keys(%h) was special in that it did not use the same code path as
other ops that distinguish between scalar and list lvalue context.
Consequently, some scalar lvalue contexts worked:
keys %h = 3;
${\scalar keys %h} = 3;
sub { $_[0] = 3 }->(scalar keys %h);
foreach(scalar keys %h) { $_ = 3 }
grep { $_ = 3 } scalar keys %h;
substr keys %h, 0, = 3;
while others did not:
keys %h .= 0;
read FH, keys %h, 0;
Fixing other bugs in the same code paths without breaking keys (or
adding *more* exceptions) is harder to do if keys is not consistent.
So this commit allows .= and read to assign to keys, by using the same
internal code (scalar_mod_type) that determines whether %h assignment
is allowed. The logic is reversed (since %h is list-only and keys %h
is scalar-only), so where %h is a valid lvalue keys %h is not, and
vice versa.
Father Chrysostomos [Thu, 9 Jun 2016 19:30:14 +0000]
bisect-runner.pl: Correct --no-module-tests example
Copy-&-paste strikes again!
Lukas Mai [Sat, 11 Jun 2016 10:40:42 +0000]
pod/*: remove deprecated L<"section"> and L<section> syntax
Lukas Mai [Sat, 11 Jun 2016 10:39:18 +0000]
README*: remove deprecated L<"section"> and L<section> syntax
Lukas Mai [Sat, 11 Jun 2016 10:07:23 +0000]
perldeltas: remove deprecated L<"section"> and L<section> syntax
Lukas Mai [Sat, 11 Jun 2016 10:06:41 +0000]
handy.h: remove deprecated L<"section"> syntax
Lukas Mai [Sat, 11 Jun 2016 09:42:46 +0000]
perlsyn: remove deprecated L<"section"> syntax
... and fix a typo.
Yves Orton [Fri, 10 Jun 2016 11:34:37 +0000]
fixup, guard av_top_index() for null RExC_warn_text
Yves Orton [Fri, 10 Jun 2016 10:20:20 +0000]
move warning text to RExC_state (via RExC_warn_text)
This way we reuse the same AV each time, and avoid various refcount bookkeeping issues, all at a relatively modest cost (IMO)
Sandbox [Wed, 8 Jun 2016 21:15:41 +0000]
Updates CPAN.pm to ANDK/CPAN-2.14-TRIAL.tar.gz
Yves Orton [Wed, 8 Jun 2016 16:42:30 +0000]
[perl #128313] Fix leak in perl 5.24 with strict and regex posix char classes
This patch is a refinement of one written by Dan Collins.
Any thanks for this patch should go to him.
Tony Cook [Wed, 8 Jun 2016 06:41:38 +0000]
perldelta for the
79881ad71252 merge
Tony Cook [Wed, 8 Jun 2016 05:12:37 +0000]
Only produce perlio debug output when the -Di switch is supplied
Craig A. Berry [Thu, 14 Apr 2016 19:23:52 +0000]
(perl #127380) Update PERLIO_DEBUG documentation.
Now defaults to stderr if unspecified, and requires -Di (and thus
-DDEBUGGING).
TonyC: modify a couple of verbatim lines to bring them under the limit
enforced by the new podcheck.t changes
Tony Cook [Thu, 7 Apr 2016 05:35:42 +0000]
(perl #127380) default PERLIO_DEBUG/-Di to use STDERR
This includes under taint, just as other -D switches write to stderr
when taint is on.
Tony Cook [Tue, 3 May 2016 00:41:15 +0000]
(perl #127380) add tests for -Di
Tony Cook [Mon, 28 Mar 2016 03:58:56 +0000]
(perl #127380) only trace to $PERLIO_DEBUG if -Di is supplied
Chad Granum [Tue, 7 Jun 2016 15:04:02 +0000]
Update to Test-Simple 1.302026
- Fix SHM leak
- Update Porting/Maintainers.pl
Father Chrysostomos [Tue, 7 Jun 2016 21:36:58 +0000]
Porting/todo.pod: refaliasing needs fixing still
I don’t know when I’ll be able to get to this. This seems like a good
place to jot down the ideas that existed only in my head till now.
Father Chrysostomos [Tue, 7 Jun 2016 21:17:38 +0000]
Porting/todo.pod: Suggest Deparse improvements
David Mitchell [Tue, 7 Jun 2016 16:41:20 +0000]
op/lex_assign.t: fix intermittent failures
The bulk of this test script tests whether ops which are capable of
the OA_TARGLEX optimisation return the same results with lexical and
package var assignments, i.e.
my $a;
$a = OP;
$b = OP;
is($a,$b);
When OP is 'time', the two calls can return different times, resulting in
occasional intermittent failures. So move time into it's custom test which
can cope with a delta of 1.
Similarly if the op is <*>, parallel testing can result in temporary files
appearing in the current directory, resulting in different returns.
However, since glob doesn't actually have the 'T' (OA_TARGLEX) set in
regen/opcodes, this test is moot - so skip it.
If glob ever does ever get OA_TARGLEX, and so need to be tested, it may
require some subtlety, such as globbing for a pattern that won't match any
temporary files.
Chris 'BinGOs' Williams [Tue, 7 Jun 2016 14:49:51 +0000]
Fix Pod-Checker version
Father Chrysostomos [Tue, 7 Jun 2016 05:30:17 +0000]
Porting/todo.pod: Add note to ‘repack the optree’
Father Chrysostomos [Tue, 7 Jun 2016 05:26:11 +0000]
Porting/todo.pod: Hey, we have refaliasing
Father Chrysostomos [Tue, 7 Jun 2016 05:25:19 +0000]
Porting/todo.pod: Rmv ‘LVALUE functions for lists’
$ ./perl -Ilib -e 'sub foo :lvalue{@hash{"foo","bar"}} (foo) = (3,4); use Data::Dumper; warn Dumper \%hash'
$VAR1 = {
'foo' => 3,
'bar' => 4
};
$ ./perl -Ilib -e 'sub foo :lvalue{@arr[1,2]} (foo) = (3,4); use Data::Dumper; warn Dumper \@arr'
$VAR1 = [
undef,
3,
4
];
Apparently slices do work.
Father Chrysostomos [Tue, 7 Jun 2016 05:21:11 +0000]
Porting/todo.pod: Update file name in ‘truncate() prototype’
Father Chrysostomos [Tue, 7 Jun 2016 05:19:46 +0000]
Porting/todo.pod: Point out problem with readpipe(LIST)
Father Chrysostomos [Tue, 7 Jun 2016 05:13:42 +0000]
Porting/todo.pod: Suggest documenting XS & lex subs
Father Chrysostomos [Tue, 7 Jun 2016 05:11:15 +0000]
Porting/todo.pod: Delete strcat/strcpy test entry
We have t/porting/libperl.t.
Tony Cook [Tue, 7 Jun 2016 05:11:44 +0000]
perldelta for
0a44e30b028e99
Dan Collins [Tue, 7 Jun 2016 01:04:46 +0000]
[perl #127333] add warning for until(assignment)
while ($a = 1) emits a warning "Found = in conditional, should be ==".
However, until ($a = 1) does not. The parser breaks down until
(condition) into while (!(condition)), which defeats the check in
S_scalarboolean, since it is looking for a conditional that /is/ an
assignment, but we have a conditional that is a thinly veiled assignment.
A similar bug is [perl #127122]. That bug was fixed by treating
unless (a) {b} else {c} as if (a) {c} else {b}, instead of treating it
as if (!a) {b} else {c}. That approach will not work here.
Instead, the test in S_scalarboolean has been widened. It previously
looked for an OP_SASSIGN with op_first OP_CONST, it now also detects an
OP_NOT surrounding that construct.
Tests for both while() and until() were also added to t/lib/warnings/op.
Tony Cook [Tue, 7 Jun 2016 01:30:03 +0000]
skip a Tets-Simple test that's leaking shm blocks
Reported upstream as
https://github.com/Test-More/test-more/issues/679
Karl Williamson [Mon, 6 Jun 2016 21:12:53 +0000]
Porting/todo.pod: Don't need pod fixes anymore
I recently fixed just about all the core perl pod errors that are
fixable, so this task can be considered completed.
Andy Lester [Mon, 6 Jun 2016 19:13:53 +0000]
Fix compiler warning -Wuninitialized
Father Chrysostomos [Mon, 6 Jun 2016 20:41:39 +0000]
Increase $XS::APItest::VERSION to 0.82
Father Chrysostomos [Mon, 6 Jun 2016 20:40:12 +0000]
Add intro_my to XS::APItest::lexical_import
so that code thieves will have some correct code to steal.
Without intro_my(), the lexical subs installed in a ‘use’ block will
not be visible to the following statement, but only the one after it.
BEGIN blocks already get intro_my called, so it worked already with a
BEGIN block, but not with ‘use’.
Tony Cook [Mon, 6 Jun 2016 00:43:48 +0000]
(perl #127993) test reporting of multiple conflict markers
Lukas Mai [Sat, 4 Jun 2016 11:05:36 +0000]
use yyerror instead of croaking immediately (RT #127993)
Dominic Hargreaves [Sun, 5 Jun 2016 10:44:51 +0000]
constant: don't skip the E2BIG test on Hurd, but improve comments
As Father Chrysostomos explained on [perl #128319] the previous change
was based on a misunderstanding of the purpose of the test, which is
only to test that constant.pm can create a dualvar out of $! which
has an error string, and nothing specifically to do with E2BIG.
The new comments, also suggested by Father Chrysostomos, make this more
clear.
Dominic Hargreaves [Sat, 4 Jun 2016 13:36:26 +0000]
constant: skip E2BIG test on GNU/Hurd
Hurd doesn't use 7 for E2BIG, so this string test would fail if the
test itself were more precise.
Lukas Mai [Sat, 4 Jun 2016 10:44:57 +0000]
fix bogus "at end of line" error message for "my (my $x, $y, $z)"
Lukas Mai [Sat, 4 Jun 2016 10:23:06 +0000]
spelling: s/delimeter/delimiter/
Father Chrysostomos [Fri, 3 Jun 2016 05:35:10 +0000]
[perl #128307] Fix ‘foo ? require : bar’
The lexer’s bareword-parser that kicks in after it sees ‘require’ was
getting confused by the single colon, since it assumed that if the
thing that followed began with a letter or colon it must be a package
or module name. Hence, require with : after it was parsed as
require "", but with a ‘bareword’ "". The lexer should be checking
for two colons, not just one.
Father Chrysostomos [Fri, 3 Jun 2016 05:10:04 +0000]
Don’t use yyerror for each($scalar) experiment err
This is a follow-up to
69e7f50e50.
69e7f50e50 resulted in yyerror
being called twice for the same error, resulting in double diagnos-
tics for where the error occurred:
$ ./perl -e 'keys $scalar, $1'
Experimental keys on scalar is now forbidden at -e line 1, near "$scalar,"
Type of arg 1 to keys must be hash or array (not scalar dereference) at -e line 1, near "$scalar,"
Execution of -e aborted due to compilation errors.
We don’t need ‘near "$scalar,"’ twice.
For the first one we should queue the error directly, using qerror()
(which yyerror itself normally calls), so we don’t get double
diagnostics.
Aaron Crane [Thu, 2 Jun 2016 18:11:12 +0000]
Add Configure probe for strerror_l()
As requested by khw++
Until the relevant symbol is used, HAS_STRERROR_L must be mentioned
explicitly in metaconfig.h.
This corresponds to metaconfig
d0838744f03cfe7642950ea91dd48f575d0bfd15.
Aaron Crane [Thu, 2 Jun 2016 18:04:49 +0000]
Add Configure probe for querylocale()
As requested by khw++
Until the relevant symbol is used, HAS_QUERYLOCALE must be mentioned
explicitly in metaconfig.h.
This corresponds to metaconfig
541f0dd272df4f9326996727898393ac8f6626f7.
Aaron Crane [Thu, 2 Jun 2016 17:56:02 +0000]
Rebuild Configure from current metaconfig
Relevant changes:
commit
5d3ffa97290d2d3d65a42a0ed8b69d945b661ee7
Author: H.Merijn Brand - Tux <
[email protected]>
Date: Sun May 29 15:30:33 2016 +0200
Finish.U isn't modified anymore
All changes accepted by upstream. One down, 164 to go
commit
5d805d83bd4663831594540ddadeeb6213d19736
Author: H.Merijn Brand - Tux <
[email protected]>
Date: Sat May 14 18:48:26 2016 +0200
Remove trailing whitespace on meta-lines in unit files
This change has also been proposed as PR to dist upstream
commit
b9807b5fe3f4c97fa34e19b8a9b265f91f0e4aca
Author: H.Merijn Brand - Tux <
[email protected]>
Date: Sat May 14 18:30:03 2016 +0200
Merged changes to Finish.U
Craig A. Berry [Thu, 2 Jun 2016 12:18:20 +0000]
Get EUMM basic.t passing again on Win32.
There are dueling uses of PERL_CORE. On Windows, the FIXIN macro
assumes it can run pl2bat.bat from the installed Perl if PERL_CORE
is not set, so deleting PERL_CORE from the environment as this
test was doing makes you get the wrong one (or none at all).
But if PERL_CORE is set, the metafile target is not generated in
the Makefile, so you can't test that or things that depend on it
(e.g. disttest). So at least for now, get basic.t passing by
skipping those tests.
Sawyer X [Wed, 1 Jun 2016 09:21:33 +0000]
Renée Bäcker will be doing the October release, 5.25.10
Tony Cook [Wed, 1 Jun 2016 07:23:05 +0000]
allow ext/XS-APItest/t/win32.t to pass with both E: and T: drives
Encountered while testing locally on Windows 7 x64.
cmd.exe stores the current directory for each drive as entries in the
environment, like:
C:\Users\tony>set "" | findstr "^="
=::=::\
=C:=C:\Users\tony
=D:=D:\ASM1061
When a Win32 build of perl built with USE_IMP_SYS starts up it saves
the current directories of each drive in a per-thread structure so
that each pseudo-forked process can have it's own set of drive current
directories.
If you run an external command, some versions of cmd.exe will add
an entry to the environment storing the result of that command, for
example:
C:\Users\tony>set "" | find "ExitCode"
C:\Users\tony>git status
fatal: Not a git repository (or any of the parent directories): .git
C:\Users\tony>set "" | find "ExitCode"
=ExitCode=
00000080
which is similar to the current directory entries.
The sloppy parsing by VDir::FromEnv[WA]() would treat that as a
current directory entry for the E: drive, copying the "tCode=...."
into the current directory. Normally these values include a leading
drive letter and \, like "E:\", but this case leaves us without that.
Later, when harness spawns the child process it builds a new environment
block, including the drive current directories, which is done by
VDir::BuildEnvironmentSpace(). This, rather than using the index of
the drive to build the "=C:=..." entries above, uses the first
letter of the stored entry, so the environment block would have
something like:
t:=tCode=
00000080
which the child perl would treat as the current directory for the T:
drive.
Father Chrysostomos [Tue, 31 May 2016 13:32:16 +0000]
[perl #128294] bisect-runner.pl: --no-module-tests
Karl Williamson [Mon, 30 May 2016 16:39:05 +0000]
Unicode/UCD.t: better handling of errors
This now looks for the PERL_DIFF_TOOL environment variable, and if found
uses that to display some problems. If not found, it uses is(), with a
message that better output is available through setting this variable.
PERL_DIFF_TOOL is a convention I wasn't familiar with.
Jarkko Hietaniemi [Sat, 28 May 2016 17:56:27 +0000]
Add an example of the '0x' string format.
I am not certain that I find the 'leading zero means hex' format
recommendable ('0123' meaning '0x123', the octal format has poisoned
the well); but water under the bridge.
Samuel Thibault [Mon, 30 May 2016 15:11:00 +0000]
Modify hints for Hurd per Debian ticket 825020.
For: RT #128279
Patch written by Samuel Thibault, forwarded by Dominic Hargreaves.
Chad Granum [Mon, 30 May 2016 12:56:31 +0000]
Update Test-Simple in blead
This updates to the latest Test-Simple. This fixes several small bugs
including noisy STDERR in the test suite, and leaking TEMP files.
Father Chrysostomos [Sun, 29 May 2016 22:48:24 +0000]
op.c:S_my_kid: Remove obsolete comment
/* XXX does this let anything illegal in? */
The commit that added that comment indeed allowed ‘our $$x’ and even
‘my $$x’, so it was a problem at the time. It was this commit:
commit
77ca0c92d2c0e47301d906d355d9ab3afb6f6bcb
Author: Larry Wall <
[email protected]>
Date: Fri Sep 24 14:59:37 1999 -0700
Re: [PATCH 5.005_61] "our" declarations
This commit fixed the problem:
commit
b6512f489e761186d508cf0b8b7705805cfefc52
Author: Mark-Jason Dominus <
[email protected]>
Date: Mon Dec 24 13:14:48 2001 -0500
PATCH: Restore "Can't declare scalar dereference in my" error
so the comment is no longer relevant.
Father Chrysostomos [Sun, 29 May 2016 21:18:07 +0000]
[perl #128266] libperl.t: Ignore $UNIX2003 suffix
Dominic Hargreaves [Sat, 28 May 2016 14:51:53 +0000]
ext/POSIX/t/sigaction.t: Skip uid and pid tests on GNU/Hurd
SA_SIGINFO does not include uid and pid on GNU/Hurd, and this is
unlikely to change in the near future, so skip these tests.
Thanks to Samuel Thibault for the report.
Bug-Debian: https://bugs.debian.org/825016
Karl Williamson [Wed, 25 May 2016 19:22:26 +0000]
podcheck.t: Include tr// and y// detection
These are like regular expressions, and for syntactic purposes can be
treated as such.
Karl Williamson [Fri, 27 May 2016 17:24:57 +0000]
Merge branch to update Pod::Checker into blead
This merge branch contains two commits, which should be considered
inseperable. The first updates Pod::Checker, and the second changes
podcheck.t to use the new Pod::Checker.
This is the biggest remaining step in allowing Pod::Parser to be
removed from core. podcheck.t still uses Pod::Parser to extract just
the pod from files. That dependency can be removed when Pod::Simple
changes to allow equivalent functionality, something I myself am working
on.
There are two cpan .t files (both in pod2usage) that use subcomponents
of Pod::Parser (Pod::Find and Pod::PlainText). There appears to be
similar functionality in Pod::Simple, so that shouldn't be too hard to
fix, but I haven't looked further than finding that these aren't drop-in
replacements. The pod2usage maintainer has been notified.
Karl Williamson [Wed, 25 May 2016 17:10:18 +0000]
podcheck.t: Use new Pod::Checker
podcheck.t extends the Pod::Checker class. Pod::Checker has been
rewritten to base off of Pod::Simple instead of Pod::Parser, and so
podcheck.t must switch to use use the completely new methods defined.
Karl Williamson [Wed, 25 May 2016 17:10:23 +0000]
Update Pod::Checker to CPAN version 1.72
This is now based on Pod::Simple instead of Pod::Parser
podcheck.t will fail until the next commit is done.
Karl Williamson [Thu, 26 May 2016 23:33:32 +0000]
Subject: Pod::Checker: convert files from DOS to unix
This is in preparation for applying patches to these. git am failed on
these. Only files that need to be DOS should be.
The version is bumped to 1.72, which is what version the real patches
are from.
Karl Williamson [Wed, 25 May 2016 16:40:51 +0000]
podcheck.t: Move a declaration
This just moves a variable declaration and initialization to elsewhere
in the file where it can be used in a different place in a future
commit. And it is now placed where it is more visible, as it really is
a program-level definition.
The code is outdented as well, and the comment unwrapped to be on a
single line, but no other changes were made.
Karl Williamson [Thu, 3 Mar 2016 21:24:39 +0000]
regcomp.c: Add shortcuts to some inversion list ops
When taking the union or intersection of two inversion lists, not
infrequently the result is the same as one of the inputs. An example is
the union of a set that contains all code points with any other set.
The result is the set that contains all code points. Also, not
infrequently, the result is to overwrite one of the inputs. If the
other input contributed nothing to the result, the whole operation is
effectively a no-op, as the result has the same contents as the input it
overwrites.
It turns out that it is cheap to keep track of if just one input
contributes to the result. This commit does that, and short-circuits
the rest of the code if it is going to turn out to be a no-op.
Karl Williamson [Thu, 26 May 2016 01:23:57 +0000]
ext/VMS-DCLsym/DCLsym.pm: Fix missing pod reference
This looks like it was meant to point to a later heading or item in the
document, but which was removed at some point, with the reference left
dangling. I confirmed with Craig Berry that what it is referring to is
the text in the next paragraph.
Karl Williamson [Wed, 25 May 2016 04:14:59 +0000]
Devel::Peek: Fix a couple of pod glitches
Karl Williamson [Wed, 25 May 2016 01:35:17 +0000]
porting/dual-life.t: Clarify test messages
This changes the message output by the ok() sub to show precisely what
is being tested
David Mitchell [Wed, 25 May 2016 18:15:27 +0000]
fix locale.c under -DPERL_GLOBAL_STRUCT(_PRIVATE)
With that build option initialised statics aren't allowed (no BSS).
So just disable using $ENV{PERL_DEBUG_LOCALE_INIT} under
-DPERL_GLOBAL_STRUCT.
David Mitchell [Wed, 25 May 2016 17:50:10 +0000]
porting/libperl.t: better diag output
when it complains about unexpected BSS symbols, list them