Zefram [Fri, 23 Apr 2010 01:22:54 +0000]
bring G_KEEPERR back to the realm of sanity
Makes the G_KEEPERR logic more consistent, and in particular make it
sensibly handle non-string exceptions. An exception in a destructor
is now always emitted as a warning, and never copied or merged into
$@ of the surrounding context. No more clobbering exceptions being
handled elsewhere, and no more double reporting. This fixes the rest of
[perl #74538].
Zefram [Fri, 23 Apr 2010 00:52:47 +0000]
SV-based interfaces for dieing and warning
New functions croak_sv(), die_sv(), mess_sv(), and warn_sv(), each act
much like their _sv-less counterparts, but take a single SV argument
instead of sprintf-like format and args. They will accept RVs, passing
them through as such. This means there's no more need to clobber ERRSV
in order to throw a structured exception.
pp_warn() and pp_die() are rewritten to use the _sv interfaces.
This fixes part of [perl #74538]. It also means that a structured
warning object will be passed through to $SIG{__WARN__} instead of
being stringified, thus bringing warn in line with die with respect to
structured exception objects.
The new functions and their existing counterparts are all fully
documented.
Zefram [Tue, 20 Apr 2010 20:32:53 +0000]
make die reliably hand error to post-eval code
Put the exception into $@ last thing before longjmping to the op following
the eval block, where previously it went into $@ before unwinding the
stack. This change means that the exception is not liable to be lost
by $@ being clobbered by destructors, cleanup code, or restoration after
"local $@". The code running immediately after eval can now rely on $@
accurately indicating the exception status of the eval.
Michael G Schwern [Tue, 20 Apr 2010 13:37:57 +0000]
[rt.cpan.org #56740] Format Perl versions >= 5.6.0 as X.Y.Z
Decimal style Perl version numbers are increasingly awkward. 5.01 or
5.010000 is hard to equate with 5.10.0. It would be easier to read if
Module::CoreList formatted version numbers from 5.6 onward as dotted
versions to match how they are presented elsewhere.
Rafael Garcia-Suarez [Tue, 20 Apr 2010 13:14:45 +0000]
Don't show aliased perl version numbers twice in corelist -a output
(bug [rt.cpan.org #56739])
Rafael Garcia-Suarez [Tue, 20 Apr 2010 13:10:43 +0000]
Typo fix in version number alias 5.013
Steffen Mueller [Tue, 20 Apr 2010 06:28:49 +0000]
Module::Pluggable has upstream => cpan
According to Simon Wistow.
chromatic [Mon, 19 Apr 2010 23:54:00 +0000]
Replace mention of Switch.pm with given/when
Leon Brocard [Mon, 19 Apr 2010 20:21:34 +0000]
Add another alias for Robin Barker
Leon Brocard [Mon, 19 Apr 2010 20:14:55 +0000]
Spaces not tabs
Leon Brocard [Mon, 19 Apr 2010 20:13:10 +0000]
Bump version number EU::MM is "first-come" so we have forked it
Leon Brocard [Mon, 19 Apr 2010 20:09:45 +0000]
Leon Brocard [Mon, 19 Apr 2010 20:08:50 +0000]
Leon Brocard [Mon, 19 Apr 2010 20:06:30 +0000]
Bump version number EU::MM is "first-come" so we have forked it
Ævar Arnfjörð Bjarmason [Mon, 19 Apr 2010 19:47:43 +0000]
Document prctl() via $0 assignment (
7636ea95c5) in perldelta
Ævar Arnfjörð Bjarmason [Mon, 19 Apr 2010 19:46:39 +0000]
Add =head2 to the perldelta change in
da76b8593e
Ricardo Signes [Sat, 17 Apr 2010 18:34:28 +0000]
clarification of multi-bracket format
Nicholas Clark [Mon, 19 Apr 2010 14:35:59 +0000]
Possible undefined behaviour, spotted by gcc 4.5.0 and HP's updated compiler.
Gisle Aas [Sun, 18 Apr 2010 22:04:41 +0000]
Revert "Documentation tweaks to Text::Tabs"
This change was reported upstream in <https://rt.cpan.org/Ticket/Display.html?id=56699>.
Committing it directly to blead was a mistake.
This reverts commit
f6e2320c520b8d610a864cd42aece1f0df2db895.
Gisle Aas [Sun, 18 Apr 2010 20:36:46 +0000]
Let the cmdVERSION usage message expand $0
It makes more sense than literally printing "usage: $0 ..."
Gisle Aas [Sun, 18 Apr 2010 20:58:02 +0000]
Documentation tweaks to Text::Tabs
Steffen Mueller [Sun, 18 Apr 2010 15:45:05 +0000]
Bring Porting/Maintainers in sync with reality regarding Scalar-List-Utils
Gisle Aas [Tue, 2 Feb 2010 22:22:15 +0000]
Update to MIME-Base64 3.09
Fixes issue where the Quoted-Printable encoder would sometimes output
lines that were 77 characters long. The max line length should be 76.
This reverts revert
9ef40646096384d9f65acffab1b9a2df07d03a0c.
Gisle Aas [Sat, 27 Mar 2010 06:55:51 +0000]
Escape patch strings before embedding them in patchlevel.h
Gisle Aas [Sun, 18 Apr 2010 15:13:46 +0000]
Passing regexp vars as argument is unsafe
In this case $_[0] is unexpectedly modified by matching a regular
expression inside the function, making it report bad file names.
Gisle Aas [Sun, 18 Apr 2010 15:12:24 +0000]
Avoid "Use of uninitialized value $base" for the CPANPLUS .hidden file
Steffen Mueller [Sun, 18 Apr 2010 14:52:44 +0000]
Do not clobber %ENV in EU::MM test
175046355f07701 introduced an error in the ExtUtils::MakeMaker
prerequisites tests in that it clobbers %ENV instead of just locally
overriding $ENV{PERL_CORE}.
Steffen Mueller [Sun, 18 Apr 2010 14:24:20 +0000]
EU::MakeMaker shouldn't warn about prereqs in core
This silences warnings about missing prerequisites when part of a perl
core build. Triggered by #74442.
Robin Barker [Thu, 15 Apr 2010 20:14:23 +0000]
Make abstract_from more robust
A few distributions in the perl source failure for abstract_from
Rather than fix the individual files I have made the parsing process
more robust.
Nicholas Clark [Sun, 18 Apr 2010 12:24:20 +0000]
Move PERL_ASYNC_CHECK() from POPBLOCK() to the kill case of Perl_apply().
This ensures that (safe) signals sent to the same process are still dispatched
within the same statement (as before), without overloading the semantics of
block popping.
Nicholas Clark [Sat, 17 Apr 2010 20:56:23 +0000]
Note the revised signal dispatch and performance gain in perl5130delta.pod.
Nicholas Clark [Sat, 17 Apr 2010 20:24:21 +0000]
Dispatch signals in infinite loops such as 1 while 1;
With the move of PERL_ASYNC_CHECK() out from the runloop to control ops,
infinite loops became truely infinite, as their optree has no control ops.
Hence add a PERL_ASYNC_CHECK() to pp_unstack to ensure signals will be
dispatched.
Bug noticed by Jerry Hedden.
Nicholas Clark [Sat, 17 Apr 2010 19:11:49 +0000]
Fix RT #74290 - regression for labels immediately before string evals.
Fix location identified by Father Chrysostomos, who also offered a patch, but
this patch is more efficient, as it avoids any allocation. Test code based on
his test example.
Nicholas Clark [Sat, 17 Apr 2010 13:44:36 +0000]
In Perl_get_debug_opts(), restructure the message into fewer string literals.
This reduces the object code size slightly.
Nicholas Clark [Sat, 17 Apr 2010 12:13:39 +0000]
In S_usage(), restructure the storage of the help message into fewer literals.
This reduces the object code size slightly.
Alex Vandiver [Sat, 17 Apr 2010 03:54:11 +0000]
Also guess $ENV{EMAIL}, if present, as the originating address
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
H.Merijn Brand [Fri, 16 Apr 2010 15:47:15 +0000]
[PATCH] [5.12] Allow build on aix 4.2 (sigaction and IPv6)
Based on a patch by AUGUSTE-ETIENNE José <jose.auguste-etienne@cgss-guyane.fr>
The attached patches are necessary to work around aix 4.2 lack of support for IPv6,
and limited support for POSIX sigaction()
The hints/aix_4.sh patch solves the following build failure:
"Socket.xs", line 468.16: 1506-007 (S) "struct in6_addr" is undefined.
The ext/POSIX/t/sigaction.t patch solves the failing test reported a looong time ago:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-01/msg01124.html
After testing a simple C program using POSIX sigaction() with SA_SIGINFO,
I found that it worked on aix 4.3 but failed on aix 4.2.
I think it's safe to skip the SA_SIGINFO test on the aix 4.2 platform.
perl 5.12.0 builds fine on the following platforms / C compiler :
aix 4.2.1 / vac 5.0.2.7 (with attached patches)
aix 4.3.2 / gcc 2.95.3
aix 4.3.3 / vac 4.4.0.3
aix 4.3.3 / vac 5.0.28
aix 5.2 / GNUpro gcc 2.9.aix51.020209
The atatched patches should be applied to blead and maint.
H.Merijn Brand [Fri, 16 Apr 2010 12:03:05 +0000]
Merge branch 'blead' of perl5.git.perl.org:/gitroot/perl into blead
Rafael Garcia-Suarez [Thu, 15 Apr 2010 20:40:32 +0000]
Add new Data::Dumper test file to MANIFEST
Steffen Mueller [Thu, 15 Apr 2010 19:57:15 +0000]
Upgrade Data::Dumper to 2.126 CPAN release
No significant changes, just synchronization to the exact release.
Michael G. Schwern [Thu, 15 Apr 2010 19:29:43 +0000]
Fix Data::Dumper's Fix Terse(1) + Indent(2)
RT #73604: When $Data::Dumper::Terse is true, the indentation is thrown
off. It appears to be acting as if the $VAR1 = is still there.
Niko Tyni [Sat, 27 Mar 2010 19:38:34 +0000]
Fix a test failure in perl5db.t when Term::ReadLine::Gnu is installed
With Term::ReadLine::Gnu on @INC, the debugger output will include
terminal escape sequences even when empty otherwise. This makes
lib/perl5db.t test 7 ("proxy constant subroutines") fail.
Most of the other tests are already run with ReadLine support disabled, so
bring this one in line too.
Ævar Arnfjörð Bjarmason [Thu, 15 Apr 2010 18:06:24 +0000]
Point submitters to perlbug@perl.org, not perl5-porters@perl.org
We usually want patches in RT. Patches should only go to perl5-porters
if they're intended purely for discussion.
Ævar Arnfjörð Bjarmason [Thu, 15 Apr 2010 17:12:04 +0000]
Set the legacy process name with prctl() on assignment to $0 on Linux
Ever since perl 4.000 we've only set the POSIX process name via
argv[0]. Unfortunately on Linux the POSIX name isn't used by utilities
like top(1), ps(1) and killall(1).
Now when we set C<$0 = "hello"> both C<qx[ps h $$]> (POSIX) and
C<qx[ps hc $$]> (legacy) will say "hello", instead of the latter being
"perl" as was previously the case.
See also the March 9 2010 thread "Why doesn't assignment to $0 on
Linux also call prctl()?" on perl5-porters.
Rafael Garcia-Suarez [Thu, 15 Apr 2010 14:46:40 +0000]
Bump $VERSION of IPC::Open3 to 1.06
Eric Brine [Mon, 18 Jan 2010 18:21:20 +0000]
open3 errors in child croak parent RT#72016
Errors in open3 no longer appear to originate from the executed command on forking systems.
Eric Brine [Mon, 18 Jan 2010 04:44:14 +0000]
Add TODO test for RT#72016
Steffen Mueller [Thu, 15 Apr 2010 14:42:48 +0000]
Bump threads version to 1.77_01
This is due to the POD fix of
b91a79b929f6eca75f18124340d2f0f89b9588a9.
Steffen Mueller [Thu, 15 Apr 2010 13:24:57 +0000]
Upgrade to threads-shared-1.33
Steffen Mueller [Thu, 15 Apr 2010 09:12:04 +0000]
Upgrade dist/threads to 1.77 from CPAN
While doing so fix a tiny, little POD error to prevent breakage of core
tests. (blead is upstream for threads.pm)
Ævar Arnfjörð Bjarmason [Thu, 15 Apr 2010 13:40:33 +0000]
Simplify the perldelta howto by using Git features
`git-log' can generate a list of authors without perl's help and
`git-diff` can produce a diffstat without diffstat(1).
Nicholas Clark [Thu, 15 Apr 2010 13:03:08 +0000]
Fix code before statement error introduced by
f410a2119920dd04.
Hugo van der Sanden [Thu, 15 Apr 2010 12:05:38 +0000]
Avoid redundant reload of PL_op in the runloop.
(gcc, at least, generates suboptimal code without this dirty great hint)
Nicholas Clark [Thu, 15 Apr 2010 10:37:53 +0000]
Move PERL_ASYNC_CHECK() from the runloop to control flow OPs.
For the typical code this gives a 5% speedup, and removes the cost of "safe
signals". Tight looping code will show less gains, but should never be slower.
Subtle bugs might remain - there might be constructions that enter the runloop
(where signals used to be dispatched) but don't contain any PERL_ASYNC_CHECK()
calls themselves.
David Mitchell [Thu, 15 Apr 2010 09:29:56 +0000]
mark two magic.t tests as TODO
fixing a bool cast bug exposes a hidden bug in @+ scope.
Mark as TODO for now.
David Mitchell [Thu, 15 Apr 2010 09:20:50 +0000]
use cBOOL for bool casts
bool b = (bool)some_int
doesn't necessarily do what you think. In some builds, bool is defined as
char, and that cast's behaviour is thus undefined. So this line in mg.c:
const bool was_temp = (bool)SvTEMP(sv);
was actually setting was_temp to false even when the SVs_TEMP flag was set.
Fix this by replacing all the (bool) casts with a new cBOOL() cast macro
that (hopefully) does the right thing.
Florian Ragwitz [Wed, 20 Jan 2010 16:12:34 +0000]
Fix a minor perl5114delta error.
Florian Ragwitz [Thu, 18 Mar 2010 14:13:40 +0000]
Remove 'delete &function' from perltodo.
It wouldn't add any new feature we don't already have and be inconsistent with
the behaviour of other things.
Rafael Garcia-Suarez [Thu, 15 Apr 2010 08:54:32 +0000]
[perl #74372] := warning not in perldiag
Missing warning description noticed by Zefram
Karl Williamson [Wed, 14 Apr 2010 03:25:36 +0000]
PATCH: [perl #72998] regex looping
If a character folds to multiple ones in case-insensitive matching,
it should not match just one of those, or the regular expression can
loop. For example, \N{LATIN SMALL LIGATURE FF} folds to 'ff', and so
"\N{LATIN SMALL LIGATURE FF}" =~ /f+/i
should match. Prior to this patch, this function returned that there is
a match, but left the matching string pointer at the beginning of the
"\N{LATIN SMALL LIGATURE FF}" because it doesn't make sense to match
just half a character, and at this level it doesn't know about the '+'.
This leaves things in an inconsistent state, with the reporting of a
match, but the input pointer unchanged, the result of which is a loop.
I don't know how to fix this so that it correctly matches, and there are
semantic issues with doing so. For example, if
"\N{LATIN SMALL LIGATURE FF}" =~ /ff/i
matches, then one would think that so should
"\N{LATIN SMALL LIGATURE FF}" =~ /(f)(f)/i
But $1 and $2 don't really make sense here, since they both refer to the
half of the same character.
So this patch just returns failure if only a partial character is
matched. That leaves things consistent, and solves the problem of
looping, so that Perl doesn't hang on such a construct, but leaves the
ultimate solution for another day.
Rafael Garcia-Suarez [Thu, 15 Apr 2010 07:35:07 +0000]
Upgrade to CGI.pm 3.49
H.Merijn Brand [Wed, 14 Apr 2010 14:14:16 +0000]
Between parens is the unit name
Strip trailing blank. Manual fix after metaunit fix
3e6d782f8c2ac2b94d9f217b0a91989b144feca4
H.Merijn Brand [Wed, 14 Apr 2010 13:59:22 +0000]
Merge branches 'blead' and 'blead' of perl5.git.perl.org:/gitroot/perl into blead
H.Merijn Brand [Wed, 14 Apr 2010 13:46:42 +0000]
Merge branches 'blead' and 'blead' of perl5.git.perl.org:/gitroot/perl into blead
Jesse Vincent [Wed, 14 Apr 2010 13:29:31 +0000]
Add the new maint policy to perlpolicy.pod
Zefram [Wed, 14 Apr 2010 12:05:57 +0000]
[perl #74038] c2ph (and pstruct) use the deprecated 'getopts.pl' library
Chris Williams [Wed, 14 Apr 2010 10:44:41 +0000]
Changes to CPANPLUS and CPANPLUS::Dist::Build tests
Add the utils/ dir to $ENV{PATH} if running under PERL_CORE for the
CPANPLUS/CPANPLUS-Dist-Build tests.
Both modules' testsuites require access to the cpanp-run-perl script
and the version in utils/ is already executable versus the version
in cpan/CPANPLUS/bin
David Mitchell [Wed, 14 Apr 2010 09:36:45 +0000]
add step to update RT version numbers in release_managers_guide
Zefram [Wed, 14 Apr 2010 07:29:15 +0000]
[perl #74006] 5.12.0-RC stuffing bug
There's a small bug in lex_stuff_pvn() that causes spurious syntax errors
in an obscure situation. It happens if stuffing is performed on the
last line of a file, and the line ends with a statement that lacks its
terminating semicolon. Attached patch fixes and adds test.
Craig A. Berry [Wed, 14 Apr 2010 02:55:58 +0000]
Allow extension building on older (pre 7.3-2) VMS systems.
DCL symbol length was limited to 1K up until about seven years or
so ago, but there was no particularly deep reason to prevent those
older systems from configuring and building Perl.
Craig A. Berry [Wed, 14 Apr 2010 00:51:31 +0000]
Clarify HAS_PRCTL_SET_NAME definition in Porting/Glossary.
David Golden [Wed, 14 Apr 2010 01:36:01 +0000]
Jesse Vincent [Tue, 13 Apr 2010 20:47:49 +0000]
Revert "Revert "* Fixed typo in toke.c docs, identified by Zefram""
This reverts commit
06164d6c3ad67ed7ba18030ae378f46f482a29af.
Josh ben Jore [Tue, 13 Apr 2010 14:53:12 +0000]
Add emacs/vim hints
Josh ben Jore [Tue, 13 Apr 2010 14:52:05 +0000]
Re-flow some errantly formatted pod
Josh ben Jore [Tue, 13 Apr 2010 06:48:25 +0000]
Detabify perldtrace.d
Nga Tang Chan [Tue, 13 Apr 2010 16:10:35 +0000]
[perl #73560] [PATCH] Fix typos in Pod::Functions
(also, bump $VERSION)
Rafael Garcia-Suarez [Tue, 13 Apr 2010 16:03:18 +0000]
Reintroduce a lot of missing modules into perlmodlib.pod
That was due to the great move of dual-life modules into cpan/ and
dist/. This fixes the bug: [perl #74332] lots of modules missing from
perlmodlib.
Father Chrysostomos [Tue, 13 Apr 2010 15:20:19 +0000]
[perl #73712] ‘Variable is not imported’ cannot be suppressed
The message ‘Variable "%s" is not imported’ cannot be suppressed, even
with -X (local $SIG{__WARN__}=sub{} is what I have to use):
perl -Xle '$foo;use strict; eval q/$foo/ or die "---$@---"'
Variable "$foo" is not imported at (eval 1) line 2.
---Global symbol "$foo" requires explicit package name at (eval 1) line 2.
--- at -e line 1.
This is because we have what appears to the user to be a multi-line
error message. It is in fact a warning ‘Variable...’ followed by an
error ‘Global symbol...’.
The attached patch assigns a warning category to the warning.
Chris Williams [Tue, 13 Apr 2010 15:08:23 +0000]
Fix the abstract in Module::CoreList's META.yml
Slaven Rezic [Mon, 29 Mar 2010 20:19:37 +0000]
* eliminated OP_SETSTATE also in comments
H.Merijn Brand [Tue, 13 Apr 2010 13:22:53 +0000]
Add d_prctl* for all other OS's
This was missing from
c796e3db23c597b99f07485542338844e61a6a69
H.Merijn Brand [Mon, 29 Mar 2010 08:16:44 +0000]
Probe for prctl () and check id PR_SET_NAME is supported
H.Merijn Brand [Wed, 24 Mar 2010 07:58:29 +0000]
Note how to deal with broken dbm.h on OpenSUSE
H.Merijn Brand [Mon, 15 Mar 2010 15:33:22 +0000]
Allow -Duse64bitint without promoting to use64bitall on HP-UX
Fix for http://rt.perl.org/rt3/Public/Bug/Display.html?id=17736
Frank Wiegand [Thu, 8 Apr 2010 20:16:30 +0000]
fix a2p example
David Mitchell [Tue, 13 Apr 2010 10:00:30 +0000]
fix minor casting issue
David Mitchell [Tue, 13 Apr 2010 10:00:09 +0000]
Merge commit 'origin/davem/post-5.12' into blead
Ævar Arnfjörð Bjarmason [Tue, 13 Apr 2010 09:48:20 +0000]
Before
96a8704c makedepend.SH used shell quote syntax that modern
shells barf on. Document how to work around this in the example bisect
script.
Ævar Arnfjörð Bjarmason [Tue, 13 Apr 2010 09:46:48 +0000]
When your bisect starts to go into perl-5.9.* territory `make -j4'
fails on Config.pm due to some race condition. This'll turn what would
otherwise be a bad/good report into skip.
Rafael Garcia-Suarez [Tue, 13 Apr 2010 09:45:11 +0000]
Fix test comment (noticed by Alex Vandiver)
Rafael Garcia-Suarez [Tue, 13 Apr 2010 09:42:12 +0000]
[perl #74198] Typo in perlop(1)
reported by rrt@sc3d.org
Rafael Garcia-Suarez [Fri, 9 Apr 2010 10:25:54 +0000]
when(scalar) without argument should be a syntax error [perl #74114]
Rafael Garcia-Suarez [Fri, 9 Apr 2010 10:29:04 +0000]
Ignore Devel/DProf test files in the git repository
Jesse Vincent [Tue, 13 Apr 2010 03:52:50 +0000]
Add the 5.13 deprecation stanza to Module::Corelist to make tests happy
Jesse Vincent [Tue, 13 Apr 2010 03:32:12 +0000]
feature.pm now knows about 5.13
Jesse Vincent [Tue, 13 Apr 2010 03:15:56 +0000]
Bump to 5.13.0
Jesse Vincent [Tue, 13 Apr 2010 03:03:05 +0000]
Create a perl5130delta.pod
Jesse Vincent [Mon, 12 Apr 2010 13:01:09 +0000]
Removing the RC marker from patchlevel.h
Jesse Vincent [Mon, 12 Apr 2010 12:43:28 +0000]
Revert "* Fixed typo in toke.c docs, identified by Zefram"
The commit was good, but we're in freeze for 5.12.0. I'd be happy to
see this hit blead again after 5.12.0 is tagged.
This reverts commit
675ac12c19e6fe00eff6e604a7d637bf621997ef.