This is a live mirror of the Perl 5 development currently hosted at
13 years agoMerge %apidocs and %gutsdocs into $docs{api} and $docs{guts}.
Nicholas Clark [Fri, 20 Nov 2009 11:00:05 +0000 (11:00 +0000)]
Merge %apidocs and %gutsdocs into $docs{api} and $docs{guts}.

13 years agoClarify docs for implicit "next" on all "when" blocks
Moritz Lenz [Thu, 19 Nov 2009 14:32:19 +0000 (15:32 +0100)]
Clarify docs for implicit "next" on all "when" blocks

13 years agoMissing static storage class for some new static functions
Rafael Garcia-Suarez [Fri, 20 Nov 2009 11:05:23 +0000 (12:05 +0100)]
Missing static storage class for some new static functions

13 years agoFix up the NAME in perl5112delta.pod
Nicholas Clark [Fri, 20 Nov 2009 10:41:08 +0000 (10:41 +0000)]
Fix up the NAME in perl5112delta.pod

(It needs to be this way to make generate the right links)
This step is already described in release_managers_guide.pod.

13 years agoAlways bless filehandles into IO::Handle:: - don't try for FileHandle:: first.
Nicholas Clark [Fri, 20 Nov 2009 10:23:54 +0000 (10:23 +0000)]
Always bless filehandles into IO::Handle:: - don't try for FileHandle:: first.

Given that FileHandle "is now a front-end to the IO::* classes" it seems
wasted effort to indirect through it.

13 years agoUpdated Module::CoreList Changes etc for a CPAN release
Chris Williams [Fri, 20 Nov 2009 09:41:34 +0000 (09:41 +0000)]
Updated Module::CoreList Changes etc for a CPAN release

13 years agocreate perl5113delta
Leon Brocard [Fri, 20 Nov 2009 07:43:44 +0000 (07:43 +0000)]
create perl5113delta

13 years agoFix perldelta_template extension
Leon Brocard [Fri, 20 Nov 2009 07:39:20 +0000 (07:39 +0000)]
Fix perldelta_template extension

13 years agoTiny English fix
Leon Brocard [Fri, 20 Nov 2009 07:31:28 +0000 (07:31 +0000)]
Tiny English fix

13 years ago* Note that unlink sets $! on failure.
brian d foy [Fri, 20 Nov 2009 00:38:30 +0000 (18:38 -0600)]
* Note that unlink sets $! on failure.

The docs to unlink didn't explicitly note that it set $! on
failure, unlike the docs on some other system calls do.

While I was in there, I cleansed the entry a little and
added an example of unlinking files one-by-one to find
the ones that fail.

Modern Perl fix: let's call a glob a glob() and not a <*>.

This problem was noted on the Perl Beginner's list:

13 years ago* Fixing inconsistent use of tabs in perlfunc. Now it's spaces spaces spaces.
brian d foy [Fri, 20 Nov 2009 00:30:12 +0000 (18:30 -0600)]
* Fixing inconsistent use of tabs in perlfunc. Now it's spaces spaces spaces.

13 years ago* FAQ sync for Nov blead release
brian d foy [Fri, 20 Nov 2009 00:10:48 +0000 (18:10 -0600)]
* FAQ sync for Nov blead release

This comes from 028b6d17a07335707c2b234cb69ac4051ed48435 in

13 years ago* Fixed sort example using =(\d+)
brian d foy [Thu, 19 Nov 2009 23:56:12 +0000 (17:56 -0600)]
* Fixed sort example using =(\d+)

The example wanted to sort a list like qw(=1 =2 =a =3 =d). One
example tried to be clever with array indices and precomputed
an array in @nums. However, it forgot to leave holes for the
elements where it could not extract a run of digits. Once the
indices were misaligned, the sort didn't give the right answer.

