This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Father Chrysostomos [Fri, 21 Nov 2014 08:05:00 +0000 (00:05 -0800)]
Remove context param from set_padlist
It doesn’t need it.
Father Chrysostomos [Fri, 21 Nov 2014 08:00:38 +0000 (00:00 -0800)]
Increase $ExtUtils::ParseXS::VERSION to 3.27
Father Chrysostomos [Fri, 21 Nov 2014 07:59:59 +0000 (23:59 -0800)]
ExtUtils::ParseXS: Suppress unused ‘file’ warning
Since newXS_deffile was introduced, we don’t always use the file
variable.
Father Chrysostomos [Fri, 21 Nov 2014 05:39:55 +0000 (21:39 -0800)]
Sort perldiag
Also change a comma to a semicolon, two independent clauses were
joined with a comma.
Father Chrysostomos [Fri, 21 Nov 2014 05:22:41 +0000 (21:22 -0800)]
mg.c: _get_encoding needs dVAR
Father Chrysostomos [Fri, 21 Nov 2014 05:20:31 +0000 (21:20 -0800)]
Increase $B::Deparse::VERSION to 1.31
Father Chrysostomos [Fri, 21 Nov 2014 05:20:04 +0000 (21:20 -0800)]
Increase $POSIX::VERSION to 1.47
Father Chrysostomos [Fri, 21 Nov 2014 05:19:22 +0000 (21:19 -0800)]
Increase $B::VERSION to 1.54
Father Chrysostomos [Fri, 21 Nov 2014 04:25:02 +0000 (20:25 -0800)]
perl5216delta: Move an entry
This was supposed to have been in Internal Changes to begin with.
Karl Williamson [Thu, 20 Nov 2014 00:02:58 +0000 (17:02 -0700)]
perldelta for deprecating ${^ENCODING}
Karl Williamson [Wed, 19 Nov 2014 23:49:53 +0000 (16:49 -0700)]
perlvar: More text about ${^ENCODING}; refer by perldiag
Karl Williamson [Wed, 19 Nov 2014 05:02:21 +0000 (22:02 -0700)]
toke.c: Consistently upgrade under encoding
The documentation says that intermixing above-Latin1 code points with
ones that would be otherwise encoded to something else, like Greek,
causes the encoding to be foregone. Until this commit, this only
happened when the above-latin1 code point came first in the string
constant being scanned; meaning string-order was important. This
changes things to match the documentation
Dagfinn Ilmari Mannsåker [Mon, 10 Nov 2014 23:54:46 +0000 (23:54 +0000)]
Deprecate setting ${^ENCODING}
The commiter added a no warnings in t/op/leaky-magic.t, and made other
minor changes because of rebasing issues.
Karl Williamson [Wed, 19 Nov 2014 00:23:54 +0000 (17:23 -0700)]
mg.c: White-space only
Indent due to new blocks from previous commit
Karl Williamson [Wed, 19 Nov 2014 00:03:03 +0000 (17:03 -0700)]
Make encoding pragma lexical in scope
The encoding pragma is deprecated, but in the meantime it causes spooky
action at a distance with other modules that it may be combined with.
In these modules, operations such as chr(), ord(), and utf8::upgrade()
will suddenly start doing the wrong thing.
The documentation for 'encoding' has said to call it after loading other
modules, but this may be impractical. This is especially bad with
anything that auto-loads at first use, like \N{} does now for charnames.
There is an issue with combining this with setting the variable
${^ENCODING} directly. The potential for conflicts has always been
there, and remains. This commit introduces a shadow hidden variable,
subservient to ${^ENCODING} (to preserve backwards compatibility) that
has lexical scope validity.
The pod for 'encoding' has been revamped to be more concise, clear, use
more idiomatic English, and to speak from a modern perspective.
Karl Williamson [Fri, 14 Nov 2014 18:18:57 +0000 (11:18 -0700)]
Make a function to get PL_encoding's value
This is in preparation for making the retrieval more complex in future
commits than it is now. This is going into mg.c because the value is
magical.
Karl Williamson [Wed, 12 Nov 2014 05:25:37 +0000 (22:25 -0700)]
Make testing for PL_encoding into a macro
This is in preparation for making the test more complicated.
Father Chrysostomos [Mon, 17 Nov 2014 02:49:29 +0000 (18:49 -0800)]
lex_assign.t: Make store count test stricter
If ‘$foo = some op’ croaks and $foo has not been made read-only, then
it must be becasue ‘some op’ croaked, in which case the assignment
must not have happened.
We can make this test stricter and make sure the assignment doesn’t
happen, to avoid the possibility of buggy ops that write to their
targets before croaking.
Jim Cromie [Tue, 18 Jun 2013 21:46:32 +0000 (15:46 -0600)]
concise.t: correct test description to match actual test
Commit
c6036734 changed the subject of an optimized constant function
rendering test to one from the Storable API (ie stable), but missed
the function name repeated in the test description. Fix that now.
Father Chrysostomos [Fri, 21 Nov 2014 01:57:44 +0000 (17:57 -0800)]
Make B use B::COP for nulled COPs
Former COPs still carry information with them, and to get to it I had
to have B::Deparse rebless the op object into B::COP.
This commit makes B use the right class to begin with. This happens
to make B::Concise output the extra information that nulled COPs carry
around with them, which was on my to-do list anyway, so I’m happy
about that.
Father Chrysostomos [Thu, 20 Nov 2014 22:30:55 +0000 (14:30 -0800)]
Remove extraneous semicolons from Deparse output
Prior to the previous commit, it was emitting extra semicolons for
statements optimised away outside of any subroutine, and extra semi-
colons after sub declarations and the end of the enclosing scope. The
previous commit made it also emit an extra semicolon at the end of the
main program, if the last thing was a sub declaration. So I decided
to fix all three at once.
Father Chrysostomos [Thu, 20 Nov 2014 17:23:35 +0000 (09:23 -0800)]
[perl #77452] Deparse { ...; BEGIN{} } correctly
8635e3c2 (5.21.6) changed the COP sequence numbers for nested blocks,
such that most BEGIN blocks (incl. ‘use’ statements) and sub declara-
tions end up in the right place. However, it had the side effect of
causing declarations at the end of the enclosing scope to fall out of
it and appear below.
This commit fixes that by adding an extra nulled COP to the end of the
enclosing scope if that scope ends with a sub, so the final declara-
tion gets deparsed before it.
The frequency of sub declarations at the end of the enclosing scope is
sufficiently low (I’m guessing a bit here) that this slight increase
in run-time memory usage is probably acceptable.
I had to change B::Deparse to deparse nulled COPs the same way it does
live COPs, which means we get more extraneous semicolons than before.
I hope to fix that in a forthcoming commit. I also ran into a B bug,
in that null ops are not presented to Perl code with the right op
class (see the blessing in the patch). I plan to fix that in a separ-
ate commit, too.
Father Chrysostomos [Thu, 20 Nov 2014 05:58:08 +0000 (21:58 -0800)]
op.h: Note unstack use of OPf_SPECIAL
Father Chrysostomos [Tue, 18 Nov 2014 02:59:40 +0000 (18:59 -0800)]
test.pl:runperl: Allow multiline prog
Split it into multiple -e options for portability.
Father Chrysostomos [Tue, 18 Nov 2014 02:54:04 +0000 (18:54 -0800)]
Use test.pl in Deparse.t
I like runperl. I want runperl.
Jarkko Hietaniemi [Fri, 21 Nov 2014 01:19:27 +0000 (20:19 -0500)]
Since HP cc is strict c89, use -std=c89 with gcc.
Mitigates the downside of
0d55a45a a bit.
Jarkko Hietaniemi [Fri, 21 Nov 2014 01:13:34 +0000 (20:13 -0500)]
Drop -std=c89.
(1) It doesn't mean "strict C89" on its own, -pedantic would also be needed.
(2) Using C99 features like long long or inline becomes harder.
The downside of this change is that C99-isms can more easily
creep into the core code, breaking it for non-gcc C89 compilers.
Jarkko Hietaniemi [Thu, 20 Nov 2014 02:40:55 +0000 (21:40 -0500)]
tgamma infinity limit for IEEE quad prec.
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:56:30 +0000 (00:56 +0000)]
Update perlhist for v5.21.6
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:53:47 +0000 (00:53 +0000)]
Bump the perl version in various places for 5.21.7
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:16:56 +0000 (00:16 +0000)]
New perldelta for v5.21.7
Chris 'BinGOs' Williams [Fri, 21 Nov 2014 00:08:28 +0000 (00:08 +0000)]
Add epigraph for v5.21.6
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 19:36:36 +0000 (19:36 +0000)]
Finalise perldelta
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 19:10:04 +0000 (19:10 +0000)]
Update Module::CoreList for v5.21.6
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 15:55:11 +0000 (15:55 +0000)]
Update CPAN-Meta to CPAN version 2.143240
[DELTA]
2.143240 2014-11-20 10:26:30-05:00 America/New_York
[FIXED]
- Give correct path in nested merges such as resources
- Removed strings test that should have been removed when
CPAN::Meta::Requirements was removed to a separate dist
Chris 'BinGOs' Williams [Thu, 20 Nov 2014 15:54:02 +0000 (15:54 +0000)]
Update CPAN-Meta-Requirements to CPAN version 2.130
[DELTA]
2.130 2014-11-19 23:25:46-05:00 America/New_York
[ADDED]
- from_string_hash can take optional constructor arguments
[CHANGED]
- bad_version_hook callback gets module name as well as version string
- undefined/empty versions given to from_string_hash or
add_string_requirement now carp and are coerced to "0" instead of
being fatal. This is more consistent with how the other requirement
functions work.
Karl Williamson [Wed, 19 Nov 2014 04:45:46 +0000 (21:45 -0700)]
locale.c: Account for setlocale using static storage
Some systems setlocale()s use static storage for the locale name
returned by it, so that a subsequent setlocale overwrites it.
Therefore, you must make a copy of the name if you want it to work after
the next setlocale.
Thanks to Craig Berry for finding and diagnosing this problem.
Ricardo Signes [Wed, 19 Nov 2014 02:48:05 +0000 (21:48 -0500)]
perldelta: fix inconsistent variable names
Craig A. Berry [Wed, 19 Nov 2014 01:03:51 +0000 (19:03 -0600)]
Escape EFS for directory portion in tovmsspec.
For some reason extended characters were only being escaped in
the final component of the path, but not in the directory portion,
the one exception being dots. We need to give the entire path
the same treatment. There is probably considerable opportunity
for further consolidation and refactoring in what we escape, but
at least now ../foo bar/ correctly becomes [-.foo^_^_bar].
The reverse case has similar problems and is a TODO.
Jarkko Hietaniemi [Wed, 19 Nov 2014 01:20:54 +0000 (20:20 -0500)]
Try making gcc happy about casting U32 to void*.
util.c: In function ‘I32 Perl_xs_handshake(U32, void*, const char*, ...)’:
util.c:5389:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
Jarkko Hietaniemi [Wed, 19 Nov 2014 00:28:32 +0000 (19:28 -0500)]
While the nan() todo remains, at least warn not.
Jarkko Hietaniemi [Wed, 19 Nov 2014 00:25:48 +0000 (19:25 -0500)]
Comment reformatting.
Jarkko Hietaniemi [Wed, 19 Nov 2014 00:24:22 +0000 (19:24 -0500)]
Use my_tgamma/my_lgamma only ifndef HAS_TGAMMA/HAS_LGAMMA.
Tony Cook [Tue, 18 Nov 2014 21:51:59 +0000 (08:51 +1100)]
perldelta for
754cffb02255
Tony Cook [Tue, 18 Nov 2014 06:11:58 +0000 (17:11 +1100)]
fix PERL_OP_PARENT builds
This was broken in two commits:
-
b46e009d9 - introduced newMETHOP(), which didn't add the parent link
as newUNOP() was doing
-
2872f9187 - updated ck_sort() to handle lexical subs named as a
bareword parameter to sort, but didn't update the parent link in the
new PADCV op created.
Chris 'BinGOs' Williams [Tue, 18 Nov 2014 19:17:21 +0000 (19:17 +0000)]
[CPAN RT#100275] Add spaces if needed to CCFLAGS
https://rt.cpan.org/Ticket/Display.html?id=100275
Patch already upstreamed
Karl Williamson [Tue, 18 Nov 2014 04:49:08 +0000 (21:49 -0700)]
PATCH: [perl #123198] Memory leak in regex in 5.20.1
The SV was declared temporary but the pointer to it was getting changed
to another SV under some circumstances and the reference to that wasn't
getting decremented. The temporary stemmed from earlier code and was no
longer needed. Now, an explicit reference decrement is always done.
Chris 'BinGOs' Williams [Tue, 18 Nov 2014 10:34:51 +0000 (10:34 +0000)]
Fix parse_abstract so it doesn't explode when Encode isn't available
Upstreamed to EUMM repository
Chris 'BinGOs' Williams [Tue, 18 Nov 2014 09:47:48 +0000 (09:47 +0000)]
Update HTTP-Tiny to CPAN version 0.051
[DELTA]
0.051 2014-11-17 22:58:44-05:00 America/New_York
[FIXED]
- Checks for threads without loading threads.pm
Father Chrysostomos [Mon, 17 Nov 2014 07:15:20 +0000 (23:15 -0800)]
Remove redundant EBCDIC lines from Deparse.t
When these were added to b.t in
bd145f00387, the Deparse output still
contained \s, so it made sense to replace something else with \s in
order for the test to match.
In
fcd95d642 and
fee7e83848 it changed, such that the output no longer
contained \s, so, at least here, the EBCDIC code is doing nothing.
Father Chrysostomos [Tue, 18 Nov 2014 05:45:20 +0000 (21:45 -0800)]
svleak.t: Add test for #123198
Jarkko Hietaniemi [Tue, 18 Nov 2014 01:36:22 +0000 (20:36 -0500)]
Platform may have only one of lgamma/tgamma.
Jarkko Hietaniemi [Mon, 17 Nov 2014 23:59:45 +0000 (18:59 -0500)]
fma() emulation.
Jarkko Hietaniemi [Mon, 17 Nov 2014 23:50:32 +0000 (18:50 -0500)]
No C++ comments, please, we are C89ish.
Chad Granum [Mon, 17 Nov 2014 23:36:30 +0000 (15:36 -0800)]
Update Test-Simple to alpha 075
For: RT #123235
James E Keenan [Mon, 17 Nov 2014 23:58:09 +0000 (18:58 -0500)]
Add word missing from docs for 'wait' function.
Minor POD-formatting changes.
Add Johann 'Myrkraverk' Oskarsson to Perl AUTHORS.
For: RT #123230
Chris 'BinGOs' Williams [Mon, 17 Nov 2014 16:24:17 +0000 (16:24 +0000)]
Update CPAN-Meta-Requirements to CPAN version 2.129
[DELTA]
2.129 2014-11-13 16:28:45-05:00 America/New_York
[FIXED]
- from_string_hash can now accept v-strings as hash values
Father Chrysostomos [Mon, 17 Nov 2014 02:31:09 +0000 (18:31 -0800)]
Manually revert ‘Remove SvREADONLY_on from op.c:op_const_sv’
This effectively reverts
d0a32af375ac806258a97cce0091ce4b3636f8dc.
It was wrong. And I should know that, too.
I was the one who implemented padtmp swiping and went around turning
on the read-only flag to make it work correctly.
This fails, because the second call to &$sub returns undef, its value
having been stolen by the $y assignment.
use Test::More tests=>1;
my $sub = sub {
my $x = "x"x2000; sub () {$x};
}->();
$y = &$sub;
$z = &$sub;
is $z, $y;
Father Chrysostomos [Mon, 17 Nov 2014 02:23:34 +0000 (18:23 -0800)]
Fix assert fail with my $x; sub() {$x}
If $x is not referenced or used in lvalue context elsewhere, then the
constant sub can actually share the same scalar as the enclosing sub’s
pad. It doesn’t need to copy. And we don’t in that case, as of
v5.21.5-421-g04472a8. But we need to make sure the PADTMP flag is
turned off at scope exit if the pad has the only reference to the sub.
(The PADTMP flag has been turned on as of v5.21.5-391-g5543332.)
Father Chrysostomos [Mon, 17 Nov 2014 00:36:46 +0000 (16:36 -0800)]
Father Chrysostomos [Mon, 17 Nov 2014 00:34:36 +0000 (16:34 -0800)]
Father Chrysostomos [Mon, 17 Nov 2014 00:32:41 +0000 (16:32 -0800)]
Father Chrysostomos [Mon, 17 Nov 2014 00:31:03 +0000 (16:31 -0800)]
Father Chrysostomos [Mon, 17 Nov 2014 00:30:27 +0000 (16:30 -0800)]
perldelta for
fbc76eb33c6
Father Chrysostomos [Mon, 17 Nov 2014 00:28:52 +0000 (16:28 -0800)]
Father Chrysostomos [Mon, 17 Nov 2014 00:06:16 +0000 (16:06 -0800)]
perldelta: missing paren
Father Chrysostomos [Sun, 16 Nov 2014 22:53:35 +0000 (14:53 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 22:52:06 +0000 (14:52 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 22:50:25 +0000 (14:50 -0800)]
perldelta for referencing outer stale vars
e52eb89 Avoid reifying GVs in rv2cv
c5e6a3c Test reference to unavailable lexical variable
Father Chrysostomos [Sun, 16 Nov 2014 22:46:06 +0000 (14:46 -0800)]
perldelta for
5a8cd187c67
Father Chrysostomos [Sun, 16 Nov 2014 22:43:01 +0000 (14:43 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 22:41:19 +0000 (14:41 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 22:37:25 +0000 (14:37 -0800)]
perldelta for OA_DANGEROUS additions
6575cde tied is OA_DANGEROUS
d86b312 values and each are OA_DANGEROUS
Father Chrysostomos [Sun, 16 Nov 2014 22:34:44 +0000 (14:34 -0800)]
perldelta for OPpTARGET_MY bugs
b454703 Fix $lex = $ref++ under use integer
f595e19 Fix $lex = chomp $lex regression from 5.12
f9e9590 Call STORE on lexical $tied = vec/chr
8ec0525 Don’t call STORE twice on setpgrp target
Father Chrysostomos [Sun, 16 Nov 2014 22:13:06 +0000 (14:13 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 22:11:47 +0000 (14:11 -0800)]
perldelta for #119815 /
12cea2fa65
Father Chrysostomos [Sun, 16 Nov 2014 22:01:41 +0000 (14:01 -0800)]
perldelta for OPpTARGET_MY optimisations
db09808 Allow OPpTARGET_MY optimisation for vec
6abbd37 Allow OPpTARGET_MY optimisation for x
d8cdf57 Allow OPpTARGET_MY optimisation for split
a1b22ab Extend OPpTARGET_MY optimisation to state var init
Father Chrysostomos [Sun, 16 Nov 2014 21:46:57 +0000 (13:46 -0800)]
perldelta for #77452 /
8635e3c23
Father Chrysostomos [Sun, 16 Nov 2014 21:16:32 +0000 (13:16 -0800)]
Chris 'BinGOs' Williams [Sun, 16 Nov 2014 22:13:23 +0000 (22:13 +0000)]
ExtUtils-Manifest update to Maintainers.pl
Father Chrysostomos [Sun, 16 Nov 2014 20:57:22 +0000 (12:57 -0800)]
perldelta: fix pod syntax
Father Chrysostomos [Sun, 16 Nov 2014 20:55:51 +0000 (12:55 -0800)]
perldelta for #121827 /
3a100dabd
Father Chrysostomos [Sun, 16 Nov 2014 20:50:36 +0000 (12:50 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 20:46:29 +0000 (12:46 -0800)]
perldelta: Sort updated modules
Father Chrysostomos [Sun, 16 Nov 2014 20:45:24 +0000 (12:45 -0800)]
Karen Etheridge [Sun, 16 Nov 2014 18:40:05 +0000 (10:40 -0800)]
Update ExtUtils-Manifest to CPAN version 1.69
[DELTA]
1.69 2014-11-16
- also skip _build_params, generated by Module::Build::Tiny
Father Chrysostomos [Sun, 16 Nov 2014 19:30:16 +0000 (11:30 -0800)]
perldelta for #123103 /
1d5686ec7b
Father Chrysostomos [Sun, 16 Nov 2014 19:27:52 +0000 (11:27 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 19:25:55 +0000 (11:25 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 19:22:25 +0000 (11:22 -0800)]
perldelta for #122782 /
e660c409
Father Chrysostomos [Sun, 16 Nov 2014 19:17:34 +0000 (11:17 -0800)]
perldelta for #122829 /
00e40766a
Father Chrysostomos [Sun, 16 Nov 2014 19:15:18 +0000 (11:15 -0800)]
perldelta for #121374 /
a2b5b206
Father Chrysostomos [Sun, 16 Nov 2014 19:13:11 +0000 (11:13 -0800)]
perldelta for #123057 /
e4e95921
Father Chrysostomos [Sun, 16 Nov 2014 19:09:24 +0000 (11:09 -0800)]
perldelta for
03d05f6e34e
Father Chrysostomos [Sun, 16 Nov 2014 19:07:29 +0000 (11:07 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 19:03:54 +0000 (11:03 -0800)]
perldelta for 82209a5
Father Chrysostomos [Sun, 16 Nov 2014 19:01:22 +0000 (11:01 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 19:00:32 +0000 (11:00 -0800)]
Father Chrysostomos [Sun, 16 Nov 2014 18:59:17 +0000 (10:59 -0800)]
perldelta for #122695 /
51a82aa9fb
Father Chrysostomos [Sun, 16 Nov 2014 18:57:15 +0000 (10:57 -0800)]
perldelta for #122680 /
e1729dc6ad