Karl Williamson [Fri, 3 Jun 2011 04:10:07 +0000 (22:10 -0600)]
autodoc.pl: Don't list experimental functions in API
Craig A. Berry [Sat, 25 Jun 2011 19:31:44 +0000 (14:31 -0500)]
Don't quote target name in make_ext.pl.
Even though it's presumably doing case-blind lookups of target
names, MMS currently (V3.9-00) falls down hard when passed a
target name in lower case.
Nicholas Clark [Sat, 25 Jun 2011 09:57:14 +0000 (11:57 +0200)]
Fix two podchecker errors on perlunicode.pod
Add Unicode::Regex::Set to the list of known CPAN modules.
Reflow a verbatim block to fit within the column limit.
David Mitchell [Wed, 22 Jun 2011 09:59:18 +0000 (10:59 +0100)]
add do_ncmp fn and make pp_ncmp, pp_eq etc use it
Extract most of the body of pp_ncmp() (numeric compare) into a separate
function, do_ncmp(), then make the following ops use it:
pp_ncmp
pp_lt
pp_le
pp_eq
pp_ne
pp_ge
pp_gt
This removes a lot of similar or duplicated code, most of which is
dedicated to handling the various combinations of IV verses UV verses NV
verses NaN.
The various ops first check for, and directly process, the simple and common
case of both args being SvIOK_notUV(), and pass the processing on to
do_ncmp() otherwise. Benchmarking seems to indicate (but with a lot of
noise) that the SvIOK_notUV case is slightly faster than before, and the
do_ncmp() branch slightly slower.
David Mitchell [Tue, 21 Jun 2011 16:32:20 +0000 (17:32 +0100)]
pp_ncmp: favour the non- Perl_isnan route
Currently pp_ncmp(), when comparing two NVs, prefers to check its two args
for NaNness first, and if either of them are, then return undef. Only if
Perl_isnan isn't defined does it fall back to doing three compares (<, >,
=) where if all three fail it returns undef.
This is in contrast to the other compare functions (e.g. pp_lt), which
only use Perl_isnan if NAN_COMPARE_BROKEN is defined - i.e. they prefer to
rely on the '<' (or whatever) test to handle NaNs implicitly.
Change pp_ncmp to favour not using Perl_isnan(). This has two advantages:
First, speed: in the normal case we replace:
two function calls to Perl_isnan plus two comparisons,
with:
three comparisons.
Second, this makes pp_ncmp more similar to the other comparison functions,
allowing for code reuse in the future.
David Mitchell [Tue, 21 Jun 2011 13:40:12 +0000 (14:40 +0100)]
remove unreachable code from various compare ops
All the compare ops (such as pp_le), have an initial:
tryAMAGICbin_MG(le_amg, AMGf_numeric);
The effect of the AMGf_numeric flag is that, if the le overloading fails,
but either of the args on the stack is a reference, then that arg is
replaced with a temporary non-ref arg that is either the result of
'0+' overloading, or is a UV with the numerical value of the ref's
address. So by the time the main body of the op is called, neither arg
can be a ref.
Thus a whole bunch of nearly identical blocks can be removed, which *used*
to handle comparing refs:
if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
SP--;
SETs(boolSV(SvRV(TOPs) <= SvRV(TOPp1s)));
RETURN;
}
Leon Brocard [Sat, 25 Jun 2011 06:45:42 +0000 (07:45 +0100)]
Expand bump RT version number in Porting/release_managers_guide.pod
Robert generally adds future versions, so check first whether he
has first.
Alan Haggai Alavi [Sat, 25 Jun 2011 05:01:04 +0000 (10:31 +0530)]
fix `perldoc -v '$0'`
Presently, `perldoc -v '$0'` fetches the entry for $<digits> ($1, $2,
...) instead of $0 ($PROGRAM_NAME).
Father Chrysostomos [Sat, 25 Jun 2011 05:55:47 +0000 (22:55 -0700)]
Increase $Pod::Perldoc::VERSION
in preparation for the next commit.
Father Chrysostomos [Fri, 24 Jun 2011 19:31:12 +0000 (12:31 -0700)]
perldelta entry for #93454
Father Chrysostomos [Fri, 24 Jun 2011 16:29:39 +0000 (09:29 -0700)]
Tiny comment typo fix in handy.h
Father Chrysostomos [Fri, 24 Jun 2011 16:22:49 +0000 (09:22 -0700)]
Correct comment that
903fd87c missed
Karl Williamson [Fri, 24 Jun 2011 18:34:46 +0000 (12:34 -0600)]
perlunicode: Nits
a missing word, remove L<> from a verbatim block, add L<> for a module,
clarify wording
Robin Barker [Thu, 23 Jun 2011 18:12:59 +0000 (19:12 +0100)]
cast unsigned to avoid warning
Add a cast C<(unsigned)> to silence a compiler warning [-Wsign-compare]
Father Chrysostomos [Fri, 24 Jun 2011 15:17:28 +0000 (08:17 -0700)]
[perl #93454] Free deleted iterator when freeing hash
Commit 7d6175e, which did a fix-up after commit
e0171a1a3, which
introduced hfree_next_entry, did not account for the fact that
hfree_next_entry frees the hash iterator before removing and returning
the next value.
It changed the callers to check the number of keys to determine
whether anything else needed to be freed, which meant that
hfree_next_entry was called one time less than necessary on hashes
whose current iterator had been deleted and which consequently
appeared empty.
This fixes that.
I don’t know how to test it, but the string table warnings were caus-
ing test failures on VMS, so maybe that’s good enough.
Father Chrysostomos [Fri, 24 Jun 2011 13:20:16 +0000 (06:20 -0700)]
Bypass a switch in gv_fetchpvn for 2-char symbols
The switch that checks for ISA, EXPORT, etc. in packages other
than main was guarded with an if(len>1) statement. Since ISA is
three characters, we can bypass that entire switch for two-charac-
ter symbols.
Father Chrysostomos [Fri, 24 Jun 2011 06:22:29 +0000 (23:22 -0700)]
Update proto docs after prev commit
Father Chrysostomos [Fri, 24 Jun 2011 06:14:17 +0000 (23:14 -0700)]
Allow the \$ proto to accept any scalar lvalue [perl #91846]
This makes the \$ prototype’s parsing the same as the second argument
to read(), making it possible to create a custom myread() function
that has the same syntax.
This is handled in two places in the prototype-parsing code, to avoid
calling scalar() on the op if another character in \[...] will accept
it. I don’t know what the consequences of that would be. So it calls
Perl_op_lvalue_flags in the $ case only if it is not inside brackets.
Then in the ] case it checks to see whether there was a $.
OP_READ, not OP_ENTERSUB, is passed as the type to
Perl_op_lvalue_flags, since OP_ENTERSUB would allow sub foo(\$) to
accept an array as an argument. OP_RECV and OP_SYSREAD would have
worked, too.
Father Chrysostomos [Fri, 24 Jun 2011 04:58:29 +0000 (21:58 -0700)]
Make Perl_op_lvalue_flags provide a no-croak option
This is in preparation for making the \$ prototype accept any lvalue.
Father Chrysostomos [Fri, 24 Jun 2011 04:48:07 +0000 (21:48 -0700)]
op_lvalue .= _flags
Add flags param to op_lvalue, so that the caller can ask it not to
croak when encountering an unmodifiable op (upcoming).
This is in preparation for making the \$ prototype accept any lvalue.
There is no mathom, as the changes that this will support
are by no means suitable for maint.
Father Chrysostomos [Thu, 23 Jun 2011 22:01:42 +0000 (15:01 -0700)]
proto.t: Test \$ with subcall()->[elem]
This syntax was documented, but there was no test for it.
Father Chrysostomos [Thu, 23 Jun 2011 21:58:16 +0000 (14:58 -0700)]
Remove two tests from proto.t
These have been superseded by t/op/cproto.t, which came later.
Father Chrysostomos [Thu, 23 Jun 2011 17:29:57 +0000 (10:29 -0700)]
Make pp_leavesublv use S_return_lvalues
The returning code is now almost identical, due to the preceding com-
mits, so they can be merged.
Craig A. Berry [Fri, 24 Jun 2011 14:44:16 +0000 (09:44 -0500)]
realclean clean-up on VMS.
Update a few missing or moved items in the realclean target.
Craig A. Berry [Thu, 23 Jun 2011 17:55:19 +0000 (12:55 -0500)]
preplibrary needs an explicit action in descrip_mms.template.
Even if that action says "Don't do anything." MMK silently ignores
this but MMS falls down hard with:
%MMS-F-GWKNOACTS, Actions to update PREPLIBRARY are unknown.
This was broken in
ebca06e95b02d1a8cf073328af30c9f4b9af6891.
Father Chrysostomos [Thu, 23 Jun 2011 16:44:45 +0000 (09:44 -0700)]
Fix explicit return of pad var in list lv context
This is something that commit e08be60 missed, though it never worked
properly, even in 5.14, as explicit return from lvalue subs used to
copy return values.
As the commit message for e08be60 states, returning a scalar itself
from an lvalue sub does not work if it is a pad variable with a refer-
ence count of 1, because the sub-popping code clears it on exit.
The one code path that did not account for this was list lvalue con-
text (real lvalue context, not just potentially lvalue). The only
observable effect this has is that assigning to a magic pad variable
returned from a subroutine in list context will not trigger set-magic.
This commit fixes it and also adds tests for returned magic pad vars
in all combinations of list/scalar lvalue/ref context.
Father Chrysostomos [Thu, 23 Jun 2011 15:16:03 +0000 (08:16 -0700)]
Collapse the list context code in pp_leavesublv
Two branches of this three-branch if/elsif were doing the same thing.
One was written out longhand.
Father Chrysostomos [Thu, 23 Jun 2011 13:16:12 +0000 (06:16 -0700)]
Remove now-redundant check from pp_ctl.c:S_return_lvalues
This has been redundant since commit d25b0d7.
Leon Brocard [Thu, 23 Jun 2011 17:07:41 +0000 (18:07 +0100)]
Mention bump-perl-version's inplace mode in Porting/release_managers_guide.pod
Leon Brocard [Thu, 23 Jun 2011 16:39:23 +0000 (17:39 +0100)]
Seeing as Porting/bump-perl-version is run in a git directory,
instead of writing a diff file and then applying it, this adds
a -i option which makes the changes inplace
Leon Brocard [Thu, 23 Jun 2011 15:05:06 +0000 (16:05 +0100)]
Move Porting/bump-perl-version to use autodie
Leon Brocard [Thu, 23 Jun 2011 14:26:12 +0000 (15:26 +0100)]
Extract the code the maps from an author/distribution to a
CPAN URL into its own subroutine: cpan_url_distribution()
in Porting/core-cpan-diff
Nicholas Clark [Thu, 16 Jun 2011 20:31:07 +0000 (22:31 +0200)]
Test studied scalars with s///ge.
Nicholas Clark [Wed, 15 Jun 2011 11:05:11 +0000 (13:05 +0200)]
study now passes REXEC_SCREAM to the regex engine when SvSCREAM() is true.
This causes the regex engine to take advantage of the study data.
Father Chrysostomos [Thu, 23 Jun 2011 06:04:02 +0000 (23:04 -0700)]
Fix up some tests in sub_lval.t
One test was disabled long ago
Returning undef in list context was allowed by change 10777 (f206cdd)
in 2001. There was already a test for disallowing it. That test was
disabled by change 10779 (
4c8a4e58), rather than correct to test the
new behaviour.
This commit changes it to test that undef return is allowed in list
context, also adding a test for explicit return.
Father Chrysostomos [Thu, 23 Jun 2011 05:58:45 +0000 (22:58 -0700)]
Make lvalue return make the same checks as leavesublv
This causes explicit return in lvalue context to die the way implicit
return does. See the tests and the perldelta entry in the diff.
Father Chrysostomos [Thu, 23 Jun 2011 02:03:32 +0000 (19:03 -0700)]
pp_leavesublv: Put the deref code inside if(scalar)
No need to check it in list context (but still assert that).
Father Chrysostomos [Thu, 23 Jun 2011 01:59:02 +0000 (18:59 -0700)]
Make pp_leavesublv switch based on gimme
Put if(gimme == ...) on the outside and if(CxLVAL(cx)...) on the
inside. This reduces the amount of code, since the OPpENTERSUB_INARGS
case and the !CxLVAL case were both doing the same thing for scalars.
Father Chrysostomos [Thu, 23 Jun 2011 01:39:10 +0000 (18:39 -0700)]
Removed unused label from pp_leavesublv
This has been unused since
e178c744.
Father Chrysostomos [Thu, 23 Jun 2011 01:37:59 +0000 (18:37 -0700)]
Copy PADTMPs explicitly returned from lv subs
I don’t believe this changes any observable behaviour, Devel::Peek
aside. If it does, it fixes bugs.
I am making this change for two reasons:
• PADTMPs can be a bit buggy and letting them escape their subroutines
can make the bugs harder to fix.
• This brings explicit and implicit return from lvalue subroutines one
step closer (for the sake of merging the code).
Craig A. Berry [Thu, 23 Jun 2011 12:57:09 +0000 (07:57 -0500)]
Duplicate in list of .h files on VMS.
This is a bug I introduced in
66b82e1fdff51a4c821a3a249fe707cf8014a185.
Surprising it hasn't caused more trouble. When building with MMS, it's
a hard error, whereas MMK silently ignores it.
Nicholas Clark [Fri, 17 Jun 2011 14:40:30 +0000 (16:40 +0200)]
For s///r, avoid copying the source early only to edit it in place.
Instead, take advantage of the "can't edit in place" code path of pp_subst
which writes to a new scalar, and that pp_substcont always leaves the original
intact, writing to a new scalar.
Nicholas Clark [Sat, 18 Jun 2011 17:40:26 +0000 (19:40 +0200)]
Add PERL_NO_GET_CONTEXT to Math::BigInit::FastCalc.
For threaded platforms, this reduces the object code size significantly, and
should slightly reduce CPU usage.
Nicholas Clark [Mon, 20 Jun 2011 09:09:34 +0000 (11:09 +0200)]
Two small tidying refactors for TestInit.pm
Make the order of backslash and forward slash in character classes consistent.
Move the top level modification of $0 adjacent to the top level modification of
$ENV{PERL_CORE}.
Nicholas Clark [Mon, 20 Jun 2011 08:56:48 +0000 (10:56 +0200)]
Fix a (back)slash bug in a regex, added with the regex itself.
8fcfece7bab67639 added code to TestInit to set the CWD and @INC for tests in
ext. However, the regex used to distinguish where a test was had one forward
slash where a backslash should have been, hence the intended Win32 support
would not work. I'm assuming that no-one has noticed this because no-one has
tried to run tests from the command line on Win32 directly, or if they have
they always use forward slashes in their pathnames.
Nicholas Clark [Mon, 20 Jun 2011 08:50:50 +0000 (10:50 +0200)]
In TestInit, eliminate @new_inc, by assigning to @INC directly.
To decide whether to default, we can test $set_opt instead of whether @new_inc
is empty, as all places that assign to @new_inc (now to @INC) also set
$set_opt.
Nicholas Clark [Mon, 20 Jun 2011 08:33:23 +0000 (10:33 +0200)]
In TestInit, inline new_inc() and set_opt() into import(), their only caller.
Nicholas Clark [Sun, 19 Jun 2011 20:06:08 +0000 (22:06 +0200)]
In find_git_or_skip(), also check whether we have a working git executable.
Otherwise we trip up if someone copies an entire git checkout to another
machine that doesn't have (or support git), or NFS mounts their active
checkout onto it, or simply doesn't have git in their PATH currently.
Nicholas Clark [Sun, 19 Jun 2011 19:44:37 +0000 (21:44 +0200)]
find_git_or_skip() will now follow symlinks and chdir to the real source tree.
porting{authors,cmp_version,manifest}.t now use TestInit qw(T A) to set @INC
and $^X to absolute paths, in case find_git_or_skip() changes directory.
As $^X is now absolute, there's no need to choose between '/' and '\\' based
on $^O.
Nicholas Clark [Sun, 19 Jun 2011 18:35:39 +0000 (20:35 +0200)]
Use find_git_or_skip() in porting{authors,cmp_version,manifest}.t
Correct the skip count in t/porting/manifest.t. Not that this matters
currently, as the SKIP block holds the last tests in the file, and the script
uses done_testing() instead of a plan up front.
Nicholas Clark [Sun, 19 Jun 2011 18:34:37 +0000 (20:34 +0200)]
Add find_git_or_skip(), which skips if we are not in a git checkout.
Nicholas Clark [Sun, 19 Jun 2011 17:56:57 +0000 (19:56 +0200)]
use TestInit 'T' in porting{authors,cmp_version,manifest}.t to chdir '..'
These three tests run git commands from the top level of the build tree, so
need to chdir '..' if run from 't'. use TestInit 'T' to do this, as it simplify
adapting the tests to also work when the build tree is a symlink forest from
-Dmksymlinks. TestInit also sets $ENV{PERL5LIB}, avoiding the need to use -Ilib
on the command line of the programs they run.
t/porting/manifest.t now runs throughout at the top level, which simplifies it
slightly.
Nicholas Clark [Sun, 19 Jun 2011 17:39:07 +0000 (19:39 +0200)]
Add an import option 'T' to TestInit, for tests that run at the top level.
This sets @INC to 'lib, and unless we're already at the top level will
chdir '..' [on the assumption that we are starting in t].
Nicholas Clark [Sun, 19 Jun 2011 17:10:51 +0000 (19:10 +0200)]
In TestInit.pm, move the default chdir and @INC code into import().
The behaviour is consistent with previous behaviour, as the equivalent of the
new code used to be run at the top level, hence would happen (unconditionally)
before import() was called.
Nicholas Clark [Sun, 19 Jun 2011 16:13:38 +0000 (18:13 +0200)]
In TestInit.pm, merge two substitutions into one.
Both are intended to transform ./perl into ../../perl, one for forward slashes,
one for backslashes.
Father Chrysostomos [Wed, 22 Jun 2011 15:36:45 +0000 (08:36 -0700)]
Remove another CvLVALUE check from pp_leavesublv
Father Chrysostomos [Wed, 22 Jun 2011 15:35:03 +0000 (08:35 -0700)]
Move pp_leavesublv from pp_hot.c to pp_ctl.c
This is so that it can share code with pp_return. I was going to move
pp_return into pp_hot.c, but it uses static functions that other pp_
functions in pp_ctl.c use.
Father Chrysostomos [Wed, 22 Jun 2011 15:32:36 +0000 (08:32 -0700)]
Remove the CvLVALUE check from pp_leavesub
As of bb3abb0, this can no longer happen.
Chris 'BinGOs' Williams [Wed, 22 Jun 2011 16:10:36 +0000 (17:10 +0100)]
Update IO-Compress to CPAN version 2.037
[DELTA]
2.037 22 June 2011
* IO::Uncompress
- get globmapper tests working on VMS
[RT# 68926]
* IO::Uncompress::Unzip
- Fixed limitation where Streamed Stored content was not supported.
Chris 'BinGOs' Williams [Wed, 22 Jun 2011 15:53:47 +0000 (16:53 +0100)]
Update Compress-Raw-Zlib to CPAN version 2.037
[DELTA]
2.037 22 June 2011
* No Changes
Chris 'BinGOs' Williams [Wed, 22 Jun 2011 15:50:10 +0000 (16:50 +0100)]
Update Compress-Raw-Bzip2 to CPAN version 2.037
[DELTA]
2.037 22 June 2011
* No Changes
Chris 'BinGOs' Williams [Wed, 22 Jun 2011 15:41:43 +0000 (16:41 +0100)]
Update IPC-Cmd to CPAN version 0.72
[DELTA]
Changes for 0.72 Wed Jun 22 12:29:59 BST 2011
=================================================
* Added IPC::Open3 support for capturing STDOUT/STDERR
on MSWin32, prefer this over IPC::Run
Father Chrysostomos [Wed, 22 Jun 2011 15:19:55 +0000 (08:19 -0700)]
attrs.t: Test for something I almost broke
Father Chrysostomos [Wed, 22 Jun 2011 06:02:25 +0000 (23:02 -0700)]
attributes.pm: warn & don’t apply :lvalue to defined subs
This is something that ‘sub foo :lvalue;’ declarations do. This brings
attributes.pm in line with them.
See commits fff96ff and 885ef6f, ticket #68758, and
<
364E1F98-FDCC-49A7-BADB-
BD844626B8AE@cpan.org>.
Father Chrysostomos [Tue, 21 Jun 2011 21:52:50 +0000 (14:52 -0700)]
Increase $attributes::version to 0.15
I’m about to make changes to it.
Nicholas Clark [Sat, 18 Jun 2011 14:34:50 +0000 (16:34 +0200)]
In Cwd.xs, swap to defaulting to disabled prototypes.
As only 1 function enables prototypes, it seems sensible to set the default to
the majority case.
Nicholas Clark [Sat, 18 Jun 2011 14:13:00 +0000 (16:13 +0200)]
Merge the implementation of Cwd::{fastcwd,getcwd} using ALIAS.
Nicholas Clark [Sat, 18 Jun 2011 13:09:24 +0000 (15:09 +0200)]
In Cwd.xs on VMS, don't compile bsd_realpath() at all.
On VMS, call Perl_rmsexpand() directly from abs_path(), instead of making
bsd_realpath() a trivial wrapper to Perl_rmsexpand().
Initialise path at the point of declaration, instead of separately. Use
sv_setpv_mg() instead of sv_setpvn() with an explicit strlen(), changing
PUSHTARG to PUSHs(TARG) to avoid setting magic twice.
Nicholas Clark [Sat, 18 Jun 2011 12:46:08 +0000 (14:46 +0200)]
Add PERL_NO_GET_CONTEXT to Cwd.
Nicholas Clark [Sat, 18 Jun 2011 12:42:07 +0000 (14:42 +0200)]
In Cwd::_win32_cwd() avoid a string eval when checking if we're miniperl.
To allow ExtUtils::MakeMaker to run tests as if it's "miniperl" we need to avoid
taking any sort of reference to the typeglob or the code in the optree, as its
test modules are loaded later than Cwd. Previously this was done with a string
eval, but that was causing problems (for unclear reasons - rt.cpan.org #56225).
Using a symbol table lookup and *foo{THING} syntax avoids the string eval.
Evolved from a suggestion by Reini Urban.
Nicholas Clark [Wed, 22 Jun 2011 10:44:05 +0000 (12:44 +0200)]
Trim multiple blank lines above =item in pod files.
This makes many documents more consistent in their pod formatting. Don't trim
blank lines between verbatim blocks and =item, as removing them makes the (raw)
pod harder to read.
Nicholas Clark [Wed, 22 Jun 2011 09:56:50 +0000 (11:56 +0200)]
The podchecker much prefers a forward slash in F<symbian/TODO>
It looks for the file within the F<> - on *nix, 'symbian\TODO' doesn't exist,
so the line is flagged as a known issue. On Windows, it does exist (because
at the API level, / and \ are both valid as directory separators), so there is
no known issue, and the test fails with a request to delete the known issue.
README.symbian is not consistent in its use of backward or forward slashes
inside F<> markup, so this isn't the first use of a forward slash.
(The podchecker has other exemption rules for F<>, hence why this doesn't
matter in some cases.)
Chris 'BinGOs' Williams [Tue, 21 Jun 2011 20:41:34 +0000 (21:41 +0100)]
Update IO-Compress to CPAN version 2.036
[DELTA]
2.036 18 June 2011
* IO::Compress::Zip & IO::Uncompress::Unzip
- Added support for LZMA (method 14) compression/uncompresion.
* IO::Compress::Unzip
- Fixed CRC issue when compression is Store or Bzip2 and Strict option
is set.
* IO::Compress::Zip
- Fixed Zip64 issue where the content size is exactly 0xFFFFFFFF
Chris 'BinGOs' Williams [Tue, 21 Jun 2011 20:29:05 +0000 (21:29 +0100)]
Update Compress-Raw-Zlib to CPAN version 2.036
[DELTA]
2.036 6 May 2011
* Added offset parameter to CRC32
Chris 'BinGOs' Williams [Tue, 21 Jun 2011 20:15:55 +0000 (21:15 +0100)]
Update Compress-Raw-Bzip2 to CPAN version 2.036
[DELTA]
2.036 18 June 2011
* No Changes
Father Chrysostomos [Tue, 21 Jun 2011 20:37:45 +0000 (13:37 -0700)]
podcheck.t: ignore buildtoc output
Father Chrysostomos [Tue, 21 Jun 2011 19:46:55 +0000 (12:46 -0700)]
Re-clarify the pod.lst instruction
Well, it was unclear enough that I misunderstood it and my
previous clarification was wrong. This corrects it.
Father Chrysostomos [Tue, 21 Jun 2011 20:33:47 +0000 (13:33 -0700)]
Stop ‘sub :lvalue :Foo’ from applying :lvalue to defined subs
This is something that commit 885ef6f missed. See ticket #68758 and
the perldelta diff in this commit.
I thought that the prototype-application inconsistencies mention in
<
2C7C1BF5-A814-4F5E-B10E-
E431B71BA8CA@cpan.org> would get in the way
of this, but I found that the easiest way to fix it actually did not
change any of that. So those issues can wait till another day.
Nicholas Clark [Tue, 21 Jun 2011 19:50:32 +0000 (21:50 +0200)]
Re-flow some sample text in the perldelta template to avoid an overlong line.
Porting/perldelta_template.pod is exempt from t/porting/podchecker.t, but when
its contents are copied as pod/perldelta.pod, that file is not. This change
reduces the amount of work the release manager needs to do to create a new
perldelta.
Nicholas Clark [Tue, 21 Jun 2011 18:54:21 +0000 (20:54 +0200)]
Add perldelta "known issues" to the podchecker exception list.
Porting/perldelta_template.pod is exempted from t/porting/podchecker.t
Hence when it is copied to pod/perldelta.pod, exceptions need to be added for
certain template boilerplate it contains, which are not valid pod
(but ultimately will be edited out before the release).
This doesn't seem ideal, but I'm not sure of a better way to do this.
Nicholas Clark [Tue, 21 Jun 2011 17:51:51 +0000 (19:51 +0200)]
Add perl5151delta to pod.lst and regenerate makefiles.
Father Chrysostomos [Tue, 21 Jun 2011 15:43:11 +0000 (08:43 -0700)]
Clarify the pod.lst instruction in rm guide
Father Chrysostomos [Tue, 21 Jun 2011 15:41:54 +0000 (08:41 -0700)]
Grrr! I always forget to add new files
Eric Brine [Wed, 2 Mar 2011 22:30:17 +0000 (17:30 -0500)]
[perl #78462] Don't warn for splice(@a,MAX_LEN)
The intent of splice(@a,MAX_LEN) is quite clearly to truncate
the array if it's too large. There's no reason to warn if it's
currently smaller than the max length.
Father Chrysostomos [Tue, 21 Jun 2011 15:37:04 +0000 (08:37 -0700)]
create perldelta for 5.15.1
Father Chrysostomos [Tue, 21 Jun 2011 05:31:01 +0000 (22:31 -0700)]
Increase $Storable::VERSION to 2.29
Father Chrysostomos [Tue, 21 Jun 2011 05:26:08 +0000 (22:26 -0700)]
Add Sam Kimbrel to AUTHORS
Sam Kimbrel [Tue, 21 Jun 2011 05:24:42 +0000 (22:24 -0700)]
[perl #92432] Storable::nfreeze shouldn't stringify ints
Storable::nfreeze's integer size check doesn't work correctly:
Using nfreeze to store an int larger than one byte produces a
frozen representation that thaws into a stringified integer, without
my having done string operations on the scalar beforehand.
I've confirmed this bug with the three versions I had available to me:
5.8.9 on 64-bit CentOS 4, 5.12.1 on 64-bit OS X 10.6, and
5.14.0 on 64-bit Debian squeeze.
The constants involved in the comparisons get created as 32-bit integers,
which wrap around and cause the comparison to yield true when it shouldn't.
This patch casts the constants before using them, which should make this
port correctly to 64-bit architectures. Running tests on a 64-bit Debian
host shows no problems.
Nicholas Clark [Tue, 21 Jun 2011 15:00:52 +0000 (17:00 +0200)]
In pod/buildtoc, use abs_from_top() to generate pathnames.
88fb56ecc95f23db used 'pod/perldelta.pod' instead of abs_from_top(), and broke
the build on Win32, which runs buildtoc from the win32 directory.
Zefram [Tue, 21 Jun 2011 13:52:32 +0000 (14:52 +0100)]
update Time-HiRes to CPAN version 1.9724
- Correct XS parameter list, and therefore prototype, for
unimplemented-on-this-platform version of clock_nanosleep()
[rt.cpan.org #68700].
- Declare package variables with "our" rather than "use vars".
- Corresponding to "our" usage, check for minimum Perl version
5.006.
- Declare module dependencies.
- Remove $ENV{PERL_CORE} logic from test suite, which is no
longer desired in the core.
- Convert test suite to use Test::More.
- Factor out watchdog code from test suite.
- In test suite, be consistent about using fully-qualified form
of function names.
- Divide test suite into feature-specific scripts.
- Make ualarm timing test less vulnerable to delay-induced false
failure, from Dave Mitchell.
Zefram [Tue, 21 Jun 2011 13:37:37 +0000 (14:37 +0100)]
update Math-Complex to CPAN version 1.58
* Declare package variables with "our" rather than "use vars".
* Corresponding to "our" usage, check for minimum Perl version
5.006.
* Remove $ENV{PERL_CORE} logic from test suite, which is no
longer desired in the core.
* In test suite, remove obsolete and now-incomplete handling of
unavailability of Test::More.
* Declare module dependencies.
David Golden [Tue, 21 Jun 2011 14:50:33 +0000 (10:50 -0400)]
update release schedule document
Karl Williamson [Mon, 20 Jun 2011 19:35:38 +0000 (13:35 -0600)]
perlunicode: Narrow verabitm lines so don't wrap
For 80 columns, this collection of spacing changes keeps all
lines in this pod from wrapping.
Karl Williamson [Mon, 20 Jun 2011 01:56:41 +0000 (19:56 -0600)]
podcheck.t: sort --add_link output
The recently added --add_link option just appended lines to the end of
the data base file. While this works, it means that the next time the
db is regen'd, that they will move around and show up in difference
listings unrelated to the original patch, thus potentially confusing
people.
Karl Williamson [Sun, 19 Jun 2011 19:12:18 +0000 (13:12 -0600)]
podcheck.t: Reduce F<> message false positives
podcheck looks for things that might be file path references which
are enclosed in C<> instead of F<>. But there are some things that
aren't paths that have slashes in them, like "origin/blead" This
adds some more of these.
Karl Williamson [Sun, 19 Jun 2011 19:11:25 +0000 (13:11 -0600)]
podcheck.t: White-space only changes
Karl Williamson [Sun, 19 Jun 2011 19:06:22 +0000 (13:06 -0600)]
podcheck: Reduce fals positives for L<> message
podcheck looks for things like "See C<INSTALL>" and flags them as
perhaps L<> should have been used instead. It was giving false
positives for things like "if you do x, you should see C<foo>". This
catches those.
Karl Williamson [Sun, 19 Jun 2011 18:48:51 +0000 (12:48 -0600)]
podcheck: Fix skip upstream cpan
Normally upstream cpan modules are not pod checked, but in the
one case where two had the same name, an error was generated
nonetheless.
Karl Williamson [Sun, 19 Jun 2011 16:20:32 +0000 (10:20 -0600)]
podcheck.t: Fewer false positives for L<>
If there is a F<foo/bar> and a file named bar in the directory foo
exists, then assume that is what was meant, instead of raising
the possibility that L<> was meant.
Karl Williamson [Sun, 19 Jun 2011 16:12:11 +0000 (10:12 -0600)]
podcheck.t: Suppress all L<> messages for config.pod
config.pod is a generated file that just adds C<> around all-caps words.
Until such time as it is made smarter to use L<> for links instead,
just suppress the messages that L<> might be better.