This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Jarkko Hietaniemi [Sun, 14 Aug 2016 14:16:55 +0000 (10:16 -0400)]
Follow-up on
a149d118.
The added tests were meant only for x86-80-bit long doubles,
but were accidentally run also on 128-bit doubles (quadmath,
or probably also on true IEEE 754 quadruples).
Yves Orton [Sun, 14 Aug 2016 11:56:56 +0000 (13:56 +0200)]
first step to documenting the Internals namespace
After discussion, we have decided to document Internals. This is a
first step doing so, with lib/Internals.pod. At the same time I
updated sv.h that there were equivalents for SvREFCNT and SvREADONLY
in the Internals namespace, this required adding docs for SvREADONLY.
I also tweaked the test name in Porting/Maintainers.pm
so that it pointed at Porting/Maintainers.pl to make it more obvious
how to specify a maintainer for a new file.
Yves Orton [Mon, 8 Aug 2016 18:06:01 +0000 (20:06 +0200)]
Move hash introspection routines into Hash::Util/Util.xs and out of universal.c
Yves Orton [Mon, 8 Aug 2016 17:48:01 +0000 (19:48 +0200)]
s/XS_hash_util_/XS_Hash_Util_/g
Yves Orton [Mon, 8 Aug 2016 17:35:49 +0000 (19:35 +0200)]
move a declaration so that the Internals:: functions are grouped together
Yves Orton [Mon, 8 Aug 2016 16:53:20 +0000 (18:53 +0200)]
move Internals::hv_clear_placeholders() to Hash::Util::_clear_placeholders()
There is no reason for this code to be in Internals:: or in universal.c at
all, it should only be used from Hash::Util during things like lock_keys().
Moves the function to the XS code in Hash::Util, and renames it as well,
along with commented out documentation for what it does.
Jarkko Hietaniemi [Sat, 13 Aug 2016 23:13:58 +0000 (19:13 -0400)]
[perl #128919] limited exponent range in hex fp literal with long double
Father Chrysostomos [Sat, 13 Aug 2016 21:30:56 +0000 (14:30 -0700)]
perldiag: Rewrap an entry for better splain output
In an eighty-column terminal, this is what it looked like before
this commit:
$ ./perl -Ilib -Mdiagnostics -E 'state ($x)=1'
Initialization of state variables in list context currently forbidden at -e line 1, at EOF
Execution of -e aborted due to compilation errors (#1)
(F) state only permits initializing a single scalar variable, in scalar
context. So state $a = 42 is allowed, but not state ($a) = 42. To apply
state semantics to a hash or array, store a hash or array reference in a sca
lar
variable.
Smylers [Fri, 12 Aug 2016 15:34:17 +0000 (16:34 +0100)]
Remove claim that state @a will be supported
perldiag doesn't seem to be the right place to announce future changes to
Perl, especially since this claim was made 9 years ago, in
6dbe9451, and
doesn't show any sign of becoming true.
Father Chrysostomos [Fri, 12 Aug 2016 22:28:35 +0000 (15:28 -0700)]
More AUTHORS sorting
Jarkko Hietaniemi [Fri, 12 Aug 2016 23:08:56 +0000 (19:08 -0400)]
Avoid test noise on non-longdouble.
Jarkko Hietaniemi [Fri, 12 Aug 2016 21:36:58 +0000 (17:36 -0400)]
[rt.perl.org #128909] printf %a mishandles exponent-crossing rounding with long double
Jarkko Hietaniemi [Fri, 12 Aug 2016 21:30:25 +0000 (17:30 -0400)]
Bogus skip count.
Didn't break anything but still bogus.
Father Chrysostomos [Fri, 12 Aug 2016 21:35:33 +0000 (14:35 -0700)]
universal.c:XS_re_regnames_count: redundant code
If we croak when items != 0, then SP -= items is a no-op, as is PUTBACK.
Father Chrysostomos [Fri, 12 Aug 2016 15:43:39 +0000 (08:43 -0700)]
scope.c: Appease C++
C++ is dumb.
Father Chrysostomos [Fri, 12 Aug 2016 15:37:37 +0000 (08:37 -0700)]
gv.c:require_tie_mod: Make var name a char param
This reduces machine code size a little and simplifies
require_tie_mod.
On a non-debugging Linux GCC build with -O2:
Before:
$ ls -l gv.o
-rw-r--r-- 1 sprout p5p 88704 Aug 12 07:29 gv.o
After:
$ ls -l gv.o
-rw-r--r-- 1 sprout p5p 88656 Aug 12 17:29 gv.o
Father Chrysostomos [Fri, 12 Aug 2016 15:31:43 +0000 (08:31 -0700)]
perlcall: Remove redundant dSP
call_argv does not use a stack pointer. This example has had the
redundant dSP since perl 5.000, presumably due to copying and
pasting from another example.
Jarkko Hietaniemi [Fri, 12 Aug 2016 12:12:41 +0000 (08:12 -0400)]
Test new hexfp fixes also on (x86 80-bit) long doubles.
David Mitchell [Fri, 12 Aug 2016 11:59:14 +0000 (12:59 +0100)]
leave_scope(): combine the SAVEt_*PTR branches
They're all the same, except for casts between different pointer types.
David Mitchell [Fri, 12 Aug 2016 11:33:08 +0000 (12:33 +0100)]
leave_scope(): eliminate a couple of local vars
Remove svp and i from the main loop and only declare them in the
inner scopes that require them. Where values get passing around in
goto restore_sv/restore_svp, pass the value in an unused a0/a2 var
instead.
Also eliminate the one use of the 'type' var within the loop - that way
the compiler doesn't have to hang on the value when executing the switch.
Makes the object code a bit smaller.
David Mitchell [Fri, 12 Aug 2016 08:59:42 +0000 (09:59 +0100)]
clean up leave_scope()
Rather than having a whole bunch of casting macros like
#define ARG0_SV MUTABLE_SV(arg0.any_ptr)
just add extra pointer types to the ANY union and directly do
arg0.any_sv
etc.
Also, rename arg0, arg1, arg2 to a0, a1, a2 and reverse their order;
previously if 3 args A,B,C were pushed onto the savestack, they were
popped as a0=C, a1=B, a2=A; now do it as a0=A, a1=B, a2=C. The previous
(rather odd) order was an artifact of the old way leave_scope() used to
pop its args.
There should be no functional changes.
Jarkko Hietaniemi [Thu, 11 Aug 2016 23:53:30 +0000 (19:53 -0400)]
Fix on top of
75326c48.
Worked partly accidentally, and as a bonus caused asan
off-stack-variable read violations.
Jarkko Hietaniemi [Thu, 11 Aug 2016 22:19:00 +0000 (18:19 -0400)]
The new tests are valid only for IEEE 754 64-bit doubles.
The tests do not fail (I wish), they would just need to be different
for example for the 80-bt x86 long doubles, for example, which scale
differently:
perl -wle 'printf "%a\n", -1.5' # IEEE 754 64-bit
-0x1.8+0
perl -wle 'printf "%a\n", -1.5' # x86 80-bit
-0xcp-3
In any system:
perl -wle 'print -0x1.8p+0'
-1.5
perl -wle 'print -0xcp-3'
-1.5
See earlier in this file a long if-elsif chain when testing
the @hexfloat because of this very same reason.
Father Chrysostomos [Fri, 12 Aug 2016 01:20:56 +0000 (18:20 -0700)]
embed.fnc: sv_copypv is still API
This commit removed the A flag, causing the documentation to move from
perlapi to perlintern:
commit
4bac9ae47b5ad7845a24e26b0e95609805de688a
Author: Chip Salzenberg <chip@pobox.com>
Date: Fri Jun 22 15:18:18 2012 -0700
Magic flags harmonization.
But it is still API, even though it is implemented as a macro (and a mathomly function).
(This is one reason why checking in generated files can be helpful.
It avoids mistakes like this by making them more visible.)
Father Chrysostomos [Fri, 12 Aug 2016 01:12:40 +0000 (18:12 -0700)]
mathoms.c: Restore previous behaviour of sv_copypv
This commit made it a simple wrapper around the new sv_copypv_flags:
commit
4bac9ae47b5ad7845a24e26b0e95609805de688a
Author: Chip Salzenberg <chip@pobox.com>
Date: Fri Jun 22 15:18:18 2012 -0700
Magic flags harmonization.
But in so doing it changed the behaviour of the functional version
(Perl_sv_copypv), while preserving the existing behaviour in the new
macro (sv_copypv). The latter invokes get-magic, while the former
used to but stopped doing so.
Father Chrysostomos [Thu, 11 Aug 2016 06:10:02 +0000 (23:10 -0700)]
perlinterp.pod: typoes
Steve Hay [Fri, 12 Aug 2016 00:09:28 +0000 (01:09 +0100)]
Add epigraphs for 5.22.3-RC3 and 5.24.1-RC3
Steve Hay [Thu, 11 Aug 2016 21:19:34 +0000 (22:19 +0100)]
5.22.3-RC3 and 5.24.1-RC3 today
H.Merijn Brand [Thu, 11 Aug 2016 16:35:47 +0000 (18:35 +0200)]
Add probe for gai_strerror
Jarkko Hietaniemi [Thu, 11 Aug 2016 13:18:27 +0000 (09:18 -0400)]
[rt.perl.org #128893]: printf %a botches 0 flag for negative values
Jarkko Hietaniemi [Thu, 11 Aug 2016 13:15:21 +0000 (09:15 -0400)]
[rt.perl.org #128890]: printf %a rounds incorrectly
Jarkko Hietaniemi [Thu, 11 Aug 2016 13:12:04 +0000 (09:12 -0400)]
[rt.perl.org #128889]: printf %a mishandles negative pseudo-precision
(the fix for [rt.perl.org #128888] fixed also this one)
Jarkko Hietaniemi [Wed, 10 Aug 2016 23:06:03 +0000 (19:06 -0400)]
[rt.perl.org #128888]: printf %a mishandles zero precision
Jarkko Hietaniemi [Wed, 10 Aug 2016 23:47:19 +0000 (19:47 -0400)]
Jarkko Hietaniemi [Wed, 10 Aug 2016 23:13:36 +0000 (19:13 -0400)]
Add rt.perl.org reference for
b6d9b423
David Mitchell [Thu, 11 Aug 2016 11:07:07 +0000 (12:07 +0100)]
leave_scope(): pop args in each branch
About 4 years ago I heavily refactored Perl_leave_scope(). One of the
things I did was to pop the args for each action once at the top of the
loop. This involved a number of nested condtionals.
This commit makes each action (i.e. each switch branch) responsible
for copying its own args off the save stack, while the top of loop is
still responsible for decrementing PL_savestack_ix.
The gain is marginal, but it makes the code cleaner and the object code
smaller.
David Mitchell [Thu, 11 Aug 2016 08:37:39 +0000 (09:37 +0100)]
Carp: say what cluck() does
Nowhere did it actually describe what cluck does.
H.Merijn Brand [Thu, 11 Aug 2016 10:57:57 +0000 (12:57 +0200)]
Update Config::Perl::V to 0.27
Steve Hay [Thu, 11 Aug 2016 07:21:52 +0000 (08:21 +0100)]
Upgrade Encode from version 2.85 to 2.86
This incorporates all current blead customizations.
Karl Williamson [Wed, 10 Aug 2016 21:20:39 +0000 (15:20 -0600)]
PATCH: [perl #128867] Locale failures on FREE BSD
The main failure appears to be a bug in freebsd. Jim Keenan and I have
created a stand-alone C program, not involving Perl, that reproduces it,
which I will attach to the ticket. I have searched their bug db and not
found this reported, so will create a ticket against them.
Several of the failures are bugs in some of the locale definitions for
freebsd, like not all lowercase letters also being alphas. I will
report these as well, and adjust the allowable failure percentage for
this platform, if necessary, to get these to not fail the test at large.
The bug is that newlocale() and/or uselocale() are not working properly.
These are from POSIX 2008, and perl has not used them previously.
I sort of expected some platforms to have not implemented them properly;
this is the first one we've encountered that does so.
This changes the hints file so that it appears that uselocale() is not
on the system.
Father Chrysostomos [Wed, 10 Aug 2016 20:00:51 +0000 (13:00 -0700)]
pp_sort.c: Missing cast
This is a compilation error under C++.
Karl Williamson [Tue, 9 Aug 2016 19:35:41 +0000 (13:35 -0600)]
t/uni/parser.t: Fix failing test on VMS
Commit
2aa61ac397079a33eb3c36c2e7c1f41be224c657 caused this failure.
Simply turn off warnings, though this won't work once the deprecation is
made fatal.
Spotted by Craig Berry.
Karl Williamson [Mon, 8 Aug 2016 23:28:30 +0000 (17:28 -0600)]
Add Sergey Aleynikov to AUTHORS
Karl Williamson [Mon, 8 Aug 2016 23:22:54 +0000 (17:22 -0600)]
lib/locale_threads.t: Add new test file
This file tests locale and thread interactions. At the moment, it has
just one test, adapted from [perl #127708]. The adaptations include
placing it under t/test.pl, and using my knowledge of the underlying bug
cause to stress it more than the original by Sergey Aleynikov.
He says it fails nearly 50% of the time on an unpatched perl.
Karl Williamson [Wed, 10 Aug 2016 18:02:38 +0000 (12:02 -0600)]
Move some global destruction to where it belongs
Out of ignorance, I put this locale global destruction in the per-thread
destruction code, leading to segfaults on at least Darwin.
Karl Williamson [Wed, 10 Aug 2016 18:08:51 +0000 (12:08 -0600)]
Add some error checking/debugging for locale
We are starting to use libc functions for locale that have never been
used before. I previously hadn't bothered to check error returns on
things that "shouldn't" fail. But given that there may be bugs in
various vendors' implementations or documentation of these, and/or my
misreading of how to use them, it is warranted to actually do the
checking.
This also adds a couple of debug statements to lib/locale.t that I
wished were already there.
Steve Hay [Wed, 10 Aug 2016 16:56:40 +0000 (17:56 +0100)]
Note the provenance of the Encode customizations
(and request syncing in https://github.com/dankogai/p5-encode/issues/61)
Steve Hay [Wed, 10 Aug 2016 16:30:48 +0000 (17:30 +0100)]
Upgrade File-Fetch from version 0.48_01 to 0.50
David Mitchell [Wed, 10 Aug 2016 15:19:55 +0000 (16:19 +0100)]
in-place sort preserved element lvalue identity
RT #128340
The in-place sorting optimisation @a = sort @a, was preserving the
elements of @a rather than (logically) making copies. So make a copy
of any element whose refcount is greater than 1. This may not be the
perfect condition, but keeps performance for the common cases.
Note that several of the tests in t/op/sort.t actually relied on this
behaviour to test whether the sort was being in-placed, so I've added
tests for in-placing to t/perf/opcount.t instead.
See the previous commit for a general discussion of performance;
to the A, B, C in that commit message, here's a fourth column added:
D is like C but with this commit added:
A B C D
------ ------ ------ ------
Ir 5238.0 2324.0 2772.0 2801.0
Dr 1464.0 649.0 765.0 765.0
Dw 919.0 298.0 370.0 380.0
COND 782.0 320.0 405.0 405.0
IND 25.0 25.0 26.0 26.0
COND_m 14.9 13.0 17.0 17.1
IND_m 8.0 5.0 5.0 5.0
so it has little effect on performance.
David Mitchell [Wed, 10 Aug 2016 14:12:56 +0000 (15:12 +0100)]
Partially pessimise in-place sorting
There's currently an optimisation that converts at compile-time
@a = sort { .... } @a
into (approximately)
sort { ... } \@a
Then at run time, rather than passing an svp pointer to the appropriate
sort routine which points to a list of SV*'s on the stack, pp_sort()
passes a pointer to @a's AvARRAY. This allows the array to be sorted
in-place, which is more efficient.
However, it has some issues. First, the @a visible to the sort routine
will be varying, whereas logically it should still hold the original list
of values until after the '@a = ...' assignment.
Secondly, the mergesort algorithm cureently used internally, when in
mid-sort, temporarily stores pointers in the array which aren't pointers
to SVs - this means that if @a elements are accessed mid-sort, it can
crash.
The solution to both these problems is for pp_sort() to push the elements
of @a onto the stack at the beginning, sort the stack (like normal sorts
do), then copy back to @a at the end. This is less efficient than before,
but is still a lot more efficient than executing separate padav and
aassign ops.
Here are benchmark results in raw instruction counts etc (lower is better)
for the sort line in this code block:
my (@a, @b);
@a = reverse 1..10;
@b = sort { $a <=> $b } @a;
A is for a non-in-place sort, i.e. @b = sort ... @a;
B and C are for an inline sort, i.e. as above, but @a = sort ... @a;
where B is blead before this commit and C is this commit.
A B C
------ ------ ------
Ir 5238.0 2324.0 2772.0
Dr 1464.0 649.0 765.0
Dw 919.0 298.0 370.0
COND 782.0 320.0 405.0
IND 25.0 25.0 26.0
COND_m 14.9 13.0 17.0
IND_m 8.0 5.0 5.0
As can be seen, this partial pessimisation slows down in-place sorting by
round 20%, but overall in-place is still nearly twice the speed as without
the optimisation.
These are the figures for a plain numeric sort (which is optimised to use
a C comparison function); for other types of sort, the cost of the
comparator dominates, and so the slowdown is much less marked.
Steve Hay [Wed, 10 Aug 2016 13:13:26 +0000 (14:13 +0100)]
Add missing CUSTOMIZED entry for base.pm
and update customized.dat
Jarkko Hietaniemi [Sun, 7 Aug 2016 23:20:37 +0000 (19:20 -0400)]
hexfp: IEEE 754 subnormals printf %a
Steve Hay [Wed, 10 Aug 2016 12:54:26 +0000 (13:54 +0100)]
Exclude a new Pod-Perldoc test script for now, since it's failing in core
Failures on Win32/MSVC++ when dropped into core are:
not ok 3 - got expected output in STDOUT
# Failed test 'got expected output in STDOUT'
# at t/02_module_pod_output.t line 40.
# undef
# doesn't match '(?^:Look up Perl documentation)'
not ok 7 - got expected output in STDERR
# Failed test 'got expected output in STDERR'
# at t/02_module_pod_output.t line 73.
# ''perl' is not recognized as an internal or external command
,
# operable program or batch file.
# '
# doesn't match '(?^:No documentation)'
Steve Hay [Wed, 10 Aug 2016 12:24:22 +0000 (13:24 +0100)]
Upgrade Pod-Perldoc from vesion 3.25_03 to 3.27
Steve Hay [Wed, 10 Aug 2016 12:10:26 +0000 (13:10 +0100)]
Sync CPAN Locale::Maketext 1.28 with blead
David Mitchell [Wed, 10 Aug 2016 08:30:55 +0000 (09:30 +0100)]
dump.c: dump physical, not logical, AVs
Perl_do_sv_dump() (as used by Devel::Peek) dumped a logical AV - i.e.
if it was tied, it called tie methods to get its size and to get its
elements.
Instead, dump the physical fields in the AV - e.g. a tied AV will likely
have a FILL of -1 and no elements.
Steve Hay [Tue, 9 Aug 2016 16:55:29 +0000 (17:55 +0100)]
Upgrade Encode from version 2.84 to 2.85
This retains the customizations to Byte/Makefile.PL, encoding.pm and
various test scripts that have not yet been assimilated.
Steve Hay [Tue, 9 Aug 2016 16:36:33 +0000 (17:36 +0100)]
Upgrade Digest-SHA from version 5.95 to 5.96
Craig A. Berry [Tue, 9 Aug 2016 15:48:31 +0000 (10:48 -0500)]
Add Richard Levitte to AUTHORS.
Richard Levitte [Tue, 9 Aug 2016 15:22:56 +0000 (10:22 -0500)]
File::Spec::VMS->canonpath() incorrect with ODS-5 style directory specs.
I've found a bug in File::Spec::VMS->canonpath(), when a dash
component in a directory spec is preceded by a name containing an
escaped period.
My examples show quite clearly where things go wrong:
$ perl -e "use File::Spec::Functions; print canonpath('foo:[bar.coo.kie.--]')"
foo:[bar]
check!
$ perl -e "use File::Spec::Functions; print canonpath('foo:[bar^.coo.kie.--]')"
foo:[bar^.coo.-]
WRONG!
$ perl -e "use File::Spec::Functions; print canonpath('foo:[bar.coo^.kie.--]')"
foo:[bar.coo^.kie.--]
WRONG!
$ perl -e "use File::Spec::Functions; print canonpath('foo:[bar.coo.kie.-]')"
foo:[bar.coo]
check!
$ perl -e "use File::Spec::Functions; print canonpath('foo:[bar^.coo.kie.-]')"
foo:[bar^.coo]
check!
$ perl -e "use File::Spec::Functions; print canonpath('foo:[bar.coo^.kie.-]')"
foo:[bar.coo^.kie.-]
WRONG!
I've created a patch (attached) that solves the issue, with these
correct results (same paths)
[Committer's note: this fixes perl RT #128865]
Steve Hay [Tue, 9 Aug 2016 07:34:16 +0000 (08:34 +0100)]
Upgrade Test-Simple from version 1.302045 to 1.302049
Steve Hay [Tue, 9 Aug 2016 07:29:33 +0000 (08:29 +0100)]
Upgrade IO-Socket-IP from version 0.37 to 0.38
Karl Williamson [Thu, 4 Aug 2016 00:59:36 +0000 (18:59 -0600)]
perlhacktips: Add link for %formatting size_t args
Karl Williamson [Mon, 8 Aug 2016 21:48:24 +0000 (15:48 -0600)]
perlguts: Note how to print Size_t, SSize_t
Karl Williamson [Mon, 8 Aug 2016 21:28:10 +0000 (15:28 -0600)]
perldiag: YA case of too large code point breakage
This adds another case where having a code point above IV_MAX doesn't
work properly, and stresses there may be more.
Karl Williamson [Mon, 8 Aug 2016 21:11:03 +0000 (15:11 -0600)]
Add test for [perl #126606]
Karl Williamson [Mon, 8 Aug 2016 17:00:03 +0000 (11:00 -0600)]
perlop: Clarify tr/// casing statement
Karl Williamson [Mon, 8 Aug 2016 16:03:32 +0000 (10:03 -0600)]
perlop: Fix important typo
The text is saying don't mix case, and this typo was mixing case.
Chris 'BinGOs' Williams [Mon, 8 Aug 2016 12:00:30 +0000 (13:00 +0100)]
Update Archive-Tar to CPAN version 2.10
[DELTA]
2.10 27/07/2016 (TONYC)
- CVE-2016-1238: avoid loading optional modules from default .
Chris 'BinGOs' Williams [Mon, 8 Aug 2016 11:58:53 +0000 (12:58 +0100)]
Fix M::CL version
Chris 'BinGOs' Williams [Mon, 8 Aug 2016 11:56:21 +0000 (12:56 +0100)]
Update IPC-Cmd to CPAN version 0.96
[DELTA]
0.96 Thu Jul 28 11:17:12 BST 2016
Bug fixes:
* Require Module::Load::Conditional 0.66 to resolve
CVE-2016-1238: avoid loading optional modules from default .
David Mitchell [Mon, 8 Aug 2016 11:35:55 +0000 (12:35 +0100)]
Document -DDEBUGGING better
RT #128671 and http://nntp.perl.org/group/perl.perl5.porters/238127.
In particular, perlhacktips and perlrun contained out-of-date information
that setting -g would automatically set DEBUGGING too.
I've also improved the description of -DDEBUGGING in INSTALL, and
tried to make it clearer when the text is referring to the Configure
switch -DDEBUGGING and when to the C compiler switch -DDEBUGGING.
Chris 'BinGOs' Williams [Mon, 8 Aug 2016 11:12:30 +0000 (12:12 +0100)]
Update ExtUtils-MakeMaker to CPAN version 7.22
[DELTA]
7.22 Mon Aug 8 09:29:02 BST 2016
No changes since 7.21_01
7.21_01 Sun Aug 7 10:37:53 BST 2016
Bug fixes:
- CVE-2016-1238: instmodsh sanitise @INC
7.20 Fri Aug 5 09:39:56 BST 2016
No changes since 7.19_08
7.19_08 Thu Jul 28 12:31:13 BST 2016
Bug fixes:
- CVE-2016-1238: avoid loading VMS::Feature from the default .
7.19_07 Sun Jul 3 15:11:40 BST 2016
Bug fixes:
- Restore ordering issue involving OTHERLDFLAGS
7.19_06 Mon Jun 27 12:32:06 BST 2016
Test fixes:
- Skip subdirscomplex test on VMS
7.19_05 Mon Jun 20 15:21:52 BST 2016
Doc fixes:
- fix typos and add subdirs text to MakeMaker.pm
7.19_04 Tue Jun 14 11:16:19 BST 2016
Bug fixes:
- prevent EUMM::Locale from warning with old Win32.pm
Doc fixes:
- added examples for running tests in subdirs
7.19_03 Mon Jun 13 14:22:46 BST 2016
Bug fixes:
- Fix test warnings in MM_Unix.pm when in core
7.19_02 Mon Jun 13 09:57:37 BST 2016
Bug fixes:
- Check for ascii locale using normalized name
7.19_01 Thu Jun 2 14:26:20 BST 2016
Bug fixes:
- Cygwin: avoid libperl.dll.dll.a
- Fix basic.t tests on Win32 in core
David Mitchell [Mon, 8 Aug 2016 10:31:13 +0000 (11:31 +0100)]
perldelta for OP_SIGELEM work
Steve Hay [Mon, 8 Aug 2016 07:30:49 +0000 (08:30 +0100)]
Upgrade libnet from version 3.09_01 to 3.10
Lukas Mai [Mon, 8 Aug 2016 01:09:54 +0000 (03:09 +0200)]
INCMARK is a statement now; don't cast it
Father Chrysostomos [Sun, 7 Aug 2016 22:53:40 +0000 (15:53 -0700)]
Unify mark macros
Use static inline functions to avoid having different code paths
for GCC and non-GCC. INCMARK is unused on CPAN and only used as
a statement in core, so it can become a statement.
Karl Williamson [Sun, 7 Aug 2016 00:55:23 +0000 (18:55 -0600)]
perlvar: Emphasize that $] has unchanged behavior forever
Also add a link
Shlomi Fish [Sat, 2 Apr 2016 22:43:37 +0000 (01:43 +0300)]
Correct spelling errors: lib/unicore/mktables
All tests appear to pass. I hereby disclaim any explicit or implicit
ownership of my changes and place them under the
public-domain/CC0/X11L/same-terms-as-Perl/any-other-license-of-your-choice
multi-license.
Thanks to Vim's ":help spell" for helping a lot.
James E Keenan [Sat, 13 Feb 2016 01:36:25 +0000 (20:36 -0500)]
Document that return value of pos(), by default, expresses characters.
When 'use bytes' is in effect, the return value expresses bytes.
Revise documentation and add some tests exemplifying this.
On recommendation of Jason Gibson.
For: RT # 127518
Father Chrysostomos [Sat, 6 Aug 2016 04:28:39 +0000 (21:28 -0700)]
toke.c: Clarify comment
Karl Williamson [Fri, 5 Aug 2016 22:47:03 +0000 (16:47 -0600)]
handy.h: Clarify comment
Karl Williamson [Fri, 5 Aug 2016 22:46:28 +0000 (16:46 -0600)]
Improve isOCTAL() definition
This potentially saves a branch
Karl Williamson [Fri, 5 Aug 2016 20:19:31 +0000 (14:19 -0600)]
APItest: Add tests for isOCTAL
James E Keenan [Fri, 5 Aug 2016 23:43:47 +0000 (19:43 -0400)]
Note upgrade of NEXT to version 0.67.
Neil Bowers [Fri, 5 Aug 2016 23:42:15 +0000 (19:42 -0400)]
Update NEXT to CPAN version 0.67.
Karl Williamson [Fri, 5 Aug 2016 18:50:43 +0000 (12:50 -0600)]
t/op/tr.t: Fix to pass in EBCDIC
I forgot to do this in
3a34ca0bce7835211b45e070373cf653c253636a
Karl Williamson [Thu, 4 Aug 2016 20:07:53 +0000 (14:07 -0600)]
PATCH: [perl #128738] Large code pt as string delim
The bug here is simply an I32 was used when an IV was needed.
One could argue that there should be that the parser should refuse to
accept something larger than an IV. I chose not to do that, as this is
a deprecated usage, which generates a warning by default and will be a
syntax error anyway in a future release.
Father Chrysostomos [Fri, 5 Aug 2016 18:28:08 +0000 (11:28 -0700)]
XSLoader Makefile.PL: Note a possible pitfall
Karen Etheridge [Fri, 5 Aug 2016 17:16:40 +0000 (10:16 -0700)]
add "provides" metadata for XSLoader (RT#138836)
This avoids confusing tools like cpanm and carton which use 'provides'
metadata, and are not able to infer the correct data here because
XSLoader_pm.PL is used to generate XSLoader.pm, but then XSLoader.pm is
deleted before cpanm can see it.
Father Chrysostomos [Fri, 5 Aug 2016 07:30:02 +0000 (00:30 -0700)]
Consistent spaces after dots in perldiag
Father Chrysostomos [Fri, 5 Aug 2016 07:18:51 +0000 (00:18 -0700)]
Sort perldiag
Father Chrysostomos [Fri, 5 Aug 2016 07:09:10 +0000 (00:09 -0700)]
AUTHORS: consistent indent
Father Chrysostomos [Fri, 5 Aug 2016 07:06:21 +0000 (00:06 -0700)]
Rmv duplicate AUTHORS entry for Stéphane Payrard
Father Chrysostomos [Fri, 5 Aug 2016 07:02:05 +0000 (00:02 -0700)]
Remove duplicate Mark Fisher AUTHORS entry
Father Chrysostomos [Fri, 5 Aug 2016 07:00:46 +0000 (00:00 -0700)]
AUTHORS: some sorting
Father Chrysostomos [Fri, 5 Aug 2016 06:24:18 +0000 (23:24 -0700)]
Add Chris Travers to AUTHORS
Father Chrysostomos [Fri, 5 Aug 2016 06:23:09 +0000 (23:23 -0700)]
[perl #128769] Improve base.pm @INC . message
The new version is based on one written by Chris Travers, polished
up a bit by yours truly.
Father Chrysostomos [Fri, 5 Aug 2016 00:45:42 +0000 (17:45 -0700)]
gv.c:require_tie_mod: Create namesv only when needed
We only need it as an SV when we are going to load a module. We can-
not share the SV with Perl_load_module, is ck_require mangles it
("Errno" → "Errno.pm"). The other uses of the SV are unnecessary, as
we have pv interfaces available.
Father Chrysostomos [Thu, 4 Aug 2016 21:29:48 +0000 (14:29 -0700)]
Rationalise gv.c:gv_magicalize
This code is confusing, and confusion has resulted in bugs. So rework
the code a bit to make it more comprehensible.
gv_magicalize no longer has such an arcane return value. What it does
now is simply add appropriate magic to (or do appropriate vivification
in) the GV passed as its argument. It returns true if magic or vivi-
fication was applicable.
The caller (gv_fetchpvn_flags) uses that return value to determine
whether to install the GV in the symbol table, if the caller has
requested that a symbol only be added if it is a magical one
(GV_ADDMG).
This reworking does mean that the GV is now checked for content even
when it would make no difference, but I think the resulting clarity
(ahem, *relative* clarity) of the code is worth it.