I know you can read the patch, but since I fixed whitespace too,
a simple diff gives you a lot of output. The old example had:

    for (@old) {
        push @nums, /=(\d+)/;
        push @caps, uc($_);

The new one keeps the indices aligned by using undef when the
match failed:

    for (@old) {
        push @nums, ( /=(\d+)/ ? $1 : undef );
        push @caps, uc($_);

This issue was reported on Stackoverflow:

13 years agoMerge branch 'blead' of ssh:// into blead v5.11.2
Leon Brocard [Thu, 19 Nov 2009 17:23:47 +0000 (17:23 +0000)]
Merge branch 'blead' of ssh:// into blead

13 years agoModule::CoreList updated for the real 5.11.2, including Module::Build changes
Leon Brocard [Thu, 19 Nov 2009 17:15:49 +0000 (17:15 +0000)]
Module::CoreList updated for the real 5.11.2, including Module::Build changes

13 years agoConvert the shell pipeline for the list of committers to a Perl 1 liner.
Nicholas Clark [Thu, 19 Nov 2009 17:05:54 +0000 (17:05 +0000)]
Convert the shell pipeline for the list of committers to a Perl 1 liner.

To me it feels better to promote our own dogfood.

13 years agoThe lexer API is very exciting, but only mention it once
Leon Brocard [Thu, 19 Nov 2009 16:56:37 +0000 (16:56 +0000)]
The lexer API is very exciting, but only mention it once

13 years agoRun Porting/podtidy
Leon Brocard [Thu, 19 Nov 2009 16:50:23 +0000 (16:50 +0000)]
Run Porting/podtidy

13 years agoAdd details of module updates
Leon Brocard [Thu, 19 Nov 2009 16:49:24 +0000 (16:49 +0000)]
Add details of module updates

13 years agoDelete a few more sections
Leon Brocard [Thu, 19 Nov 2009 16:36:50 +0000 (16:36 +0000)]
Delete a few more sections

13 years agoDelete sections, add a bunch more
Leon Brocard [Thu, 19 Nov 2009 16:29:40 +0000 (16:29 +0000)]
Delete sections, add a bunch more

13 years agoMerge branch 'blead' of into blead
H.Merijn Brand [Thu, 19 Nov 2009 16:19:09 +0000 (17:19 +0100)]
Merge branch 'blead' of into blead

13 years agoSync AUTHORS and Porting/ with Changelogs
H.Merijn Brand [Thu, 19 Nov 2009 16:18:28 +0000 (17:18 +0100)]
Sync AUTHORS and Porting/ with Changelogs

13 years agoMention how to generate stats for the Acknowledgements
Leon Brocard [Thu, 19 Nov 2009 16:09:51 +0000 (16:09 +0000)]
Mention how to generate stats for the Acknowledgements

13 years agoFix POD: C<...->...> => C<< ...-> ... >>
Frank Wiegand [Thu, 19 Nov 2009 11:34:20 +0000 (12:34 +0100)]
Fix POD: C<...->...> => C<< ...-> ... >>

Signed-off-by: Abigail <>
13 years agoUpdated Module::Build to 0.35_09
David Golden [Thu, 19 Nov 2009 13:04:04 +0000 (08:04 -0500)]
Updated Module::Build to 0.35_09

0.35_09 - Thu Nov 19 01:30:42 EST 2009

 Bug fixes:

 - The DB package should not be included in 'provides' in META files
   [David Golden]

 - Fixed t/xs.t build failures in bleadperl for noexec temp directories
   [Nicholas Clark]

 - Adjusted order of @INC in resume() (fixes par.t, ppm.t, xs.t fails):
   @INC = @new_additions_to_inc, @saved_additions_to_inc, @default_inc
   [David Golden]

 - Skip bundle_inc.t tests if bundled Module::Build for test can't be
   tweaked (Works around test crashes on Win2) [David Golden]


 - 'C_support' is no longer an optional feature.  Modern ExtUtils::CBuilder
   and ExtUtils::ParseXS added to the 'requires' list.  This ensures that
   upgrading Module::Build will upgrade this critical modules.
   ExtUtils::CBuilder no longer requires a compiler, so it is "safe" to

13 years agoFill in some details about the release
Leon Brocard [Thu, 19 Nov 2009 12:10:14 +0000 (12:10 +0000)]
Fill in some details about the release

13 years agoTweak tense, remove double spaces
Leon Brocard [Thu, 19 Nov 2009 10:20:35 +0000 (10:20 +0000)]
Tweak tense, remove double spaces

13 years agoBump version of Module::CoreList to 2.23
Chris Williams [Thu, 19 Nov 2009 10:03:53 +0000 (10:03 +0000)]
Bump version of Module::CoreList to 2.23

13 years agoAbolish xio_lines from struct PVIO - store IoLINES() in the IVX slot.
Nicholas Clark [Wed, 18 Nov 2009 17:30:03 +0000 (17:30 +0000)]
Abolish xio_lines from struct PVIO - store IoLINES() in the IVX slot.

13 years agoPVIOs don't use the SvIVX slot.
Nicholas Clark [Wed, 18 Nov 2009 16:53:12 +0000 (16:53 +0000)]
PVIOs don't use the SvIVX slot.

13 years agolexer API fixes
Zefram [Wed, 18 Nov 2009 21:49:24 +0000 (21:49 +0000)]
lexer API fixes

The attached patch contains these fixes for the lexer API work:

* fix MinGW-revealed problem in BOM logic (replacing Jan's patch)
* fix warnings from t/op/incfilter.t
* probably fix g++ failure due to goto bypassing initialisation
* perl5112delta update


Signed-off-by: H.Merijn Brand <>
13 years agominitest fixes
Zefram [Wed, 18 Nov 2009 22:03:44 +0000 (22:03 +0000)]
minitest fixes

Attached patch fixes two small bugs that interfere with minitest.


Signed-off-by: H.Merijn Brand <>
13 years agoAdd a few more distribution versus module name exceptions
Leon Brocard [Wed, 18 Nov 2009 21:39:37 +0000 (21:39 +0000)]
Add a few more distribution versus module name exceptions

13 years agoMerge branch 'blead' of ssh:// into blead
Leon Brocard [Wed, 18 Nov 2009 21:07:35 +0000 (21:07 +0000)]
Merge branch 'blead' of ssh:// into blead

13 years agoAdd the 5.11.2 release
Leon Brocard [Wed, 18 Nov 2009 21:05:00 +0000 (21:05 +0000)]
Add the 5.11.2 release

13 years ago{camel,dromedary} names are gone, so update them to {,users.}per5.git...
Vincent Pit [Wed, 18 Nov 2009 20:45:00 +0000 (21:45 +0100)]
{camel,dromedary} names are gone, so update them to {,users.}

And run podtidy.

13 years agoModule::CoreList updated for 5.11.2
Leon Brocard [Wed, 18 Nov 2009 19:28:58 +0000 (19:28 +0000)]
Module::CoreList updated for 5.11.2

13 years agoFix two spelling errors
Leon Brocard [Wed, 18 Nov 2009 18:03:32 +0000 (18:03 +0000)]
Fix two spelling errors

13 years agoBump 5.11.1 -> 5.11.2 in all sorts of places it's (oh so unfortunately) hardcoded
Leon Brocard [Wed, 18 Nov 2009 17:19:20 +0000 (17:19 +0000)]
Bump 5.11.1 -> 5.11.2 in all sorts of places it's (oh so unfortunately) hardcoded

13 years agoUpdated CPAN path for Module::CoreList in
Chris Williams [Wed, 18 Nov 2009 16:50:23 +0000 (16:50 +0000)]
Updated CPAN path for Module::CoreList in

13 years agoFix minor typo in comment
Leon Brocard [Wed, 18 Nov 2009 16:48:29 +0000 (16:48 +0000)]
Fix minor typo in comment

13 years agoSkip the scope name checks if PL_scopestack_name is NULL.
Nicholas Clark [Wed, 18 Nov 2009 15:47:35 +0000 (15:47 +0000)]
Skip the scope name checks if PL_scopestack_name is NULL.

It's possible that someone has built a module with -DDEBUGGING, but they're
using it against a perl built non-DEBUGGING, in which case PL_scopestack_name
will be NULL. Better to skip the checks than to SEGV.

13 years agoPL_scopestack_name needs to be present, -DDEBUGGING or not.
Nicholas Clark [Wed, 18 Nov 2009 13:21:18 +0000 (13:21 +0000)]
PL_scopestack_name needs to be present, -DDEBUGGING or not.

-DDEBUGGING and not need to be binary compatible with each other. Fixes the
test failures in ext/re caused by d343c3ef45381352 for threaded builds without

13 years agoUpdate CPANPLUS::Dist::Build to cpan version 0.44
Chris Williams [Wed, 18 Nov 2009 12:44:21 +0000 (12:44 +0000)]
Update CPANPLUS::Dist::Build to cpan version 0.44

  Changes for 0.44
  Make the prereq resolving fallback to _build/ querying if the 'prereq_data' action fails.

  The edge-case of a distribution that is bundling an older version of Module::Build exposed this
  flaw. Thanks to Johan Vromans for questioning the test report for EekBoek.

13 years agoCorrect the arguments to MBTest->tmpdir() to reflect implementation changes.
Nicholas Clark [Wed, 18 Nov 2009 09:52:12 +0000 (09:52 +0000)]
Correct the arguments to MBTest->tmpdir() to reflect implementation changes.

13 years agoUpdated Module::Build to 0.35_08
David Golden [Wed, 18 Nov 2009 05:52:18 +0000 (00:52 -0500)]
Updated Module::Build to 0.35_08

0.35_08 - Mon Nov 16 22:38:28 EST 2009

 Bug fixes:

 - Multiple tests were failing due to dependency problems.  Author
   dependencies have been largely removed from core 'requires' into
   optional features.  Feature prereq detection and messaging have been
   expanded and bugs on older Perls have been removed.

0.35_07 - Sat Nov 14 17:14:39 EST 2009

 Bug fixes:

 - Auto-detection of abstract and author fixed for mixed-case POD headers
   (RT#51117) [David Wheeler]

 - resume() was not restoring additions to @INC added in Build.PL
   (RT#50145) [David Golden]

 - When tarball paths are less than 100 characters, disables 'prefix'
   mode of Archive::Tar for maximum compatibility (RT#50571) [David Golden]

0.35_06 - Fri Nov 13 14:51:28 EST 2009


 - Added experimental inc/ bundling; see Module::Build::Bundling for
   details.  [David Golden and Eric Wilhelm]

 - Clarified that 'apache' in the license attribute indicates the Apache
   License 2.0 and added 'apache_1_1' for the older version of the license
   (RT#50614) [David Golden]

 Bug fixes:

 - Merging 'requires' and 'build_requires' in Module::Build::Compat could
   lead to duplicate PREREQ_PM entries; now the highest version is used
   for PREREQ_PM. (RT#50948) [David Golden]

 - Module::Build::Compat will now die with an error if advanced,
   non-numeric prerequisites are given, as these are not supported by
   ExtUtils::MakeMaker in PREREQ_PM [David Golden]

 - Made MYMETA generation non-fatal if fields required for META.yml
   are missing [David Golden]

 - Added Pod::Simple to requirements for manpage support; avoids
   problems if a user has a broken Pod::Man/Pod::Simple.  (RT#50081)
   [David Golden]

 - Won't die if installed Pod::Readme is broken [David Golden]


 - Fixed Module::Build::Notes POD [David Golden]

 - Some commands had become silent by default, so added a few short status
   messages so users know something actually happened [David Golden]

 - Cleaned up Changes file formatting [David Golden]

 - Removed most PERL_CORE customizations from test files due to
   reorganization of dual-life modules in core (RT#49522) [David Golden]

0.35_05 - Wed Oct 28 17:20:59 EDT 2009

 Bug fixes:

 - Fix test failure in t/actions/installdeps.t when $^X is not the default
   perl [David Golden]

 - Work around $VERSION numbers in ActiveState with multiple underscores
   that prevent Module::Build from installing on Win32 [David Golden]

 - Fix bug cleaning compatibility Makefile when older ExtUtils::Manifest is
   installed [David Golden with help from David Cantrell]


 - Suppressed more warnings from tests [David Golden]

 - Add provisional support for 'package NAME VERSION' syntax added in
   Perl 5.11.1 [David Golden]

0.35_04 - Fri Oct 23 11:20:41 EDT 2009

 Bug fixes:

 - Fix test failure if IPC::Cmd isn't installed [David Golden]


 - Suppressed warning messages from various tests [David Golden]

0.35_03 - Wed Oct 21 21:20:59 EDT 2009

 *** API CHANGE ***

 - The prepare_metadata() method used to take a YAML::Node object as an
   argument for modification.  The method now takes no arguments and just
   returns a hash reference of metadata. [David Golden]


 - Command line options may be set via the PERL_MB_OPT environment
   variable (similar to PERL_MM_OPT in ExtUtils::MakeMaker)

 Bug fixes:

 - Updated PPM generation to PPM v4 (RT#49600) [Olivier Mengue]

 - When c_source is specified, the directory scan will include additional,
   less-common C++ extensions (RT49298) [David Golden]

 - When module_name is not supplied, no packlist was being written; fixed
   by guessing module_name from dist_version_from or the directory name
   (just like ExtUtils::Manifest does without NAME) [David Golden]

 - Bumped IO::File prereq to fix binmode failures in PPMMaker on Perl
   prior to 5.8.8 [David Golden]


 - Replaced use of with YAML::Tiny; Module::Build::YAML is now
   based on YAML::Tiny as well [David Golden]

 - Reduced amount of console output under normal operation (use --verbose
   to see all output) [David Golden]

0.35_02 - Mon Sep  7 22:37:42 EDT 2009


 - Added 'needs_compiler' property.  Defaults to true if XS or c_source
   exist.  If true, ExtUtils::CBuilder is also added to build_requires.
   [David Golden]

 - File::ShareDir automatically added to 'requires' if 'share_dir' is set
   [David Golden]

 - Added 'Build installdeps' action to install needed dependencies via
   a user-configurable command line program.  (Defaults to 'cpan'.)
   [Eric Wilhelm]

 Bug fixes:

 - Failure to detect a compiler will now warn during Build.PL and be a
   fatal error when trying to compile during Build. (RT#48918) [David

 - Fixed directory sorting failure in share_dir.t [David Golden]

 - Property defaults that are data structures were being assigned as
   references to new objects. Changed so that defaults are cloned instead.
   (This mostly affects testing, which often creates multiple objects in the
   same process) [David Golden]

 - Simplified error message on exit under use_tap_harness [suggested by
   David Wheeler]

 - Fixed typemap search to use a dist-level typemap if a typemap is not
   found in the directory with the *.xs file; (was manifesting as warnings
   in Perl 5.6 tests) [David Golden]


 - Replaced guts of new_from_context().  Build.PL is now executed in a
   separate process before resume() is called.  (This is generally only of
   interest to Module::Build or toolchain developers) (RT#49350) [David
   Golden, Eric Wilhelm, Ken Williams]

 - Revised test helper classes to fix potential bugs and add new features
   to make writing tests simpler and easier.  Changes incorporated into
   t/README.pod and t/sample.t as examples for new testing. [David Golden]

0.35_01 - Mon Aug 31 12:11:10 EDT 2009


 - Generates MYMETA.yml during Build.PL (new standard protocol for
   communicating configuration results between toolchain components)
   [David Golden]

 - Added 'share_dir' property to provide File::ShareDir support;
   set automatically if a directory called 'share' exists
   [David Golden]

 Bug fixes:

 - Fix the t/destinations.t fix. [David Golden, with thanks to Eric Wilhelm]

 - Fix recursive test files in generated Makefile.PL (RT#49254) [Sawyer X]

 - Guard against trying :utf8 when :utf8 isn't available

 - The "test" action now dies when using the 'use_tap_harness'
   option and tests fail, matching the behavior under Test::Harness.
   (RT#49080) [initial patch from David Wheeler; revised by David Golden]


 - Added t/README.pod and t/sample.t to guide developers writing new tests
   [David Golden, with some code from Eric Wilhelm]

 - Module::Build::Compat 'passthrough' style has been deprecated.  Using
   'passthrough' will issue warnings on Makefile.PL generation.  See
   Module::Build::Compat documentation for rationale.

13 years agoTypo fix
Abigail [Tue, 17 Nov 2009 22:06:24 +0000 (23:06 +0100)]
Typo fix

13 years agoCorrectly check that functions flagged as documented do have documentation.
Nicholas Clark [Tue, 17 Nov 2009 16:36:31 +0000 (16:36 +0000)]
Correctly check that functions flagged as documented do have documentation.

13 years agoCorrect the flags for 3 functions that don't actually have documentation.
Nicholas Clark [Tue, 17 Nov 2009 16:36:10 +0000 (16:36 +0000)]
Correct the flags for 3 functions that don't actually have documentation.

13 years agoRemove dead preprocessor code from toke.c
Jan Dubois [Mon, 16 Nov 2009 23:01:26 +0000 (15:01 -0800)]
Remove dead preprocessor code from toke.c

The symbol FTELL_FOR_PIPE_IS_BROKEN is no longer being used
and should have been removed with the commit 4c84d7f2, which
removed the -P option.

13 years agoFix crash in refactored lexer internals
Jan Dubois [Mon, 16 Nov 2009 22:43:20 +0000 (14:43 -0800)]
Fix crash in refactored lexer internals

Commit f0e67a1d29102aa9905aecf2b0f98449697d5af3 changed the control
flow so that PerlIO_tell(PL_rsfp) could be called when PL_rsfp was
NULL, which produces a crash at least on Windows with the MSVCRT

This change moves the detection if PL_rsfp is NULL or not closer to
the location where is is actually tested, which gets rid of the
crashes.  I however have *not* verified if the changes in control
flow in f0e67a1d are otherwise correct or not.

13 years agoadd op class assertions to newXXXOP functions
Gerard Goossen [Fri, 13 Nov 2009 11:57:39 +0000 (12:57 +0100)]
add op class assertions to newXXXOP functions

13 years agoDocument SIGPIPE when printing to closed socket
David Golden [Mon, 16 Nov 2009 16:26:53 +0000 (11:26 -0500)]
Document SIGPIPE when printing to closed socket

13 years agoPatches to Encode 2.38 to match current test layout
Jesse Vincent [Mon, 16 Nov 2009 16:13:22 +0000 (11:13 -0500)]
Patches to Encode 2.38 to match current test layout

13 years agoUpdated Encode to CPAN release 2.38
Jesse Vincent [Mon, 16 Nov 2009 15:20:27 +0000 (10:20 -0500)]
Updated Encode to CPAN release 2.38

13 years agoUpdate CPANPLUS::Dist::Build to cpan version 0.42
Chris Williams [Sun, 15 Nov 2009 22:51:27 +0000 (22:51 +0000)]
Update CPANPLUS::Dist::Build to cpan version 0.42

13 years agoUpdate IPC::Cmd to cpan version 0.54
Chris Williams [Sun, 15 Nov 2009 22:08:12 +0000 (22:08 +0000)]
Update IPC::Cmd to cpan version 0.54

  Changes for 0.54    Sun Nov 15 21:43:51 GMT 2009
  * Fixed issues on older perls requiring Time::HiRes

13 years agoInline PL_no_symref_sv into its users. Deprecate the visible global variable.
Nicholas Clark [Sun, 15 Nov 2009 16:29:16 +0000 (16:29 +0000)]
Inline PL_no_symref_sv into its users. Deprecate the visible global variable.

As the core no longer needs this fixed string outside of pp.c, it seems daft to
make it public just in case any module wants to use it. Modules that do should
provide their own inline copy in future.

Also restore the visible global PL_no_symref_sv back to the original format
specificiation (of 5.10.0 and earlier).

13 years agoInline PL_no_symref into pp_entersub. Deprecate the visible global variable.
Nicholas Clark [Sun, 15 Nov 2009 15:41:02 +0000 (15:41 +0000)]
Inline PL_no_symref into pp_entersub. Deprecate the visible global variable.

As the core no longer needs this fixed string in more than one place, it seems
daft to go to the overhead (and cost) of making it public in case any module
wants to use it. Modules that do want to use it should provide their own inline
copy in future.

Also restore the visible global PL_no_symref back to the original format
specification (of 5.10.0 and earlier), as an extra %s has the potential to
cause SEGVs or worse if not spotted at compile time.

13 years agolexer API
Zefram [Sun, 15 Nov 2009 13:25:50 +0000 (14:25 +0100)]
lexer API

Attached is a patch that adds a public API for the lowest layers of
lexing.  This is meant to provide a solid foundation for the parsing that
Devel::Declare and similar modules do, and it complements the pluggable
keyword mechanism.  The API consists of some existing variables combined
with some new functions, all marked as experimental (which making them
public certainly is).

13 years agoMake the style of pad_add_name's flags consistent with pad_new's and pad_tidy's.
Nicholas Clark [Sun, 15 Nov 2009 10:15:43 +0000 (10:15 +0000)]
Make the style of pad_add_name's flags consistent with pad_new's and pad_tidy's.

13 years agoChange S_pad_check_dup()'s arguments from char*/STRLEN to SV *.
Nicholas Clark [Sat, 14 Nov 2009 21:01:21 +0000 (21:01 +0000)]
Change S_pad_check_dup()'s arguments from char*/STRLEN to SV *.

Within the function, use sv_eq() rather than strcmp().

13 years agoConvert pad_check_dup() to static linkage, and call it from Perl_pad_add_name().
Nicholas Clark [Sat, 14 Nov 2009 20:18:39 +0000 (20:18 +0000)]
Convert pad_check_dup() to static linkage, and call it from Perl_pad_add_name().

Provide a flag option to Perl_pad_add_name(), pad_add_NO_DUP_CHECK, to supress
the call.

13 years agoRefactor common code paths from Perl_pad_add_name() into S_pad_add_name_sv().
Nicholas Clark [Sat, 14 Nov 2009 19:36:21 +0000 (19:36 +0000)]
Refactor common code paths from Perl_pad_add_name() into S_pad_add_name_sv().

The only user of the pad_add_FAKE flag was S_pad_findlex(), so move the relevant
code there from Perl_pad_add_name(), and have S_pad_findlex() call
S_pad_add_name_sv() directly. This eliminates the pad_add_FAKE flag completely.

13 years agoChange perl -v version format
David Golden [Thu, 12 Nov 2009 15:46:30 +0000 (10:46 -0500)]
Change perl -v version format

New format:

  This is perl 5, version 11, subversion 1 (v5.11.1) ...

The rationale for this change is that the Perl 5 interpreter will never
increment PERL_REVISION from 5 to 6, so we want people to start focusing
on the PERL_VERSION number as most significant and PERL_SUBVERSION as
equivalent to a "release number".  In other words, "perl 5" is a
language, this is the 11th version of it, and the second release of that
version (counting from zero).  Among other things, this makes the
output of -v and -V more consistent.

The old v-string style is included for familiarity and usage in code.
For builds from git, it will include the same extended format as it
did before, e.g. "(v5.11.1-176-gaf24cc9*)"

13 years agoPerformance optimisation in assert, suggested by Tim Bunce
Rafael Garcia-Suarez [Sun, 15 Nov 2009 00:34:03 +0000 (01:34 +0100)]
Performance optimisation in assert, suggested by Tim Bunce

Most compilers will store only a single copy of identical literal
strings. So changing that assert to check the pointer first would
significantly reduce the cost.

13 years agoTeach B::Deparse about in-place reverse
Vincent Pit [Sun, 15 Nov 2009 00:16:44 +0000 (01:16 +0100)]
Teach B::Deparse about in-place reverse

And bump the $VERSION.

13 years agoUpdated File::Fetch to cpan version 0.22
Chris Williams [Sat, 14 Nov 2009 23:22:32 +0000 (23:22 +0000)]
Updated File::Fetch to cpan version 0.22

  Changes for 0.22        Sat Nov 14 23:13:16 2009
  * Bumped to stable version

13 years agoInclude legacy.t in the maintainance list
Rafael Garcia-Suarez [Sat, 14 Nov 2009 22:54:51 +0000 (23:54 +0100)]
Include legacy.t in the maintainance list

13 years agoPOD fixes and typos
Rafael Garcia-Suarez [Sat, 14 Nov 2009 22:44:31 +0000 (23:44 +0100)]
POD fixes and typos

13 years agoadd code for Unicode semantics for non-utf8 latin1 chars
Karl Williamson [Fri, 13 Nov 2009 05:40:21 +0000 (22:40 -0700)]
add code for Unicode semantics for non-utf8 latin1 chars

13 years agoUpdate to Scalar-List-Utils-1.22 from CPAN
Graham Barr [Sat, 14 Nov 2009 15:40:15 +0000 (09:40 -0600)]
Update to Scalar-List-Utils-1.22 from CPAN

13 years agoRevert core fixes for IO-Compress following IO-Compress update
Steve Hay [Sat, 14 Nov 2009 00:17:00 +0000 (00:17 +0000)]
Revert core fixes for IO-Compress following IO-Compress update

With commit 1725f55ba78fb58489ea39e2bc0cc1faffd32275 IO-Compress now puts
its .pm files in lib rather than archlib for perls later than 5.11.1, so
the core can now do likewise given that blead will next be released as
5.11.2, i.e. revert the Configure part of 4cc80fc4cbbd82e20f7b14b68abb53d552076022
and revert f4a6a713802da1b781d7108503156fa3a0fe219e.

This change should not be merged into 5.10.x because IO-Compress will
continue to put its .pm files into archlib for the sake of anyone upgrading
a 5.10.x installation in-place.

13 years ago[PATCH] IO-Compress 2.022
Paul Marquess [Fri, 9 Oct 2009 21:51:37 +0000 (22:51 +0100)]
[PATCH] IO-Compress 2.022

Message-ID: <>

13 years agoSupport $! stringification of socket error codes on Windows.
Jan Dubois [Fri, 13 Nov 2009 19:45:46 +0000 (11:45 -0800)]
Support $! stringification of socket error codes on Windows.

The winsock error codes from WSAGetLastError() are stored by
Perl in errno, and there is some code in win32_strerror() that
would stringify them, but that code is never called when Perl
is built with the default WIN32IO_IS_STDIO setting.

This patch enables the win32_strerror() override unconditionally
and also fixes a potential memory corruption issue by using
the FORMAT_MESSAGE_IGNORE_INSERTS flag to ignore any parameter
substitution codes that may be embedded in the error message.

This now works as expected:

C:\git\perl>perl -Ilib -MPOSIX -E "$!=POSIX::EWOULDBLOCK; say $!"
A non-blocking socket operation could not be completed immediately.

13 years agoFix compiler warning:
Jerry D. Hedden [Fri, 13 Nov 2009 14:07:24 +0000 (09:07 -0500)]
Fix compiler warning:

p.c: In function `Perl_newATTRSUB':
op.c:5778: warning: cast from pointer to integer of different size

13 years agoFix compiler warnings:
Jerry D. Hedden [Fri, 13 Nov 2009 13:59:20 +0000 (08:59 -0500)]
Fix compiler warnings:

pp_sys.c: In function `Perl_pp_tie':
pp_sys.c:788: warning: 'gv' might be used uninitialized in this function
pp_sys.c: In function `Perl_pp_dbmopen':
pp_sys.c:936: warning: 'gv' might be used uninitialized in this function
pp_sys.c: In function `Perl_pp_enterwrite':
pp_sys.c:1274: warning: 'cv' might be used uninitialized in this function
pp_sys.c: In function `Perl_pp_ghostent':
pp_sys.c:4711: warning: 'hent' might be used uninitialized in this function

13 years agoFix compiler warnings:
Jerry D. Hedden [Fri, 13 Nov 2009 13:57:22 +0000 (08:57 -0500)]
Fix compiler warnings:

pp_ctl.c: In function `Perl_pp_return':
pp_ctl.c:2092: warning: 'retop' might be used uninitialized in this function
pp_ctl.c: In function `Perl_pp_last':
pp_ctl.c:2214: warning: 'nextop' might be used uninitialized in this function

13 years agoFix compiler warning:
Jerry D. Hedden [Fri, 13 Nov 2009 13:55:20 +0000 (08:55 -0500)]
Fix compiler warning:

scope.c:96:8: warning: extra tokens at end of #endif directive

13 years agoFix compiler warning:
Jerry D. Hedden [Fri, 13 Nov 2009 13:54:11 +0000 (08:54 -0500)]
Fix compiler warning:

pp.c: In function `Perl_pp_delete':
pp.c:4297: warning: 'sv' might be used uninitialized in this function

13 years agoUpdated IPC::Cmd to cpan release 0.52
Chris Williams [Fri, 13 Nov 2009 16:19:53 +0000 (16:19 +0000)]
Updated IPC::Cmd to cpan release 0.52

  Changes for 0.52    Fri Nov 13 16:15:11 GMT 2009
  * Added documentation for run_forked()

13 years agoTest for a bug in sort where the elements are freed in the sort block.
Gerard Goossen [Tue, 10 Nov 2009 12:37:38 +0000 (13:37 +0100)]
Test for a bug in sort where the elements are freed in the sort block.

13 years agoRefactor and expand unshift.t
Daniel Frederick Crisman [Fri, 13 Nov 2009 08:49:41 +0000 (03:49 -0500)]
Refactor and expand unshift.t

13 years ago[perl #70337] perldiag: localtime(...) too large
Father Chrysostomos [Fri, 13 Nov 2009 09:19:59 +0000 (10:19 +0100)]
[perl #70337] perldiag: localtime(...) too large

The message ‘localtime(...) too large’ is not documented in perldiag.
The attached patch adds it. I know it’s technically ‘%s(%.0f) too
large’, but it’s easier for users to find it under ‘localtime’ and
‘gmtime’. I also had to modify to support %.0f, and I
added a test, but I used a hack with STDERR that would make debugging
very difficult to anyone else adding tests.

13 years agoflock() on Windows should set proper errno numbers.
Jan Dubois [Fri, 13 Nov 2009 02:38:08 +0000 (18:38 -0800)]
flock() on Windows should set proper errno numbers.

It used to set errno to GetLastError(), which is from an
incompatible set of error codes.  That doesn't make any
sense, especially since the GetLastError() value is also
available at the Perl level via $^E.

It is important for that flock() will set
$! to WSAWOULDBLOCK when GetLastError() returns
ERROR_LOCK_VIOLATION because that is the value
now returns for POSIX::EWOULDBLOCK.

13 years agoflock() should return EWOULDBLOCK instead of EAGAIN.
Jan Dubois [Fri, 13 Nov 2009 01:14:59 +0000 (17:14 -0800)]
flock() should return EWOULDBLOCK instead of EAGAIN.

POSIX requires fcntl() to return EAGAIN or EACCES, whereas BSD
requires flock() to return EWOULDBLOCK.  On most systems EAGAIN
and EWOULDBLOCK use the same number, but on some (e.g. Linux on
PA-RISC) they do not.

13 years agoPL_scopestack_name needs to be copied in perl_clone()
Jan Dubois [Fri, 13 Nov 2009 01:03:56 +0000 (17:03 -0800)]
PL_scopestack_name needs to be copied in perl_clone()

13 years agoMake win32_start_child responsible for cleaning all the scopes.
Gerard Goossen [Thu, 12 Nov 2009 18:00:13 +0000 (19:00 +0100)]
Make win32_start_child responsible for cleaning all the scopes.

13 years ago1 is a magic number to C's exit() and Perl_my_exit().
Craig A. Berry [Thu, 12 Nov 2009 23:55:00 +0000 (17:55 -0600)]
1 is a magic number to C's exit() and Perl_my_exit().

Its real name is EXIT_FAILURE and it comes out of the wash somewhat
differently on VMS than elsewhere.

13 years agoUpdated CPANPLUS to cpan version 0.89_09
Chris Williams [Thu, 12 Nov 2009 22:31:19 +0000 (22:31 +0000)]
Updated CPANPLUS to cpan version 0.89_09

  Changes for 0.89_09     Thu Nov 12 21:54:01 2009
  * Only look for missing prereqs in the output of the last
    set of tests that were run. This resolves RT #51408,
    reported by Andreas Koenig

13 years agoBring Pod::Simple up to 3.10
David E. Wheeler [Thu, 12 Nov 2009 19:13:06 +0000 (11:13 -0800)]
Bring Pod::Simple up to 3.10

This is the same as the version just released to CPAN. Notable changes
are skipping failing tests on VMS and fixing nested definition lists in
the XHTML formatter.

13 years agoPL_scopestack_name is only defined in DEBUGGING perl
Jan Dubois [Thu, 12 Nov 2009 19:06:00 +0000 (11:06 -0800)]
PL_scopestack_name is only defined in DEBUGGING perl

13 years agoAs our $_; is forced into main::, it should warn as a redeclaration.
Nicholas Clark [Thu, 12 Nov 2009 17:19:48 +0000 (17:19 +0000)]
As our $_; is forced into main::, it should warn as a redeclaration.

13 years agoExplicitly check that our $_; is special, and forced to main::
Nicholas Clark [Thu, 12 Nov 2009 16:43:27 +0000 (16:43 +0000)]
Explicitly check that our $_; is special, and forced to main::

13 years agoSorry, missed a "
H.Merijn Brand [Thu, 12 Nov 2009 16:37:26 +0000 (17:37 +0100)]
Sorry, missed a "

13 years agoHP-UX does not accept UTC0UTC, because there is no valid DST rule
H.Merijn Brand [Thu, 12 Nov 2009 16:24:49 +0000 (17:24 +0100)]
HP-UX does not accept UTC0UTC, because there is no valid DST rule

13 years agoAdd line information to jumplevel debug information
Gerard Goossen [Thu, 12 Nov 2009 15:52:45 +0000 (16:52 +0100)]
Add line information to jumplevel debug information

Add information about where in the C code the jumplevel poping/setting up was done.


From 7b95a19d6fbd3615a034cea79fa087b80e4a9555 Mon Sep 17 00:00:00 2001
From: Gerard Goossen <>
Date: Thu, 12 Nov 2009 16:50:13 +0100
Subject: [PATCH] Add line information to jumplevel debug information provided when using -Dl

Signed-off-by: H.Merijn Brand <>
13 years agoAdd missing LEAVE to universal.c sv_does
Gerard Goossen [Thu, 12 Nov 2009 13:36:44 +0000 (14:36 +0100)]
Add missing LEAVE to universal.c sv_does

13 years agoAdd missing LEAVE to POSIX.xs sigaction
Gerard Goossen [Thu, 12 Nov 2009 13:36:30 +0000 (14:36 +0100)]
Add missing LEAVE to POSIX.xs sigaction