This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Thu, 14 Aug 2014 17:56:03 +0000 (11:56 -0600)]
Add sync_locale()
This trivial function is to be used by XS code when it changes the
program's locale. It hides the details from that code of what needs to
be done, which could change in the future.
Karl Williamson [Thu, 14 Aug 2014 17:37:23 +0000 (11:37 -0600)]
perldata: Fix too long verbatim lines
Jarkko Hietaniemi [Tue, 12 Aug 2014 12:39:40 +0000 (08:39 -0400)]
Hexadecimal float literals, for perl #122219
Do not use system strtod/strtold since its C99 (which we do not require).
If we can fit the mantissa bits of a NV to a UV (which is the case for
the most common format, 64-bit IEEE 754 double, which has 52 mantissa bits)
we will use that, and only in the end convert to NV. If we cannot fit
the bits, accumulate the bits incrementally to a NV.
Jarkko Hietaniemi [Tue, 12 Aug 2014 12:30:56 +0000 (08:30 -0400)]
Hexadecimal float sprintf, for perl #122219
Do not use the system sprintf since %a/%A is C99 (which we do not
require), and even if we did, there is room for interpretation
(for example whether to print trailing zeros or not) which means
that existing implementations will inevitably differ.
For the most common case, 64-bit doubles of IEEE 754, use first
frexp to extract the exponent, and then ldexp to scale the result
to a 64-bit unsigned integer.
For long doubles (80-bit or 128-bit) we look directly at the mantissa
(also known as fraction, or significand) bytes, and their 4-bit nybbles,
and extract them in correct order.
Since we bypass system printf, we need to do our own aligning, filling,
rounding, and other printf logic.
Jarkko Hietaniemi [Mon, 11 Aug 2014 15:58:27 +0000 (11:58 -0400)]
Perl_ldexp is one of ldexpl, scalbnl, or ldexp
Jarkko Hietaniemi [Mon, 11 Aug 2014 15:55:01 +0000 (11:55 -0400)]
Configure scan for ldexpl
Jarkko Hietaniemi [Sun, 10 Aug 2014 23:46:12 +0000 (19:46 -0400)]
Configure scan for the kind of long double we have
(Somewhat like quadkind, but for the format of the long double)
Father Chrysostomos [Thu, 14 Aug 2014 00:59:32 +0000 (17:59 -0700)]
Stop defined(aassign) from being an error
(See the thread starting at
<
20140813010036.15038.qmail@lists-nntp.develooper.com>.)
This commit changed the message 'defined(@...) is deprecated' into
a hard error:
commit
e35475dec7197e291306173beba241d4e43bd5b2
Author: Karl Williamson <khw@cpan.org>
Date: Mon Jun 16 18:56:44 2014 -0600
Fatalize defined(@) and defined{%)
As I pointed out a couple of years (?) ago, this warning was also
showing up in places that did not involve checking the definedness of
an array; namely, defined(any list assignment):
$ perl -we '$_ = defined(my($a,$b)=3)'
defined(@array) is deprecated at -e line 1.
(Maybe you should just omit the defined()?)
While checking that a list assignment evaluated in scalar context is
useless, as the result (a number) will always be defined, there is no
reason why this code should be any more invalid than ‘rand() > -1’ or
‘defined(time)’. But now it has inadvertently become a hard error.
This commit simply removes the error for defined(aassign), under the
possibly false assumption that such a mistake will be rare, so it is
not worth clutting up perl itself with a special case for it. Whether
that assumption is true remains to be seen. In any case, in the
absence of any data, smaller is better, is it not?
Karl Williamson [Wed, 13 Aug 2014 22:04:52 +0000 (16:04 -0600)]
locale.c: Clarify comment
Karl Williamson [Wed, 13 Aug 2014 22:02:00 +0000 (16:02 -0600)]
locale.c: Use PERL_UNUSED_RESULT
The previous way to suppress messages wasn't working for all gcc
versions. Spotted by Jarkko Hietaniemi.
Chris 'BinGOs' Williams [Wed, 13 Aug 2014 21:39:19 +0000 (22:39 +0100)]
Remove compiler warning spam on dos-djgpp
Jarkko Hietaniemi [Mon, 11 Aug 2014 16:47:22 +0000 (12:47 -0400)]
For older clang versions put back -Wno-unused-value.
Logical revert of
b679cac0, but redone.
Apple versions only for now; situation on Linux side unknown.
Father Chrysostomos [Mon, 11 Aug 2014 16:51:34 +0000 (09:51 -0700)]
[perl #46947] Parse method-BLOCK arguments as a term
(C.f. bug #114222 and commit
52d0e95b, which did the same thing
for ‘use’.)
When parsing the arguments following a method name and a block (for
‘method { $obj } LIST‘ syntax), the lexer was using heuristics to
determine whether an opening brace was a hash constructor or a block,
as it does at the beginning of a statement. In every case in which it
determined it was a block, the parser would them throw a syntax error.
In this case, the lexer should not be trying to guess, since we *know*
it can only be a hash here.
This was the result:
$ perl -e 'method {$obj} {$foo=>undef}'
syntax error at -e line 1, near "} {"
Execution of -e aborted due to compilation errors.
Now we get this:
$ ./miniperl -e 'method {$obj} {$foo=>undef}'
Can't call method "method" on an undefined value at -e line 1.
as expected.
David Mitchell [Tue, 12 Aug 2014 15:09:46 +0000 (16:09 +0100)]
fix fix for stat.t on win32
My previous commit made a test open a file, then delete it. It should of
course have closed the file before deleting it. On Linux this is just bad
manners, but on Win32 it actively fails.
David Mitchell [Tue, 12 Aug 2014 10:44:35 +0000 (11:44 +0100)]
op/.stat.t: fix race condition
A test was checking that stat on FILEHANDLE and lstat on *FILEHANDLE{IO}
gave the same results. It was using STDOUT as the filehandle, but since
this can be modified by other processes during parallel testing, a race
condition is possible.
Open a file instead to get reliability.
Karl Williamson [Mon, 11 Aug 2014 16:20:43 +0000 (10:20 -0600)]
t/run/locale.t: Improve skip message
Better wording uggested by H.Merijn Brand
Karl Williamson [Mon, 4 Aug 2014 22:29:12 +0000 (16:29 -0600)]
PATCH: [perl #121930] Bleadperl breaks MDOOTSON/Wx
The root cause of this issue is that XS code or the libraries it calls
is changing the locale behind Perl's back so that the decimal point
character is not a dot. Version number parsing relies on it being a
dot.
This patch fixes the problem by retrieving the current locale just
before version number parsing, and updating Perl's records if the locale
has changed away from what is expected. Given accurate records, the
pre-existing call to the STORE_NUMERIC_LOCAL_SET_STANDARD macro will
do what it's supposed to do, and change the locale so that the dot is
the radix character for the version number parsing.
After the parsing is done, the pre-existing call to the
RESTORE_NUMERIC_LOCAL macro will restore properly, but see below
This patch should be suitable for both 5.20.1 and 5.21 (though the SHA-1
value in the porting/customize.dat will have to be adjusted because the
files aren't otherwise identical). But there is a fundamental
difference between the releases. In 5.20.X, Perl does not attempt to
keep the radix character a dot at almost all times (though it
initializes things so it is a dot, overriding any environmental settings
to the contrary). This leads to known non-regression bugs in 5.20
because very little XS code can cope with a non-dot. To fix this, Perl
has changed the macros in 5.21 so that the result after the
RESTORE_NUMERIC_LOCAL is that the current locale will have a dot. This
will fix those long-standing bugs where XS code expecting a dot fails
should it be mashed up with modules that change it to something else.
But this will break the relatively few modules that want it the other
way. So it has been done early in 5.21 to give things a chance to
settle down.
The extra {} braces around the code that calls the macros is because
STORE_NUMERIC_LOCAL_SET_STANDARD declares a variable, and so must be
within the declarations area of a block for C89 compilers. (I myself
would not write a macro that does this without indicating so in its
name.)
Tony Cook [Sun, 10 Aug 2014 23:53:39 +0000 (09:53 +1000)]
Tony Cook [Mon, 14 Jul 2014 00:40:47 +0000 (10:40 +1000)]
[perl #122107] ensure that BEGIN blocks with errors don't remain named subs
Tony Cook [Thu, 10 Jul 2014 01:37:39 +0000 (11:37 +1000)]
[perl #122107] test that BEGIN blocks with errors don't remain named subs
Father Chrysostomos [Sun, 10 Aug 2014 05:39:43 +0000 (22:39 -0700)]
[perl #122498] Odd error message from m/(?(??{}))/
I know this code is invalid, but the error message makes no sense:
$ perl5.14.4 -e 'm/(?(??{}))/'
Sequence (? incomplete in regex; marked by <-- HERE in m/(? <-- HERE (??{}))/ at -e line 1.
Not exactly logical, but close....
$ perl5.18.2 -e 'm/(?(??{}))/'
The regex_sets feature is experimental in regex; marked by <-- HERE in m/(?( <-- HERE ??{}))/ at -e line 1.
Syntax error in (?[...]) in regex m/(?(??{}))/ at -e line 1.
As of 5.18, it makes no sense at all.
It should probably say ‘Unknown switch condition’.
This commit makes it do that. The problem was unintentional fall-
through to the wrong switch condition.
In fact, it could get quite confused:
$ ./miniperl -Ilib -e 'm/(?(? [a] ])/'
The regex_sets feature is experimental in regex; marked by <-- HERE in m/(?( <-- HERE ? [a] ])/ at -e line 1.
Unexpected character in regex; marked by <-- HERE in m/(?(? <-- HERE [a] ])/ at -e line 1.
Because it was assuming that the character after the first ? was [
and then trying to parse an extended charclass from the second ques-
tion mark.
Father Chrysostomos [Sun, 10 Aug 2014 05:09:17 +0000 (22:09 -0700)]
Make ‘require $tied_undef’ behave consistently
As of
f04d2c345 perl does not give uninitialized warnings for ‘require
undef’. But the check was not happening soon enough, causing tied
variables to behave erratically:
$ ./perl -Ilib -we 'sub TIESCALAR{bless[]}sub FETCH{undef}sub STORE{}tie $x,""; $x="a"; require $x'
Use of uninitialized value $x in require at -e line 1.
Missing or undefined argument to require at -e line 1.
(Uninit warning where muggle variables lack one.)
$ ./perl -Ilib -we 'sub TIESCALAR{bless[]}sub FETCH{undef}sub STORE{}tie $x,""; $x=3; require $x'
Invalid version format (non-numeric data) at -e line 1.
(undef being treated as a version string.)
We have to call get-magic on the argument before we check its
definedness.
Father Chrysostomos [Sun, 10 Aug 2014 01:34:22 +0000 (18:34 -0700)]
Alphabetise perldiag
Father Chrysostomos [Sun, 10 Aug 2014 01:30:28 +0000 (18:30 -0700)]
perldiag: rewrap for better splain output; clarifications
Brian Fraser [Sat, 9 Aug 2014 10:43:01 +0000 (12:43 +0200)]
ExtUtils::CBuilder: On Android, link to both -lperl and $Config{perllibs}
This is done because quite a bit of CPAN assumes that
if libperl.so links to something, then you'll get those
functions for free, but that is not the case on
Android.
Craig A. Berry [Fri, 8 Aug 2014 22:40:56 +0000 (17:40 -0500)]
Remove dead VMS code from ext/Sys-Hostname/Hostname.xs.
We haven't supported VMS versions prior to 7.0 for quite some
time now, so this code can go.
Karl Williamson [Fri, 8 Aug 2014 18:30:56 +0000 (12:30 -0600)]
regcomp.c: White space only
Update line to coding standards so that the "{" is in the proper
position
Karl Williamson [Thu, 7 Aug 2014 16:45:21 +0000 (10:45 -0600)]
PATCH: [perl #122460] Regression with (?{})(?=...) and pos
The commit that really broke this was
a0dd42312a1f26356d2fdf49656e45b77c2cefb5. The blamed commit fixed some
typos that kept the earlier bad commit from having an effect.
Zero-length assertions, such as (?=...) obviously can match an empty
string. The bad commit wrongly removed a setting of a flag to that
effect. I didn't realize the implications at the time, thinking that
the newly-corrected AND logical operations would correctly set things
up, and that the previous code had been a workaround for the buggy AND.
The problem is that there is an overriding context such that whatever
the AND result, since this is in a 0-length assertion, the result will
match the empty string. Thus it now differs from the pre-bad-commit
code which set to match the empty string only sometimes. I'm pretty
sure it should be 'always'. If I'm wrong, it doesn't mean a bug, but
only that an optimisation that could take place won't.
Craig A. Berry [Fri, 8 Aug 2014 14:20:23 +0000 (09:20 -0500)]
Reverse order of environ tables under bash on VMS.
The default for populating %ENV on VMS is from logical names
first and the CRTL environ array second unless overridden by
setting PERL_ENV_TABLES. That's a reasonable default for DCL,
but not quite right when running under bash as exports under bash
might end up hidden behind logical names. So reverse the default
order when GNV$UNIX_SHELL is set.
Also stop mentioning that setenv() may not be present in the CRTL
since it is present for VMS versions 7.0 and later and those are
the only ones we support.
Chris 'BinGOs' Williams [Fri, 8 Aug 2014 11:18:57 +0000 (12:18 +0100)]
Update ExtUtils-Manifest to CPAN version 1.65
[DELTA]
1.65 Fri, Aug 8, 2014
- Support perls < v5.8.3 once again
- Don't generate MANIFESTs with CRLFs on Windows
Chris 'BinGOs' Williams [Fri, 8 Aug 2014 09:13:17 +0000 (10:13 +0100)]
Move ExtUtils-Install to cpan/
The Perl Toolchain Gang has agreed to maintain this.
Craig A. Berry [Fri, 8 Aug 2014 02:29:14 +0000 (21:29 -0500)]
getenv() failed lookup need not set errno on VMS.
The standard does not indicate any errno values set when getenv()
simply doesn't find the requested value, which is a pretty common
occurrence. The VMS-specific implementation of getenv() has been
setting errno in this case, which means there is often an errno
value hanging around for later unsuspecting operations. It
particularly tends to bite people who don't read the documentation
to die() and/or don't understand how errno works (only valid after
a failed syscall).
So we now stop setting errno in this case, but leave it for a few
serious errors that should be extremely rare.
Chris 'BinGOs' Williams [Thu, 7 Aug 2014 10:09:22 +0000 (11:09 +0100)]
Move ExtUtils-Manifest to cpan/
Maintained by the Perl Toolchain Gang now
Chris 'BinGOs' Williams [Thu, 7 Aug 2014 09:32:26 +0000 (10:32 +0100)]
Move ExtUtils-Command to cpan/
Maintained by the Perl Toolchain Gang now
Rafael Garcia-Suarez [Wed, 6 Aug 2014 20:15:24 +0000 (22:15 +0200)]
Documentation typo fix
Yves Orton [Wed, 6 Aug 2014 09:42:33 +0000 (11:42 +0200)]
Add MurmurHash64A and MurmurHash64B to hv_func.h
Both of these hash functions are by Austin Appleby and are in the public domain.
The 64A variant is designed for 64 bit machines.
The 64B variant is designed for 32 bit machines.
Both use unaligned loads, so are unsuitable for platforms with strict alignment requirements.
Both have been converted to use Perls hash function calling conventions,
and to return a 32 bit hash instead of a 64 bit hash (low 32 bits)
Jarkko Hietaniemi [Tue, 5 Aug 2014 15:47:51 +0000 (11:47 -0400)]
Sun c99 needs -Xa for many system interfaces.
Jarkko Hietaniemi [Tue, 5 Aug 2014 14:49:31 +0000 (10:49 -0400)]
Sun c99 doesn't like bare -O.
Jarkko Hietaniemi [Tue, 5 Aug 2014 14:42:41 +0000 (10:42 -0400)]
Sun c99 ccversion.
Jarkko Hietaniemi [Tue, 5 Aug 2014 13:49:01 +0000 (09:49 -0400)]
Newer Sun C compilers are not 'SUNwspro', but 'solstudio'.
Karl Williamson [Mon, 4 Aug 2014 18:57:43 +0000 (12:57 -0600)]
t/run/locale.t: Skip environment test on Win32
This test is to make sure that without environment overrides, that the
decimal point character is a dot. However in Windows machines, the
default locale can be set via administration regardless of environment
overrides, so this test is invalid on that platform.
Spotted by Steve Hay.
Chris 'BinGOs' Williams [Tue, 5 Aug 2014 14:14:01 +0000 (15:14 +0100)]
Update B-Debug to CPAN version 1.21
Rafael Garcia-Suarez [Tue, 5 Aug 2014 08:15:58 +0000 (10:15 +0200)]
Add syber to AUTHORS
Rafael Garcia-Suarez [Tue, 5 Aug 2014 08:02:09 +0000 (10:02 +0200)]
Regenerate local Safe MANIFEST
Rafael Garcia-Suarez [Tue, 5 Aug 2014 07:27:29 +0000 (09:27 +0200)]
Fix MANIFEST and Safe's changelog
syber [Mon, 4 Aug 2014 19:47:23 +0000 (23:47 +0400)]
Critical bugfix in module Safe (Opcode). Version increased, changelog and test added.
This example hacks outside environment:
package My::Controller;
use strict;
sub jopa { return "jopa\n"; }
package main;
use Safe;
my $s = new Safe;
my $ok = $s->reval(q{
package My::Controller;
sub jopa { return "hacked\n"; }
My::Controller->jopa();
});
print My::Controller->jopa();
Tony Cook [Tue, 5 Aug 2014 05:18:25 +0000 (15:18 +1000)]
[perl #121404] tied hashes are different
Andy Dougherty [Mon, 4 Aug 2014 14:38:48 +0000 (10:38 -0400)]
Fix hint typo: No leading underscore in PERL_USE_SAFE_PUTENV
hints/solaris_2.sh generates a config.over script intended to add
PERL_USE_SAFE_PUTENV to ccflags, if it is not already present. An extra
leading underscore in the check meant that the test always failed and
PERL_USE_SAFE_PUTENV always got added.
Chris 'BinGOs' Williams [Mon, 4 Aug 2014 11:47:34 +0000 (12:47 +0100)]
Update perlfaq to CPAN version 5.0150045
[DELTA]
5.0150045 Sun 3 Aug 2014 18:16:06 +0100
* Improve example, use File::Spec (Brian Fraser)
* Typo in perlfaq7 (Rares Aioanei, via shlomif)
* Typo in perlfaq1 (Xaerxess)
Aaron Crane [Sun, 3 Aug 2014 16:33:02 +0000 (17:33 +0100)]
Update B-Debug to CPAN version 1.20
[DELTA]
1.20 2014-08-03 rurban
* avoid exists on an array element (aaron crane)
H.Merijn Brand [Sat, 2 Aug 2014 11:09:16 +0000 (13:09 +0200)]
Update Config::Perl::V to version 0.22
Karl Williamson [Fri, 1 Aug 2014 17:19:06 +0000 (11:19 -0600)]
regcomp.c: Don't read outside array bound
This code is only in DEBUGGING builds had an off-by-one error
that would read beyond the end of the array. This commit also removes
a redundant test
Aaron Crane [Tue, 15 Jul 2014 17:28:42 +0000 (18:28 +0100)]
Fix bug in inlining some CORE::* subs
As of
4aaa475724fbbc4ab2427743fa4d07a12e6ce0d9, when Perl compiles code like
BEGIN { *entangle = \&CORE::tie }
entangle $foo, $package
the apparent call to "entangle" is replaced with an inlined invocation of
the "tie" builtin.
For unary ops, the OPf_SPECIAL flag was set on the generated inlined op iff
the op's argument was surrounded by parens. But that's incorrect for ops
which have their own interpretation of OPf_SPECIAL. In particular:
keys, values, each
OPf_SPECIAL is set for lvalue usage; this shows up when the compile-time
argument is a reference to be subjected to the autoderef feature, and
the run-time argument is an array ref. The existing tests didn't execute
the code (and didn't combine inlining with array autoderefs), so didn't
catch this case.
delete, exists
OPf_SPECIAL is set when the argument is an array element rather than a
hash element; this doesn't directly cause any obvious problems, because
pp_delete and pp_exists consider OPf_SPECIAL only when they've already
determined that their argument is an array element, but it did break
deparsing (because B::Deparse considers OPf_SPECIAL in all cases): the
hash element argument got deparsed as an array element. Further, the
inlining tests themselves rely on deparsing to ensure that the op was
inlined. The existing inlining tests happened to use array elements, so
didn't catch this problem.
This commit fixes those cases, by avoiding setting OPf_SPECIAL when inlining
an invocation of one of those ops. The list of op types is hard-coded; this
seems a little icky, but I don't see a better alternative.
I believe that no other ops are affected by this issue, but my confidence in
that statement isn't as high as it might be; it seems hard to work out
exactly which ops use OPf_SPECIAL.
Aaron Crane [Tue, 15 Jul 2014 17:25:22 +0000 (18:25 +0100)]
t/op/coresubs.t: factor out an internal routine
This routine will be used in the next commit. I believe that the behaviour
of the tests remains unchanged after this commit.
H.Merijn Brand [Fri, 1 Aug 2014 11:49:11 +0000 (13:49 +0200)]
Test file had been renamed. remove old cruft
H.Merijn Brand [Fri, 1 Aug 2014 11:14:09 +0000 (13:14 +0200)]
Sync Config::Perl::V to version 0.21
* Add tests for each major distribution since 5.6.2
* Better detect build times
* Sync with 5.20.1
H.Merijn Brand [Fri, 1 Aug 2014 10:39:06 +0000 (12:39 +0200)]
add --help to Porting/sync-with-cpan
Chris 'BinGOs' Williams [Fri, 1 Aug 2014 08:28:53 +0000 (09:28 +0100)]
Update CPAN-Meta-Requirements to CPAN version 2.126
[DELTA]
2.126 2014-07-30 16:26:29-04:00 America/New_York
[FIXED]
- Fixed compatibility with version.pm 0.77
[DOCUMENTED]
- Minor documentation fixes
[CHANGED]
- Modernized distribution meta files
James E Keenan [Wed, 30 Jul 2014 11:45:40 +0000 (07:45 -0400)]
Correct double mention of winpid_to_pid.
As reported by graham at wdlabs dot com.
For: RT #122430
Rafael Garcia-Suarez [Wed, 30 Jul 2014 14:40:46 +0000 (16:40 +0200)]
Avoid pack/unpack to produce the binary form of a utf8 string
Rafael Garcia-Suarez [Wed, 30 Jul 2014 14:13:20 +0000 (16:13 +0200)]
Fix tabs in MANIFEST
Yves Orton [Wed, 30 Jul 2014 13:44:44 +0000 (15:44 +0200)]
make "require" handle no argument more gracefully, and add tests
in Perl 5.14 the following segfaults:
*CORE::GLOBAL::require = sub { }; eval "require";
in Perl 5.18
perl -wle'eval "require";'
produces a spurious warning:
Use of uninitialized value $_ in require at (eval 1) line 1.
In other perls:
perl -e 'eval q/require $this/ or print $@'
produces:
Null filename used at (eval 1) line 1.
The error message is crappy, totally unfit for a perl audience,
and the spurious warning is just confusing. There is no $_ in use
here, why do we warn about it.
It looks like
9e3fb20c fixed the segfault (by accident), and also
somehow meant that the "Null filename" error would not ever be
produced.
So this patch ditches the crappy error and replaces it with something
meaningful and informative, and tests that we do not regress and start
segfaulting again.
Chris 'BinGOs' Williams [Wed, 30 Jul 2014 08:12:58 +0000 (09:12 +0100)]
Update HTTP-Tiny to CPAN version 0.047
[DELTA]
0.047 2014-07-29 14:09:05-04:00 America/New_York
[CHANGED]
- Updated Mozilla::CA module recommendation version to
20130114
[FIXED]
- Fixed t/00-report-prereqs.t when CPAN::Meta is not installed
0.046 2014-07-21 10:32:32-04:00 America/New_York
[FIXED]
- Empty header fields are now allowed; headers with the 'undef' value
will be rendered as an empty header.
[DOCUMENTED]
- Updated HTTP/1.1 spec description from RFC 2616 to RFC 7230-7235
0.045 2014-07-19 23:17:28-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- Fixed t/002_croakage.t for various operating systems.
Chris 'BinGOs' Williams [Wed, 30 Jul 2014 08:05:06 +0000 (09:05 +0100)]
Update CPAN-Meta to CPAN version 2.142060
[DELTA]
2.142060 2014-07-25 13:30:06-04:00 America/New_York
[ADDED]
- CPAN::Meta::Merge is a new class for merging two possibly overlapping
instances of metadata. It will accept both CPAN::Meta objects and
(possibly incomplete) hashrefs of metadata.
Chris 'BinGOs' Williams [Wed, 30 Jul 2014 07:57:06 +0000 (08:57 +0100)]
Sync Module-CoreList version after CPAN release
Jarkko Hietaniemi [Tue, 29 Jul 2014 02:10:47 +0000 (22:10 -0400)]
Mention sv_gets as the Perl-ish fgets-ish API.
Jarkko Hietaniemi [Tue, 29 Jul 2014 02:36:44 +0000 (22:36 -0400)]
Add atol, atoll, strtoq to avoidables.
Jarkko Hietaniemi [Tue, 29 Jul 2014 02:09:34 +0000 (22:09 -0400)]
Add system to avoidables.
Jarkko Hietaniemi [Tue, 29 Jul 2014 02:06:08 +0000 (22:06 -0400)]
grok_atou() is UV now, not Size_t.
Jarkko Hietaniemi [Tue, 29 Jul 2014 11:54:57 +0000 (07:54 -0400)]
Move return false out of switch default.
Jarkko Hietaniemi [Tue, 29 Jul 2014 01:02:21 +0000 (21:02 -0400)]
NOTREACHED goes at/in the unreachable, not after it.
Jarkko Hietaniemi [Tue, 29 Jul 2014 00:55:31 +0000 (20:55 -0400)]
Negatives as UVs: sign-extension intentional, add cast.
Jarkko Hietaniemi [Mon, 28 Jul 2014 23:30:13 +0000 (19:30 -0400)]
Revert part of
b844a53a to fix ./perl -Ilib t/io/fs.t
The temps are created in t, but $ENV{PWD} points to root.
The change was made for Android support, but is now obsoleted
by newer code for Android, just below.
Jarkko Hietaniemi [Mon, 28 Jul 2014 19:52:56 +0000 (15:52 -0400)]
Skip ext/GDBM_File/t/fatal.t in Darwin, too flaky.
(random crashes at destruction time)
See https://rt.perl.org/Public/Bug/Display.html?id=117967
and jhi ran into this in OS 10.9.4 + blead + gdbm 1.11
(gdbm via macports, but shouldn't matter much: flaky is flaky).
Tony Cook [Mon, 28 Jul 2014 06:40:49 +0000 (16:40 +1000)]
avoid passing large backreference numbers back as negative numbers
Tony Cook [Mon, 28 Jul 2014 01:46:19 +0000 (11:46 +1000)]
spell "SSize_t" correctly
the same as the other place in that patch
Jarkko Hietaniemi [Sat, 26 Jul 2014 13:42:30 +0000 (09:42 -0400)]
readlink() result buffer is not zero-terminated.
Therefore, as an extra paranoia step, zero-terminate
the readlink result buffer even before the result SV is created.
Also, readlink returns SSize_t, not int.
Lukas Mai [Sun, 27 Jul 2014 13:09:50 +0000 (09:09 -0400)]
POSIX.pod: Document correct redirect for 'atexit'.
For: RT #122412
H.Merijn Brand [Sat, 26 Jul 2014 19:43:54 +0000 (21:43 +0200)]
Simplify cppsym dash problem
Karl Williamson [Fri, 25 Jul 2014 20:57:33 +0000 (14:57 -0600)]
utf8.c: Use slightly more efficient macro
Lowercasing a Latin-1 range character results in a latin-1 range
character, so we can use the more restrictive macros that is slightly
more efficient than the general ones. (This difference only is
applicable on EBCDIC platforms, as the macros all expand to nothing on
ASCII ones.
Karl Williamson [Fri, 25 Jul 2014 20:56:46 +0000 (14:56 -0600)]
perlop: Update to reflect 5.20 changes
Some deprecations have become fatal in v5.20
Karl Williamson [Fri, 25 Jul 2014 20:44:46 +0000 (14:44 -0600)]
perlop: Nits
Karl Williamson [Fri, 25 Jul 2014 17:31:26 +0000 (11:31 -0600)]
perlop: Update text to reflect code changes
The warning message is no longer misleading, so no need to point out
anything about it.
Andy Dougherty [Fri, 25 Jul 2014 17:55:32 +0000 (13:55 -0400)]
Only use setenv() on Solaris if it is available.
This is a followup to
07ad9e0e19891ec129e1a78e40a66ca19b51302d.
util.c:Perl_my_setenv() unconditionally used setenv() if #defined(__sun).
Solaris 8 had neither setenv() nor unsetenv(), so it failed. Configure
does not currently check for setenv(), but the check for unsetenv()
is sufficient here since Solaris 9 and later have both.
Brian Fraser [Fri, 25 Jul 2014 17:46:41 +0000 (19:46 +0200)]
Configure: Handle hyphens when searching cpp symbols
This is really just for Android, which in Configure is
known as linux-android; the hyphen is passes as-is to
the preprocessor, which handles it as a minus.
So don't do that.
Brian Fraser [Fri, 25 Jul 2014 17:13:26 +0000 (19:13 +0200)]
Configure: Discard errors when testing for less -R
When we try replacing 'less' with 'less -R', it's possible
that less will output errors if the option is not supported;
this happens, for example, in busybox's less.
Brian Fraser [Fri, 25 Jul 2014 16:34:03 +0000 (18:34 +0200)]
t/op/taint.t: Accommodate for systems without an inbuilt echo (android, blackberry)
Brian Fraser [Thu, 24 Jul 2014 13:54:30 +0000 (15:54 +0200)]
Makefile.SH: Add missing files for make test on cross builds
Brian Fraser [Thu, 24 Jul 2014 13:53:52 +0000 (15:53 +0200)]
Makefile.SH: Fix cross builds with -Uhostgenerate
Brian Fraser [Thu, 24 Jul 2014 13:53:17 +0000 (15:53 +0200)]
t/re/subst.t: Proper skip for systems without locale
Brian Fraser [Thu, 24 Jul 2014 13:51:35 +0000 (15:51 +0200)]
pp.c: Fixed a quotemeta bug on perls built without locale.
This was causing quotemeta("\N{U+D7}") to not be quoted, as well as
some other codepoints in the latin1 range.
Jarkko Hietaniemi [Fri, 25 Jul 2014 00:20:56 +0000 (20:20 -0400)]
Make PERL_GLOBAL_STRUCT_PRIVATE visible in -V.
Jarkko Hietaniemi [Thu, 24 Jul 2014 23:31:04 +0000 (19:31 -0400)]
Unused dVARs found by g++ -DPERL_GLOBAL_STRUCT_PRIVATE.
Jarkko Hietaniemi [Thu, 24 Jul 2014 02:32:45 +0000 (22:32 -0400)]
Share common constants as file statics.
Jarkko Hietaniemi [Wed, 23 Jul 2014 14:38:50 +0000 (10:38 -0400)]
Use UV instead of Size_t.
A strong reason for using UV are the promised custom codepoints,
they go beyond 32-bit.
The overflow logic didn't work if Size_t was 32-bit but the UV was 64-bit.
Steal the battle-proven logic from grok_number_flags().
The numeric.xs or grok.t were not right in 32-bit, either.
Add comments.
Rafael Garcia-Suarez [Thu, 24 Jul 2014 11:26:10 +0000 (13:26 +0200)]
Remove flagging OP_READLINE with OPf_SPECIAL
This was used to distinguish forms <FILE> from <$file>, but doesn't
seem to be used anymore by anything.
Jarkko Hietaniemi [Wed, 23 Jul 2014 14:01:08 +0000 (10:01 -0400)]
apidoc fixes, comment tweaks.
Tony Cook [Wed, 23 Jul 2014 07:11:42 +0000 (17:11 +1000)]
Vladimir Marek is now a perl author
Vladimir Marek [Wed, 23 Jul 2014 07:05:59 +0000 (17:05 +1000)]
use setenv() on Solaris
Tony Cook [Wed, 23 Jul 2014 04:21:42 +0000 (14:21 +1000)]
bump $XS::APItest::VERSION for the grok_atou() merge