Florian Ragwitz [Tue, 27 Jul 2010 12:05:42 +0000 (14:05 +0200)]
Bump $ExtUtils::ParseXS::VERSION to non-dev version
It's upstream => blead now.
Florian Ragwitz [Tue, 27 Jul 2010 12:02:15 +0000 (14:02 +0200)]
Move ExtUtils::ParseXS from cpan/ to dist/
Both Ken and David agree with this.
Rafael Garcia-Suarez [Tue, 27 Jul 2010 08:42:29 +0000 (10:42 +0200)]
Document in perldelta Karl's work I just merged
The original branch was putting this paragraph in perl5133delta.pod.
Rafael Garcia-Suarez [Tue, 27 Jul 2010 08:31:34 +0000 (10:31 +0200)]
Merge remote branch 'khwilliamson/ncharnames' into blead
Conflicts:
pod/perl5133delta.pod
Karl Williamson [Sun, 25 Jul 2010 19:13:10 +0000 (13:13 -0600)]
Change function signature of grok_bslash_o
The previous return value where NULL meant OK is outside-the-norm.
Karl Williamson [Sun, 25 Jul 2010 17:48:05 +0000 (11:48 -0600)]
Correct pod in numeric.c
Karl Williamson [Sun, 25 Jul 2010 17:46:45 +0000 (11:46 -0600)]
Correct comment in toke.c
Karl Williamson [Sun, 25 Jul 2010 17:18:39 +0000 (11:18 -0600)]
embed.fnc: correct comments
Karl Williamson [Sun, 25 Jul 2010 17:15:56 +0000 (11:15 -0600)]
Mark grok_bslash functions as intfce changeable
George Greer [Tue, 27 Jul 2010 03:11:42 +0000 (23:11 -0400)]
Keep test output pretty by actually using skip_all()'s message...
George Greer [Tue, 27 Jul 2010 03:02:40 +0000 (23:02 -0400)]
MSWin32's "-x" checks file extension, so it isn't useful for exec-bit.t
George Greer [Tue, 27 Jul 2010 02:56:44 +0000 (22:56 -0400)]
Add filename with spurious +x bit to diag in t/porting/exec-bit.t
This is for the benefit of smoke logs where the "not ok" aren't
shown but the diag() output is.
Florian Ragwitz [Mon, 26 Jul 2010 20:42:37 +0000 (22:42 +0200)]
Bump $ExtUtils::ParseXS::VERSION
Florian Ragwitz [Mon, 26 Jul 2010 17:20:47 +0000 (19:20 +0200)]
Move B::Lint from cpan/ to dist/
Josh confirmed that blead should be upstream.
Florian Ragwitz [Mon, 26 Jul 2010 15:43:02 +0000 (17:43 +0200)]
Nicholas Clark [Mon, 26 Jul 2010 14:35:43 +0000 (15:35 +0100)]
Resort MANIFEST.
Lubomir Rintel [Mon, 26 Jul 2010 14:05:05 +0000 (16:05 +0200)]
Restore errno if signal handler changes it
It's way too easy to forget to "local $!" in signal handlers and
changing $! when signal hits between two ops is probably never useful.
Florian Ragwitz [Tue, 20 Jul 2010 20:58:24 +0000 (22:58 +0200)]
Check API compatibility when loading xs modules
This adds PL_apiversion, allowing the API version of a running interpreter to be
introspected. It is used in the new XS_APIVERSION_BOOTCHECK macro, which is
added to the _boot function of every XS module, to compare it against the API
version the module has been compiled against. If the versions do not match, an
exception is thrown.
This doesn't fully prevent binary incompatible extensions to be loaded. It
merely compares PERL_API_* between compile- and runtime, and does not attempt to
solve the problem of identifying binary incompatible perls with the same API
version (i.e. the same perl version configured with and without DEBUGGING).
Florian Ragwitz [Mon, 26 Jul 2010 13:47:43 +0000 (15:47 +0200)]
Update AUTHORS
Florian Ragwitz [Mon, 26 Jul 2010 13:02:03 +0000 (15:02 +0200)]
More perldelta
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Wed, 21 Jul 2010 08:53:50 +0000 (10:53 +0200)]
clarify how to enable -DPERL_USE_SAFE_PUTENV
Ævar Arnfjörð Bjarmason) (via RT [Sun, 25 Jul 2010 13:13:11 +0000 (06:13 -0700)]
perlhack: Add -Dusedevel to gcov Configure line
# New Ticket Created by (Ævar Arnfjörð Bjarmason)
# Please include the string: [perl #76710]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=76710 >
Building blead doesn't work without -Dusedevel most of the time.
Ævar Arnfjörð Bjarmason) (via RT [Sun, 25 Jul 2010 13:13:13 +0000 (06:13 -0700)]
gitignore: Ignore gcov files
# New Ticket Created by (Ævar Arnfjörð Bjarmason)
# Please include the string: [perl #76712]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=76712 >
Ignore the gcov files that are generated when following "GCC gcov
Profiling" in perlhack.
Chris 'BinGOs' Williams [Mon, 26 Jul 2010 09:59:37 +0000 (10:59 +0100)]
Updated Archive-Tar to CPAN version 1.66
[DELTA]
* important changes in version 1.66 26/07/2010
- Applied a patch from Alexandr Ciornii [RT#59699] to Makefile.PL which produces better META.yml
- Apply a patch from Alexandr Ciornii to ptar [RT#59700]:
Adds option -C to allow archives created with ptar to be uploaded to
PAUSE in case of Windows or world +w permissions on unix.
Florian Ragwitz [Mon, 26 Jul 2010 09:36:32 +0000 (11:36 +0200)]
Add ext/XS-APItest/t/peep.t to MANIFEST
George Greer [Sun, 4 Jul 2010 23:15:06 +0000 (19:15 -0400)]
RT#75762: In CURLYX->CURLYM optimization, check before removing parentheses.
Father Chrysostomos [Mon, 26 Jul 2010 08:52:48 +0000 (10:52 +0200)]
[perl #75656] lvalue subs don't copy on write
The attached patch teaches pp_leavesublv about kine.
For the record, a binary search points its digit at:
From: Nicholas Clark <nick@ccl4.org>
Date: Mon, 6 Jun 2005 09:08:45 +0000 (+0000)
Subject: Shared hash key scalars can be safely copied as shared hash key scalars
Shared hash key scalars can be safely copied as shared hash key scalars all the time.
Father Chrysostomos [Sat, 10 Jul 2010 19:09:51 +0000 (15:09 -0400)]
Fix for RT#1804: Anonymous glob breaks when assigned through
The problem here is that globs are scalars and the = operator can only
distinguish between scalar and glob assignments by the flags on the
glob. It only sees the return value of *{}, not the *{} itself. We can
fix this by having the pp_sassign look for a rv2gv (*{}) on its LHS,
to decide what type of assignment to do.
James Mastros [Thu, 8 Jul 2010 21:07:48 +0000 (22:07 +0100)]
Make the success and failure messages of t/porting/diag.t more clear, and add comments
James Mastros [Thu, 8 Jul 2010 20:41:27 +0000 (21:41 +0100)]
Remove "at - line 3" from the end of a perldiag entry.
James Mastros [Wed, 2 Jun 2010 17:32:19 +0000 (18:32 +0100)]
Document "Ambiguous use of -%s resolved as -&%s()"
James Mastros [Wed, 2 Jun 2010 17:27:48 +0000 (18:27 +0100)]
Document "Ambiguous use of %c{%s%s} resolved to %c%s%s"
James Mastros [Wed, 2 Jun 2010 16:44:45 +0000 (17:44 +0100)]
Document "Ambiguous use of %c{%s} resolved to %c%s"
James Mastros [Wed, 2 Jun 2010 16:35:22 +0000 (17:35 +0100)]
Document "Ambiguous use of %c resolved as operator %c"
James Mastros [Wed, 2 Jun 2010 16:22:59 +0000 (17:22 +0100)]
Stick a comment in t/porting/diag.t begging people not to abuse the ignore list
James Mastros [Wed, 2 Jun 2010 16:22:36 +0000 (17:22 +0100)]
Normalize formatting of "Ambiguous call resolved as CORE::%s(), qualify as such or use &" in toke.c, so t/porting/diag.t can find it.
Karl Williamson [Mon, 26 Jul 2010 07:59:02 +0000 (09:59 +0200)]
perlop.pod: Reword escapes that have ordinals
Karl Williamson [Sat, 24 Jul 2010 16:46:45 +0000 (10:46 -0600)]
warnings.pl: Silence perl compiler warnings
warnings.pl was trying to read two beyond the end of an array.
Gerard Goossen [Thu, 19 Nov 2009 10:21:52 +0000 (11:21 +0100)]
add print.t with testing of implicit printing of $_
Reini Urban [Sat, 24 Jul 2010 13:26:52 +0000 (15:26 +0200)]
Add more advantages of a perl.def file.
Florian Ragwitz [Sun, 25 Jul 2010 18:33:12 +0000 (20:33 +0200)]
Unbreak cherrymaint for actions other than vote
Florian Ragwitz [Sun, 25 Jul 2010 18:23:38 +0000 (20:23 +0200)]
Make address for Porting/cherrymaint configurable
Still defaults to localhost:3000, but can now be overwritten on the cli and with
`git config cherrymaint.address host:port'.
Florian Ragwitz [Sun, 25 Jul 2010 17:49:00 +0000 (19:49 +0200)]
Pod formatting fix for perl5132delta
Florian Ragwitz [Sun, 25 Jul 2010 17:03:29 +0000 (19:03 +0200)]
Florian Ragwitz [Fri, 23 Jul 2010 06:38:13 +0000 (08:38 +0200)]
Make the peep recurse via PL_peepp
Also allows extensions, when delegating to Perl_peep, to specify what function
it should use when recursing into a part of the op tree.
The usecase for this are extensions like namespace::alias, which need to hook
into the peep to do their thing. With this change they can stop copying the
whole peep only to add tiny bits of new behaviour to it, allowing them to work
easier on a large variety of perls, without having to maintain one peep which
works on all of them (which is HARD!).
Florian Ragwitz [Sun, 25 Jul 2010 12:37:29 +0000 (14:37 +0200)]
Florian Ragwitz [Sun, 25 Jul 2010 12:30:03 +0000 (14:30 +0200)]
Ignore some more test byproducts
Florian Ragwitz [Sun, 25 Jul 2010 12:01:47 +0000 (14:01 +0200)]
Update B-Lint from version 1.11 to 1.12
Craig A. Berry [Sat, 24 Jul 2010 15:25:20 +0000 (10:25 -0500)]
Port dual-life.t to VMS.
The utils have a .com extension and filename case may not be
preserved.
Florian Ragwitz [Sat, 24 Jul 2010 15:53:53 +0000 (17:53 +0200)]
Compress::Raw::{Bzip2,Zlib} have CPAN as upstream
Florian Ragwitz [Sat, 24 Jul 2010 15:24:49 +0000 (17:24 +0200)]
Florian Ragwitz [Sat, 24 Jul 2010 14:55:58 +0000 (16:55 +0200)]
Update Maintainers.pl for the Compress modules
Paul [Sat, 24 Jul 2010 12:07:29 +0000 (13:07 +0100)]
Compress 2.030
David Mitchell [Sat, 24 Jul 2010 15:11:12 +0000 (16:11 +0100)]
small code tweak in Perl_gv_init
(follow-up to previous commit, fix for #76540)
David Mitchell [Sat, 24 Jul 2010 14:41:19 +0000 (15:41 +0100)]
[perl #76540] "print CONSTANT," gives double-free
gv_init() has name and len args, but newCONSTSUB() (which it calls)
doesn't have a len arg, so any trailing garbage in name gets used by
newCONSTSUB.
In the test case, this means that we end up attaching the const CV
to both the "FOO" and qq{FOO, "\\n";\n} GVs. So it gets freed twice.
Florian Ragwitz [Sat, 24 Jul 2010 13:35:24 +0000 (15:35 +0200)]
Skip epigraphs.pod when bumping the version
David Golden [Sat, 24 Jul 2010 07:44:40 +0000 (00:44 -0700)]
Global executable bit cleanup
When porting/makerel runs, all files copied into the directory for the
tarball have the executable bit stripped and then only a specific set of
files have the executable bit restored.
There are many files in the repo that have the executable bit set in the
repo that will be stripped. So that the state of files in the repo is
as close as possible to the state of files in the release tarball, the
executable bit has been stripped from such files.
In one recent case, a file added from a dual-life module needed the
executable bit set. Because it had the bit in the repo but was
not listed in makerel to get an executable bit, tests using it
passed in the repo and failed in the tarball.
This commit refactors the list into a new file, Porting/exec-bit.txt
and add tests to detect a mismatch between files listed there
and actual executable bits in the repo.
Florian Ragwitz [Sat, 24 Jul 2010 06:12:56 +0000 (08:12 +0200)]
Move PathTools from cpan/ to dist/
David Mitchell [Fri, 23 Jul 2010 22:24:11 +0000 (23:24 +0100)]
[perl #76478] silence compiler warning
Intel's icc compiler is too clever for its own good.
Silence a false positive 'may be used undefined' warning.
Florian Ragwitz [Fri, 23 Jul 2010 13:56:08 +0000 (15:56 +0200)]
Clarify core module directories for UPSTREAM => undef modules
Florian Ragwitz [Wed, 21 Jul 2010 02:11:45 +0000 (04:11 +0200)]
Florian Ragwitz [Thu, 22 Jul 2010 15:37:21 +0000 (17:37 +0200)]
Bump API subversion
Florian Ragwitz [Thu, 22 Jul 2010 15:37:20 +0000 (17:37 +0200)]
For blead, bump-perl-version should consider SUBVERSION as API_SUBVERSION
This makes the API version of a blead release equivalent to its full version
number. For example, for 5.13.3, the API version was 5.13.0 before, and is
5.13.0 now.
This does not change anything for stable releases. The API version of 5.14.1
will still be 5.14.0.
Blead releases don't guarantee API stability. While they don't introduce API
breakage on every release, they do so often enough to want to err on the safe
side instead of making false claims in PERL_API_*.
Florian Ragwitz [Fri, 23 Jul 2010 02:46:13 +0000 (04:46 +0200)]
Fix POD formatting in perlrepository.pod
=for is just for one paragraph, not until the next command or anything like
that.
Chris 'BinGOs' Williams [Fri, 23 Jul 2010 08:58:02 +0000 (09:58 +0100)]
Bump the version of Module-CoreList in Maintainers.pl
Florian Ragwitz [Fri, 23 Jul 2010 08:53:06 +0000 (10:53 +0200)]
Ignore *.i
These files are generated, upon request, by the macro expansion targets.
Craig A. Berry [Fri, 23 Jul 2010 00:18:20 +0000 (19:18 -0500)]
Bump File::Spec version.
Craig A. Berry [Thu, 22 Jul 2010 23:32:01 +0000 (18:32 -0500)]
Assorted File::Spec::VMS fixes.
- Make catpath return an empty directory rather than the current
directory if the directory name is empty. This allows catpath
to play nice with non-rooted logical names, as in
catpath('sys$login:', '', 'login.com');
- Fix abs2rel bug in handling a Unix-style input.
- Assorted clarification and simplification of the documentation.
Also submitted upstream at:
<https://rt.cpan.org/Ticket/Display.html?id=59630>
Craig A. Berry [Thu, 22 Jul 2010 20:31:02 +0000 (15:31 -0500)]
Colon delimiter and escaped delimiters for File::Spec::VMS.
Still awaiting upstream integration after 15 months at:
<https://rt.cpan.org/Public/Bug/Display.html?id=43299>
Josh ben Jore [Thu, 22 Jul 2010 16:46:03 +0000 (09:46 -0700)]
Update debugger changelog
Josh ben Jore [Thu, 22 Jul 2010 16:42:00 +0000 (09:42 -0700)]
Debugger prints lines to the remote port when it forks and openes a new port
Andy Dougherty [Thu, 22 Jul 2010 16:20:14 +0000 (12:20 -0400)]
Add static inline config variables to VMS configure.com.
This assumes all VMS compilers that build perl will
support 'static inline'.
Andy Dougherty [Thu, 22 Jul 2010 16:00:51 +0000 (12:00 -0400)]
Update "canned" config.sh files for static inline.
Unless the file explicitly lists a gcc version I know
to work, I picked safe default values for the new
d_static_inline and perl_static_inline variables.
Andy Dougherty [Thu, 22 Jul 2010 15:14:47 +0000 (11:14 -0400)]
Add a Configure probe for static inline.
This patch enables Configure to probe for C99-style 'static inline'.
(That is, functions may be inlined, but will not be externally visible.)
The initial idea is that some common code in messy macros inside headers
might be simplified using inline functions. If the compiler does not
support 'static inline', then a plain 'static' is used instead, along
with the consequent implications of a function call (though the compiler
may optimize away the function call and inline the function anyway).
In either case, you simply use PERL_STATIC_INLINE.
This patch does not *use* this facility at all yet. It is merely a
Configure patch to make the facility availble for others to experiment
with.
VMS and Windows files will still need to be manually updated.
Finally, before actually converting anything to inline functions, please
try to carefully evaluate the performance implications of any proposed
changes. Compilers vary in what they will and will not convert to inline
functions, so it's worth proceeding slowly and carefully.
This patch results from a single new metaconfig unit, d_static_inline.U,
which I will separately upload to the metaconfig repository.
Craig A. Berry [Thu, 22 Jul 2010 13:27:40 +0000 (08:27 -0500)]
Looser filename matching for new Carp.t tests.
Florian Ragwitz [Thu, 22 Jul 2010 04:27:04 +0000 (06:27 +0200)]
Fix leaks in XS_VERSION_BOOTCHECK
The SV holding XS_VERSION, and the version object created from it were
leaked. Also, if the version from perl space wasn't a version object already,
the one that got created leaked.
Additionally, in case of an error, the two SVs returned by vstringify were
leaked.
Nicholas Clark [Thu, 22 Jul 2010 08:44:27 +0000 (09:44 +0100)]
In Carp, if @DB::args still contains our sentinel, reset it.
This ensures that nothing outside our routine can unintentionally get the
address of our sentinel.
Jan Dubois [Thu, 22 Jul 2010 01:28:33 +0000 (18:28 -0700)]
Get rid of PERL_POLLUTE
PERL_POLLUTE was added (but undefined by default) in 5.6 to optionally
expose older 5.005 symbols for backwards compatibility. It's use was
always discouraged, and MakeMaker contains a more specific escape hatch:
perl Makefile.PL POLLUTE=1
This can be used for modules that have not been upgraded to 5.6 naming
conventions (and really should be completely obsolete by now).
Jan Dubois [Thu, 22 Jul 2010 01:15:54 +0000 (18:15 -0700)]
Don't pretend to support really old VC++ compilers
The oldest supported Visual C++ compiler is VC6 (released in 1998),
and we already jump through some hoops for it by inlining newer
API definitions in win32/win32.c. It is desirable to keep supporting
VC6 because it is the last MSVC release that links against MSVCRT.dll
and not against a compiler specific runtime library.
Jan Dubois [Thu, 22 Jul 2010 01:00:07 +0000 (18:00 -0700)]
Get rid of obsolete PerlCRT.dll support
PerlCRT.dll was a patched version of MSVCRT.dll that fixed/worked
around a few known issues with Microsoft's C runtime library.
These issues have long been fixed by updates to MSVCRT.dll, and
AFAIK nobody has used PerlCRT.dll in almost 10 years now.
Jan Dubois [Thu, 22 Jul 2010 00:46:00 +0000 (17:46 -0700)]
Add CCTYPE value for Windows Server 2003 SP1 compilers
The SDK2003SP1 compiler is special because it needs to link in
an additional bufferoverflow.obj file, which does not exist for
the other 64-bit MSVC compilers. This change un-breaks the
Makefle for all these other compilers (e.g. VS2008).
Jan Dubois [Thu, 22 Jul 2010 00:21:05 +0000 (17:21 -0700)]
Remove deprecated -Wp64 compiler option
The option seems to have been cargo-culted, as it is not
relevant to the Perl sources, and would really be useful
for 32-bit compiles only anyways (it detects certain
potential 64-bit compatibility issues in 32-bit compiles;
the 64-bit compilers always report these issues by default).
Nicholas Clark [Wed, 21 Jul 2010 19:54:39 +0000 (20:54 +0100)]
In Carp, if B is loaded use it to get the name of the bad caller override.
Nicholas Clark [Wed, 21 Jul 2010 19:17:47 +0000 (20:17 +0100)]
Detect incomplete caller overrides in Carp, and avoid using bogus @DB::args.
To get arguments into its backtraces, Carp relies on caller setting @DB::args
when called from package DB. @DB::args isn't refcounted (and can't be). Not
all overriders of &CORE::GLOBAL::caller set @DB::args properly, with the result
that @DB::arg can become "stale", with strange errors, at a distance.
However, it is possible to detect that @DB::args has not been updated, and take
evasive action. This is preferable to presenting the user (or logfile) with
silently wrong backtraces, and much preferable to the occasional "Bizarre copy"
exception.
Nicholas Clark [Wed, 21 Jul 2010 14:00:03 +0000 (15:00 +0100)]
Fix error in
5b235299a82969c3, which gcc didn't spot, but g++ did.
C, of course, is happy enough without a function prototype.
Nicholas Clark [Wed, 21 Jul 2010 12:56:53 +0000 (13:56 +0100)]
In Carp, minimise the amount of code running in package DB.
Use a block to limit it to just the invocation of caller.
Nicholas Clark [Wed, 21 Jul 2010 12:41:44 +0000 (13:41 +0100)]
Add Perl_init_dbargs(), to set up @DB::args without losing SV references.
George Greer [Wed, 21 Jul 2010 08:11:51 +0000 (10:11 +0200)]
C++ compiler fix for util.c
Even with all of the changes, we still die on a strchr() call now
because glibc provides "correct" strchr prototypes rather than the
C ones.
C:
char *strchr(const char *s, int c)
C++:
const char *strchr(const char *s, int c)
char *strchr( char *s, int c)
and of course C++ doesn't let you convert a 'const char *' to a
'char *' so boom on util.c:3972 in Perl_grok_bslash_o (due to 'e').
Jan Dubois [Wed, 21 Jul 2010 01:48:59 +0000 (18:48 -0700)]
alarm() on Windows cannot interrupt blocking I/O
Jan Dubois [Wed, 21 Jul 2010 00:57:21 +0000 (17:57 -0700)]
Remove spurious ')'
Jan Dubois [Wed, 21 Jul 2010 00:50:46 +0000 (17:50 -0700)]
Use .\ instead of ./ on Windows
Jan Dubois [Wed, 21 Jul 2010 00:38:47 +0000 (17:38 -0700)]
alarm() on Windows doesn't interrupt system calls
alarm() on Windows is implemented using a timer that is checked in
win32_async_check(), so there is no way a SIGALRM can be raised while
Perl is blocking in a system call.
David Golden [Tue, 20 Jul 2010 11:00:01 +0000 (07:00 -0400)]
update TOC and perldelta references
David Golden [Tue, 20 Jul 2010 10:56:33 +0000 (06:56 -0400)]
retitle perl5133delta.pod
David Golden [Tue, 20 Jul 2010 10:56:14 +0000 (06:56 -0400)]
create perl5134delta.pod
David Golden [Tue, 20 Jul 2010 10:45:55 +0000 (06:45 -0400)]
remove trailing spaces in epigraphs.pod
David Golden [Tue, 20 Jul 2010 10:45:31 +0000 (06:45 -0400)]
Add 5.13.3 epigraph
David Golden [Tue, 20 Jul 2010 09:14:13 +0000 (05:14 -0400)]
set a Test-Harness file +x in makerel
David Golden [Tue, 20 Jul 2010 08:04:26 +0000 (04:04 -0400)]
don't use Test::More in dual-life.t
David Golden [Tue, 20 Jul 2010 07:38:04 +0000 (03:38 -0400)]
perl5133delta.pod refer to \o{...} consistently