This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
11 years agoimprove =item template for git-deltatool
David Golden [Mon, 28 Jun 2010 02:00:19 +0000 (22:00 -0400)]
improve =item template for git-deltatool

11 years agoAdd a tool for writing a perldelta using git notes
David Golden [Thu, 24 Jun 2010 18:26:35 +0000 (14:26 -0400)]
Add a tool for writing a perldelta using git notes

I've written this tool to help me annotate commits for perldelta.
It scans back through commits, prompting for a perldelta section
for each commit (or to ignore the commit).  It then opens up an
editor to write a perldelta snippet into a git note on the commit.

It also supports some very primative workflow, including reviewing
existing annotations and "rendering" annotations properly grouped
by section to cut/paste into perldelta.

It does have some non-core dependencies including Git::Wrapper and
Term::ReadKey, so is intended to be run using an installed perl with
these module from CPAN, not the freshly built one.

Documentation is sparse.

N.B. Git notes are *local* -- they are kept in a detached branch and
will not be pushed upstream.  This makes them well-suited for a
release manager to keep working notes (as for perldelta) that will
become irrelevant over time.  It's not clear whether they have broader
utility.

11 years agoResort MANIFEST.
Nicholas Clark [Sun, 27 Jun 2010 22:10:34 +0000 (00:10 +0200)]
Resort MANIFEST.

11 years agoUpdate Unicodee-Collate to CPAN version 0.53
Chris 'BinGOs' Williams [Sun, 27 Jun 2010 19:06:30 +0000 (20:06 +0100)]
Update Unicodee-Collate to CPAN version 0.53

  [DELTA]

  0.53  Sun Feb 14 20:46:27 2010
    - Now UCA Revision 18 (based on Unicode 5.1.0).
    - DUCET is also upgrated (for Unicode 5.1.0) as Collate/allkeys.txt,
      which is not required to test this module.
    ! Please notice that allkeys.txt will be overwritten if you have had
      other allkeys.txt already.
    - U+9FBC..U+9FC3 are new CJK Unified Ideographs.

11 years agoUpdate Unicode-Normalize to CPAN release 1.06
Chris 'BinGOs' Williams [Sun, 27 Jun 2010 18:51:20 +0000 (19:51 +0100)]
Update Unicode-Normalize to CPAN release 1.06

  [DELTA]

  1.06  Thu Feb 11 16:19:54 2010
    - Pure Perl/mkheader: fixed the internal _getHexArray() for perl 5.11.3
      changes (Bug #53197).

  1.05  Mon Sep 28 21:43:17 2009
    - normalize_partial() and NFX_partial(). { NFX =~ /^NFK?[CD]\z/ }
    - added partial1.t for NFX_partial().
    - added partial2.t for normalize_partial().

  1.04  Wed Sep 23 22:32:57 2009
    - doc: splitOnLastStarter() since 0.24 is now documented.
    - test: some new tests are added to split.t.

11 years agoAdd Perl_croak_no_modify() to implement Perl_croak("%s", PL_no_modify).
Nicholas Clark [Sun, 27 Jun 2010 12:06:12 +0000 (13:06 +0100)]
Add Perl_croak_no_modify() to implement Perl_croak("%s", PL_no_modify).

This reduces object code size, reducing CPU cache pressure on the non-exception
paths.

11 years agoReturn DIE(...) to *return*ing Perl_die(...).
Nicholas Clark [Sun, 27 Jun 2010 17:34:36 +0000 (18:34 +0100)]
Return DIE(...) to *return*ing Perl_die(...).

Much simplification ensues - witness the diffstat.

Changes Perl_die_unwind() to use Perl_croak() rather than DIE().

Reverses an unwise part of bb4c52e023e0fcad.
Reverts 9e95c6350a60744d and 805bf316c58ab2d7.

11 years agoUpdate autodie to CPAN version 2.10
Chris 'BinGOs' Williams [Sun, 27 Jun 2010 15:53:07 +0000 (16:53 +0100)]
Update autodie to CPAN version 2.10

  [DELTA]

  2.10  Sat Feb 27 14:01:18 AUSEST 2010
        * BUGFIX: Fatal and autodie no longer leak Carp functions
          into the caller's namespace.  Thanks to Schwern.

        * TEST: Multi-arg open tests are really really skipped
          under Windows now.

        * DOCUMENTATION: Many more people are properly attributed
          in the 'AUTHORS' file.

  2.09  Tue Feb 23 00:33:09 AUSEST 2010
        * DOCS: Fixed documentation typo.  RT #48575
          Thanks to David Taylor.

        * TEST: Tests involved multi-arg open are skipped
          on Windows (where multi-arg pipe is not implemented).

  2.08  Mon Feb  8 14:24:26 AUSEST 2010
        * BUGFIX: Addeds support for chmod.  Many thanks to
          Jonathan Yu for reporting this (RT #50423).

        * BUGFIX: Multi-arg open is now supported by open.
          Many thanks to Nick Cleaton for finding and fix this
          bug.  (RT #52427)

        * BUILD: Updated to Module::Install 0.93

  2.07  Fri Jul 31 16:35:40 BST 2009

        * FEATURE: Added ->eval_error to autodie::exception, which
          stores the contents of $@ at the time autodie throws its
          own exception.  This is useful when dealing with modules
          such as Text::Balanced which set (but do not throw)
          $@ on error.

        * TEST: Checking for flock() support no longer causes
          test failures on older VMS sysstems. (RT #47812)
          Thanks to Craig A. Berry for supplying a patch.

        * TEST: hints.t tests should no longer cause bogus
          failures relating to File::Copy on VMS and Windows
          systems prior to Perl 5.10.2.

11 years agoUpdate ExtUtils-CBuilder to CPAN version 0.2703
Chris 'BinGOs' Williams [Sun, 27 Jun 2010 14:09:32 +0000 (15:09 +0100)]
Update ExtUtils-CBuilder to CPAN version 0.2703

  [DELTA]

  0.2703 - Tue Mar 16 17:10:55 EDT 2010

  Bugs fixed:
  - fixed tests for Windows and MSVC [Jan Dubois]

  0.2702 - Mon Feb 22 15:10:52 EST 2010

  Bugs fixed:
  - compile() changes in 0.2701 did not work on Windows.  Now fixed.

  0.2701 - Tue Feb 16 09:12:45 EST 2010

  Bugs fixed:
  - compile() now accepts both string & array for 'include_dirs'
    argument, as documented.(RT#54606) [Alberto Sim<F5>es]

11 years agoUpdate ExtUtils-Manifest to CPAN version 1.58
Chris 'BinGOs' Williams [Sun, 27 Jun 2010 14:03:19 +0000 (15:03 +0100)]
Update ExtUtils-Manifest to CPAN version 1.58

  [DELTA]

  1.58  Sun, Nov 21, 2009
    - add MYMETA files to default skip list:
       http://rt.cpan.org/Ticket/Display.html?id=50923
      (suggested by DAGOLDEN)
    - Avoid Devel::Cover and Devel::CoverX::Covered files
      (suggested by daxim)

11 years agoUpdate Maintainers.pl to match the version of Safe that is included in core
Chris 'BinGOs' Williams [Sun, 27 Jun 2010 07:59:46 +0000 (08:59 +0100)]
Update Maintainers.pl to match the version of Safe that is included in core

11 years agoUpdate Time-HiRes to CPAN version 1.9721
Chris 'BinGOs' Williams [Sat, 26 Jun 2010 22:30:33 +0000 (23:30 +0100)]
Update Time-HiRes to CPAN version 1.9721

  [DELTA]

  1.9721 [2010-03-17]
        - Address [rt.cpan.org #54196] alarm and ularm return values are bogus,
          additional fix from Gisle Aas
        - Address [rt.cpan.org #55665] "Bad plan" on Windows,
          report and fix from Jan Dubois

  1.9720 [2010-02-14]
        - Address [rt.cpan.org #54196] alarm and ularm return values are bogus,
          report and fix from Nicholas Clark

11 years agoUpdate Attribute-Handlers to CPAN version 0.88
Chris 'BinGOs' Williams [Sat, 26 Jun 2010 18:40:05 +0000 (19:40 +0100)]
Update Attribute-Handlers to CPAN version 0.88

  [DELTA]

  0.88    Mon Apr  5 16:33:00 CET 2010
        - Avoid clobbering $_ (perl #74052, LanX)

11 years agoUpdate the version for Data-Dumper in Maintainers.pl to match both core and CPAN
Chris 'BinGOs' Williams [Sat, 26 Jun 2010 18:35:52 +0000 (19:35 +0100)]
Update the version for Data-Dumper in Maintainers.pl to match both core and CPAN

11 years agoUpdate the dist listed for version in Maintainers.pl to match what is on CPAN and...
Chris 'BinGOs' Williams [Sat, 26 Jun 2010 18:33:42 +0000 (19:33 +0100)]
Update the dist listed for version in Maintainers.pl to match what is on CPAN and core.

11 years agoOnly use home-rolled prototypes on VMS when really necessary.
Craig A. Berry [Sat, 26 Jun 2010 15:15:51 +0000 (10:15 -0500)]
Only use home-rolled prototypes on VMS when really necessary.

The prototypes removed here, while in some ways superior to those
provided in the system-supplied headers, in other ways conflict
with them.  The conflicts were masked in the default build by the
fact that the macros mapping lower case names to upper case were
undefined, so at compile time there were really two different
prototypes even though at link time the symbols were the same.

But the conflict broke the build when compiling with /NAMES=AS_IS
to preserve symbol name case.  Overall, whatever modest benefit
maintaining our own prototypes might provide, it's just not worth
the risk of conflict.  A better approach would be to define
__NEW_STARLET and work through whatever the compiler complains
about.

For sys$sigprc and lib$initialize, we do continue to provide our
own prototypes (and add lower case to upper case mapping macros)
because there are no system-supplied prototypes for them.

11 years agoInstall git_version.h on VMS.
Craig A. Berry [Sat, 26 Jun 2010 15:06:51 +0000 (10:06 -0500)]
Install git_version.h on VMS.

This was an oversight in 5.12.0 and without it some extension builds
fail.

11 years agoUpdate Time-Piece to CPAN version 1.20
Chris 'BinGOs' Williams [Sat, 26 Jun 2010 14:04:03 +0000 (15:04 +0100)]
Update Time-Piece to CPAN version 1.20

  [DELTA]

  1.20
    - Fix for alloca broke Solaris
    - Fixed documentation buggette about strptime
    - Added ->pretty() method for Time::Seconds objects
        - Add %s support to strptime

  1.19
    - Fix for alloca broke FreeBSD

  1.18
    - Fix for alloca on IRIX

  1.17
    - Force all to use internal strptime then everyone gets %z even OSX
      users.
    - Finally figured out the timezone test failures on Win32 and fixed
      them.

  1.16
        - Implement %z for the internal implementation of strptime().
          Unfortunately this doesn't get picked up everywhere, so there are no
          tests for it (yet - patches welcome).
        - Fix for major bug in add_months() using negative months which were
          multiples of 12. Also affected add_years() with negative years.
        - Fix for object creation bug in get_epochs which called new from object
          but that wasn't supported in the new() code.
        - Added docs about the weakness of using epoch seconds internally and
          suggested alternatives.
        - Removed useless "use UNIVERSAL qw(isa)" line.
        - Fix for installing over core perl version.

11 years agoRT 75902: Add prototypes for tie() and untie() to allow overloading
Father Chrysostomos [Fri, 25 Jun 2010 12:10:36 +0000 (22:10 +1000)]
RT 75902: Add prototypes for tie() and untie() to allow overloading

11 years agoRT #75812: apply get magic before checking flags, PVX
Tony Cook [Thu, 17 Jun 2010 08:58:04 +0000 (18:58 +1000)]
RT #75812: apply get magic before checking flags, PVX

The code was checking flags with applying any get magic, so when a
match was doing putting a numeric string into $1, none of the flags
checked were set, so producing the "non-numeric process ID" error.

11 years agoIn pp_sort, ensure that @_ is freed correctly.
Nicholas Clark [Thu, 24 Jun 2010 19:44:07 +0000 (20:44 +0100)]
In pp_sort, ensure that @_ is freed correctly.

Before this, if @_ had become AvREAL(), it retains reference on its elements.

11 years agowhen disabling regex implicit check string we must reset anchored flag
Yves Orton [Sat, 19 Jun 2010 11:41:10 +0000 (13:41 +0200)]
when disabling regex implicit check string we must reset anchored flag

It seems that if a regex check string is determined to be "not useful"
it is permananently disabled. However, it appears that when doing this
we dont necessarily reset any flags that are related to it.

Worse, the behaviour is not determinisitic, so it is quite possible that
a given program may experience this bug "randomly" based on what strings
it was matching. Thus it may be difficult to reproduce.

Resetting the RXc_ANCH_MBOL when we know that it is implicit
(PREGf_IMPLICIT) seems to fix /this/ particular example. But it wouldn't
surprise me to discover that other "random" bugs we encounter can be
traced back to this behaviour.

This fixes RT #75878 which is derived from ActiveState Bug #87173.

    http://bugs.activestate.com/show_bug.cgi?id=87173
    http://rt.perl.org/rt3/Ticket/Display.html?id=75878

11 years agoUpdate Term-ANSIColor to CPAN version 3.00
Chris 'BinGOs' Williams [Thu, 24 Jun 2010 08:46:50 +0000 (09:46 +0100)]
Update Term-ANSIColor to CPAN version 3.00

  [DELTA]

  Add bright versions of the basic eight foreground
  and background colors using the 9x and 10x codes, supported by
  emulators with 16 color support. (Jakob Ilves)

  Add some basic tests for bright color support. (Russ Allbery)

  Reorganize the documentation and be clearer about
  the function interface parameters.  Reword the explanation of
  bright and regular colors, and provide some advice about which to
  use. (Russ Allbery)

11 years agoUpdate the CPAN distribution version for Module::CoreList
Chris 'BinGOs' Williams [Thu, 24 Jun 2010 08:36:44 +0000 (09:36 +0100)]
Update the CPAN distribution version for Module::CoreList

11 years agoIn S_sortcv_stacked(), handle @_ correctly. Fix for #72334.
Gerard Goossen [Wed, 23 Jun 2010 15:26:58 +0000 (16:26 +0100)]
In S_sortcv_stacked(), handle @_ correctly. Fix for #72334.

Remove AvREAL from @_, and set AvALLOC when reallocating @_.

11 years ago[PATCH] Fix d_u32align probe on ARM
H.Merijn Brand [Wed, 23 Jun 2010 14:34:04 +0000 (16:34 +0200)]
[PATCH] Fix d_u32align probe on ARM

From: Marc Pignat <marc@pignat.org>
Date: Wed, 23 Jun 2010 15:38:37 +0200

My proposed solution is to use the 'volatile' keyword to make sure the
compiler will really do the job.

Please note that it does not work with -O3, but the configure script
compile with -O2, so this should be fine.

At this time I've only tested the Configure scripts, which now detects
the align problem on ARM. I'm compiling the whole thing to check if the
md5 bug goes away!

I hope this will fix this *5 years* old bug, and the upstream bug as
well!

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
11 years agoRemove MacOS classic support from DynaLoader.
Nicholas Clark [Mon, 21 Jun 2010 20:40:27 +0000 (21:40 +0100)]
Remove MacOS classic support from DynaLoader.

ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small maintenance penalty.

11 years agoRemove MacOS classic support from File::{Copy,DosGlob,Find,Glob,stat}.
Nicholas Clark [Mon, 21 Jun 2010 20:10:40 +0000 (21:10 +0100)]
Remove MacOS classic support from File::{Copy,DosGlob,Find,Glob,stat}.

ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small runtime penalty.

11 years agoRemove MacOS classic support from File::Basename.
Nicholas Clark [Mon, 21 Jun 2010 20:09:52 +0000 (21:09 +0100)]
Remove MacOS classic support from File::Basename.

ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small runtime penalty.

11 years agoRemove MacOS classic support from blib, diagnostics and Term::ReadLine.
Nicholas Clark [Mon, 21 Jun 2010 19:42:38 +0000 (20:42 +0100)]
Remove MacOS classic support from blib, diagnostics and Term::ReadLine.

ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small runtime penalty.

11 years agoRemove MacOS classic support from the debugger.
Nicholas Clark [Mon, 21 Jun 2010 19:42:10 +0000 (20:42 +0100)]
Remove MacOS classic support from the debugger.

ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code is vestigial, and a small runtime penalty.

11 years agoRemove MacOS classic support from lib.
Nicholas Clark [Mon, 21 Jun 2010 19:25:53 +0000 (20:25 +0100)]
Remove MacOS classic support from lib.

ExtUtils::MakeMaker removed MacOS support in 6.25, merged to blead in December
2004, so this code in lib is vestigial, and a small runtime penalty.

11 years agoTweak the generated Errno.pm slightly. Shorter and slightly fewer ops.
Nicholas Clark [Tue, 22 Jun 2010 08:59:49 +0000 (09:59 +0100)]
Tweak the generated Errno.pm slightly. Shorter and slightly fewer ops.

Use our directly at the first assignment, rather than on a line by itself.
Add editor readonly blocks, consistent with most other generated files.
require Exporter, rather than using it with an empty import list. We don't need
it at compile time.

11 years agoMove parameter validation, and carp/croak generation into warnings::__chk.
Nicholas Clark [Sun, 20 Jun 2010 17:00:31 +0000 (18:00 +0100)]
Move parameter validation, and carp/croak generation into warnings::__chk.

This results in enabled, fatal_enabled, warnif, and warn as wrappers to __chk
selecting their desired behaviour, and eliminates duplicated code.

11 years agoMove the repeated vec logic into warnings::__chk.
Nicholas Clark [Sun, 20 Jun 2010 15:23:38 +0000 (16:23 +0100)]
Move the repeated vec logic into warnings::__chk.

11 years agoNo need to return $i from warnings::__chk, as the value is not used.
Nicholas Clark [Sun, 20 Jun 2010 13:40:33 +0000 (14:40 +0100)]
No need to return $i from warnings::__chk, as the value is not used.

$i holds the depth of the caller frame from which the warnings bitmask is read.
The value has not been used by any caller of __chk() since c3186b657097c822.

11 years agoMake warnings::__chk default the returned caller's bitmask to 0.
Nicholas Clark [Sun, 20 Jun 2010 13:12:38 +0000 (14:12 +0100)]
Make warnings::__chk default the returned caller's bitmask to 0.

This removes defined checks in subsequence code paths, reducing complexity.

11 years agoIn Config::import, avoid assigning to $pkg, which is never read.
Nicholas Clark [Sun, 20 Jun 2010 10:37:40 +0000 (11:37 +0100)]
In Config::import, avoid assigning to $pkg, which is never read.

Avoid the use of sprintf - __PACKAGE__ is a constant, so can be inlined within
the message string. Don't store '%Config' in %Export_Cache, as that's only used
to deal with exported functions. The variable %Config is special-cased.

On this platform, cachegrind shows a 1% reduction in instruction count and
L1 cache references as a result.

11 years agoIn vars::import, avoid assigning to $pack, which is never read.
Nicholas Clark [Sat, 19 Jun 2010 21:43:41 +0000 (22:43 +0100)]
In vars::import, avoid assigning to $pack, which is never read.

On this platform, cachegrind shows a 0.5% reduction in instruction count and
L1 cache references as a result. A tiny gain for every instance of use vars ...;

11 years agoMerge the guts of warnings::import and warnings::bits into _bits.
Nicholas Clark [Sat, 19 Jun 2010 21:32:33 +0000 (22:32 +0100)]
Merge the guts of warnings::import and warnings::bits into _bits.

Additionally, removing the scope entry caused by the {} in the fast path of
&import reduces instruction count and L1 cache misses for warnings->import()
by 3%.

11 years agowarnings::import() can exit quickly and efficiently if @_ is empty.
Nicholas Clark [Sat, 19 Jun 2010 20:55:41 +0000 (21:55 +0100)]
warnings::import() can exit quickly and efficiently if @_ is empty.

For this platform, cachegrind reckons warnings->import() uses 7% fewer
instructions executed and has 9% fewer L1 cache references.

11 years agoConvert Config::fetch_string to use a regexp, rather than index and substr.
Nicholas Clark [Sat, 19 Jun 2010 20:27:45 +0000 (21:27 +0100)]
Convert Config::fetch_string to use a regexp, rather than index and substr.

For this platform, cachegrind reckons a 0.5% reduction in L1 cache refs and
0.5% reduction in instructions executed, which whilst small, is a step in the
right direction.

11 years agoSome tiding of warnings::__chk().
Nicholas Clark [Sat, 6 Feb 2010 18:16:57 +0000 (18:16 +0000)]
Some tiding of warnings::__chk().

Remove my $this_pkg, rendered unused by 4f527b719ae89076. Move $pkg inside the
if() block. Don't needlessly assign to $i.

11 years agocreate perl5133delta
Nicholas Clark [Wed, 23 Jun 2010 07:05:54 +0000 (08:05 +0100)]
create perl5133delta

11 years agoretroactively add the Acknowledgements file since mst is an idiot and forgit it for...
Matt S Trout [Tue, 22 Jun 2010 22:45:27 +0000 (23:45 +0100)]
retroactively add the Acknowledgements file since mst is an idiot and forgit it for the release

11 years agoadd makerel -b -s '' trick to relman guide
Matt S Trout [Tue, 22 Jun 2010 21:46:54 +0000 (22:46 +0100)]
add makerel -b -s '' trick to relman guide

11 years agoadd epigraph for 5.13.2
Matt S Trout [Tue, 22 Jun 2010 21:45:56 +0000 (22:45 +0100)]
add epigraph for 5.13.2

11 years agoadd new release to perlhist v5.13.2
Matt S Trout [Tue, 22 Jun 2010 19:38:32 +0000 (20:38 +0100)]
add new release to perlhist

11 years agoupdate Module::CoreList
Matt S Trout [Tue, 22 Jun 2010 19:33:59 +0000 (20:33 +0100)]
update Module::CoreList

11 years agoremove duplicate entry from delta (thanks acme)
Matt S Trout [Tue, 22 Jun 2010 18:27:04 +0000 (19:27 +0100)]
remove duplicate entry from delta (thanks acme)

11 years agoClarify the entry for "Stashes are now always defined".
Nicholas Clark [Tue, 22 Jun 2010 12:38:11 +0000 (13:38 +0100)]
Clarify the entry for "Stashes are now always defined".

11 years agofixup pod warnings
Matt S Trout [Mon, 21 Jun 2010 21:49:30 +0000 (22:49 +0100)]
fixup pod warnings

11 years agoBump the perl version in various places for 5.13.2
Matt S Trout [Mon, 21 Jun 2010 21:45:11 +0000 (22:45 +0100)]
Bump the perl version in various places for 5.13.2

11 years agoversion bump for B::t::OptreeCheck and add to delta
Matt S Trout [Mon, 21 Jun 2010 21:32:04 +0000 (22:32 +0100)]
version bump for B::t::OptreeCheck and add to delta

11 years agoversion bump for File::Copy and add change to delta
Matt S Trout [Mon, 21 Jun 2010 21:30:25 +0000 (22:30 +0100)]
version bump for File::Copy and add change to delta

11 years agobump versions on VMS::DCLsym, mro, Search::Dist and UNIVERSAL and delta them as havin...
Matt S Trout [Mon, 21 Jun 2010 21:18:55 +0000 (22:18 +0100)]
bump versions on VMS::DCLsym, mro, Search::Dist and UNIVERSAL and delta them as having spelling fixes

11 years agoversion bump for B::Concise and add change to delta
Matt S Trout [Mon, 21 Jun 2010 21:04:40 +0000 (22:04 +0100)]
version bump for B::Concise and add change to delta

11 years agobump threads.pm version
Matt S Trout [Mon, 21 Jun 2010 20:55:04 +0000 (21:55 +0100)]
bump threads.pm version

11 years agoversion bump for IO::Socket and add change to delta
Matt S Trout [Mon, 21 Jun 2010 20:51:20 +0000 (21:51 +0100)]
version bump for IO::Socket and add change to delta

11 years agoversion bump for B::Deparse and add change to delta
Matt S Trout [Mon, 21 Jun 2010 20:47:20 +0000 (21:47 +0100)]
version bump for B::Deparse and add change to delta

11 years agomost of the perldelta for 5.13.2
Matt S Trout [Mon, 21 Jun 2010 20:26:09 +0000 (21:26 +0100)]
most of the perldelta for 5.13.2

11 years agodocument missing space after regex pattern in perldelta
David Golden [Fri, 18 Jun 2010 22:57:51 +0000 (18:57 -0400)]
document missing space after regex pattern in perldelta

11 years agoDeprecate no space between pattern, following word
Karl Williamson [Wed, 9 Jun 2010 20:40:14 +0000 (14:40 -0600)]
Deprecate no space between pattern, following word

This patch raises a deprecated warning on constructs like
    $result = $a =~ m/$foo/sand $bar;
which means
    $result = $a =~ m/$foo/s and $bar;

11 years agoFix list of constants to import to make this test pass
Rafael Garcia-Suarez [Fri, 18 Jun 2010 07:30:14 +0000 (09:30 +0200)]
Fix list of constants to import to make this test pass

11 years ago* FAQ sync
brian d foy [Thu, 17 Jun 2010 20:41:05 +0000 (13:41 -0700)]
* FAQ sync

This is commit 37550b8f812e591bcd0dd869d61677dac5bda92c from the
perlfaq repository at git@github.com:briandfoy/perlfaq.git

11 years agoAvoid warnings with undefined hash values [perl #74280]
Rafael Garcia-Suarez [Thu, 17 Jun 2010 12:19:03 +0000 (14:19 +0200)]
Avoid warnings with undefined hash values [perl #74280]

11 years agoDeparse correctly "no VERSION" [perl #75482]
Rafael Garcia-Suarez [Thu, 17 Jun 2010 09:40:36 +0000 (11:40 +0200)]
Deparse correctly "no VERSION" [perl #75482]

11 years agoAvoid compiler warnings in Perl_foldEQ_utf8, spotted by Jerry D. Hedden.
Nicholas Clark [Thu, 17 Jun 2010 16:54:25 +0000 (17:54 +0100)]
Avoid compiler warnings in Perl_foldEQ_utf8, spotted by Jerry D. Hedden.

11 years agoAvoid creating @EXPORT_FAIL in every package using Exporter.
Nicholas Clark [Thu, 17 Jun 2010 14:21:24 +0000 (15:21 +0100)]
Avoid creating @EXPORT_FAIL in every package using Exporter.

Previously, if package INKLE_KLINK is an Exporter, then the Exporter code's
symbolic lookup of \@{"INKLE_KLINK::EXPORT_FAIL"} would cause both that array
and the enclosing typeglob to be instantiated. Now the typeglob and array are
only created if present. (Strictly, if there's something in INKLE_KLINK's
symbol table for EXPORT_FAIL. But likely that will only ever be the array.)

This saves about 200 bytes per package that uses Exporter but does not need an
@EXPORT_FAIL.

11 years agoPERL_IMPLICIT_SYS also needs thread context for safesysfree()
Nicholas Clark [Thu, 17 Jun 2010 09:46:37 +0000 (10:46 +0100)]
PERL_IMPLICIT_SYS also needs thread context for safesysfree()

PERL_TRACK_MEMPOOL needs it to work without -DDEBUGGING.

Fixes for 0cb20dae370512c6 not addressed by 1f4d2d4e2e4bb7bb.

11 years agoStop using WITH_THR and WITH_THX, as they were never necessary here.
Nicholas Clark [Wed, 16 Jun 2010 19:47:22 +0000 (20:47 +0100)]
Stop using WITH_THR and WITH_THX, as they were never necessary here.

11 years agoPERL_IMPLICIT_SYS also needs thread context for the *alloc success paths.
Nicholas Clark [Wed, 16 Jun 2010 08:56:59 +0000 (09:56 +0100)]
PERL_IMPLICIT_SYS also needs thread context for the *alloc success paths.

0cb20dae370512c6 was a bit to aggressive in its deferral of dTHX.

11 years agoIn Perl_safesys{c,m,re}alloc(), defer dTHX for non-DEBUGING builds.
Nicholas Clark [Tue, 15 Jun 2010 20:26:14 +0000 (21:26 +0100)]
In Perl_safesys{c,m,re}alloc(), defer dTHX for non-DEBUGING builds.

Under ithreads, dTHX expands to pthread_getspecific() [or something similarly
expensive], which the compiler can't optimise away. However, its return value
isn't needed unless the allocation fails. So defer the call, hence avoiding
it entirely on a successful allocation.

DEBUGING builds require the value of dTHX for debugging purposes, so we can't
postpone it for them. Unthreaded builds were never affected as they don't use
thread local storage for the interpreter context.

11 years agoAttempt at improving the perlipc docs
Maik Hentsche [Tue, 15 Jun 2010 15:19:41 +0000 (17:19 +0200)]
Attempt at improving the perlipc docs

11 years agoRevert "It may not be obvious to a new Perl programmer that $#ary is explained in...
Rafael Garcia-Suarez [Tue, 15 Jun 2010 12:48:34 +0000 (14:48 +0200)]
Revert "It may not be obvious to a new Perl programmer that $#ary is explained in perldata.pod (see stackoverflow.com/questions/2997042/ )."

This reverts commit db2ed3fb308b082577e9315ba52b2cb266a2bd0a.

11 years agouc(): Handle Greek YPOGEGRAMMENI
Karl Williamson [Wed, 2 Jun 2010 21:07:29 +0000 (15:07 -0600)]
uc(): Handle Greek YPOGEGRAMMENI

Unicode contains two context-sensitive case-changing rules.  This patch
enables one of them, dealing with the Greek YPOGEGRAMMENI.  The code had
been #ifdef'd out, so the changes here are more than what the diff
shows.  The reason it was #ifdef'd out was because more research was
needed to verify that it was correct, which I have now done, and think
it is.

The issue is we may just be uppercasing a portion of the context, so
don't have complete knowledge of what should be done.  This patch causes
us to move the ypogegrammeni to as far right as it should go, or to the
end of the context we know about, whichever comes first.  That's the
best we can do.  If it really should be moved further to the right,
there's no way we can do it, because the user has not called uc()
with the full information needed.  So, in all cases, this is better than
just leaving it where it was in the input.  Also, the applicable context
is limited to a logical character, that matched by /\X/, so if the user
is calling uc() on a subset of a logical character, it really is their
mistake.

11 years agot/uni/case.pl: allow extra tests of different form
Karl Williamson [Wed, 2 Jun 2010 21:04:16 +0000 (15:04 -0600)]
t/uni/case.pl: allow extra tests of different form

Add an option to case.pl so that the callers can run extra tests that
don't fit in with it's format.  They just pass the number run to it, and
it adjusts the plan accordingly.

11 years agoAdd support for more TCP_ constants to Socket
Salvador Fandino [Tue, 15 Jun 2010 09:31:04 +0000 (11:31 +0200)]
Add support for more TCP_ constants to Socket

(plus bump version to 1.89)

11 years agoRemove debugging statement from mktables.
Karl Williamson [Mon, 31 May 2010 03:34:53 +0000 (21:34 -0600)]
Remove debugging statement from mktables.

A debugging statement was inadvertently left in which causes an
extraneous warning.

11 years agoIt may not be obvious to a new Perl programmer that $#ary is explained in perldata...
Sinan Unur [Tue, 8 Jun 2010 22:53:27 +0000 (18:53 -0400)]
It may not be obvious to a new Perl programmer that $#ary is explained in perldata.pod (see stackoverflow.com/questions/2997042/ ).

A possible solution is to place an entry in perlvar.pod pointing out
that $# was removed and pointing the user to perldata.pod for the
explanation of $#ary usage.

11 years agousemymalloc slows down newer openbsd [perl #75742]
Rafael Garcia-Suarez [Tue, 15 Jun 2010 08:16:35 +0000 (10:16 +0200)]
usemymalloc slows down newer openbsd [perl #75742]

11 years agoRename copyright section of Module::CoreList to LICENSE, fixes for my kwalitee score.
Chris 'BinGOs' Williams [Mon, 14 Jun 2010 09:07:27 +0000 (10:07 +0100)]
Rename copyright section of Module::CoreList to LICENSE, fixes for my kwalitee score.

11 years agoUpdate CPAN.pm to 1.94_57
Andreas J. Koenig [Mon, 14 Jun 2010 08:46:15 +0000 (09:46 +0100)]
Update CPAN.pm to 1.94_57

  2010-05-24  Andreas J. Koenig  <andk@cpan.org>

        * release 1.94_57

        * bugfix: treat modules correctly that are deprecated in perl 5.12.

        * bugfix: RT #57482 and #57788 revealed that configure_requires
        implicitly assumed build_requires instead of normal requires. (Reported
        by Andrew Whatson and Father Chrysostomos respectively)

        * testfix: solaris should run the tests without expect because (some?)
        solaris have a broken expect

        * testfix: run tests with cache_metadata off to prevent spill over
        effects from previous test runs

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
11 years agoNote why pp_tie can't use call_method() for a package name.
Nicholas Clark [Mon, 14 Jun 2010 07:44:49 +0000 (09:44 +0200)]
Note why pp_tie can't use call_method() for a package name.

Plus a test that would fail if it did.

11 years agoMerge flags and argc parameters to S_tied_handle_method().
Nicholas Clark [Sun, 13 Jun 2010 14:25:53 +0000 (16:25 +0200)]
Merge flags and argc parameters to S_tied_handle_method().

This generates slightly smaller object code overall, which means that the "hot"
code (the non-overloaded paths through the ops) will be smaller, and hence more
likely to stay in the CPU cache.

11 years agoIn S_tied_handle_method() default to mortalizing extra arguments.
Nicholas Clark [Sun, 13 Jun 2010 13:02:14 +0000 (15:02 +0200)]
In S_tied_handle_method() default to mortalizing extra arguments.

Convert the gimme argument to a flags argument, and add a flag bit to signal
that mortalization is not required. Only "BINMODE" needs this.

11 years agoAdd a gimme parameter to S_tied_handle_method().
Nicholas Clark [Sun, 13 Jun 2010 10:38:16 +0000 (12:38 +0200)]
Add a gimme parameter to S_tied_handle_method().

This allows "GETC" to use it.

11 years agoChange S_tied_handle_method() to varargs to allow extra SV parameters.
Nicholas Clark [Sun, 13 Jun 2010 10:12:43 +0000 (12:12 +0200)]
Change S_tied_handle_method() to varargs to allow extra SV parameters.

This enables "BINMODE", "EOF" and "SYSSEEK" to use it.

11 years agoMerge simple tied handle method calls into S_tied_handle_method().
Nicholas Clark [Sun, 13 Jun 2010 08:34:56 +0000 (10:34 +0200)]
Merge simple tied handle method calls into S_tied_handle_method().

11 years agoFor tied file handle calls, use PUSH* when we know that the stack has space.
Nicholas Clark [Sat, 12 Jun 2010 20:29:03 +0000 (22:29 +0200)]
For tied file handle calls, use PUSH* when we know that the stack has space.

Previously the code was using XPUSH* in many cases, often to push back values
recently popped off the stack.

11 years agoRemove unecessary EXTEND()s from pp_sys.c
Nicholas Clark [Sat, 12 Jun 2010 18:51:19 +0000 (20:51 +0200)]
Remove unecessary EXTEND()s from pp_sys.c

If we've just POP*ed something from the stack, it will already have space.
If we conditionally POP* something from the stack, avoid the EXTEND() in that
path. Also, use PUSH() rather than XPUSH() where we know that the stack is large
enough. Changes to pp_close, pp_binmode, pp_enterwrite, pp_readlink and pp_alarm.

11 years agoIn pp_eof, ensure stack space for the second argument to the tied EOF method.
Nicholas Clark [Sun, 13 Jun 2010 07:50:00 +0000 (08:50 +0100)]
In pp_eof, ensure stack space for the second argument to the tied EOF method.

Commit 32e653230c7ccc7f added this second argument, but didn't verify that the
stack always had sufficient space for it.

11 years agoremove trailing spaces in perlvar.pod
David Golden [Wed, 9 Jun 2010 18:53:15 +0000 (14:53 -0400)]
remove trailing spaces in perlvar.pod

11 years agoLink to perlport/PLATFORMS from the $^O docs
Ævar Arnfjörð Bjarmason [Thu, 13 May 2010 22:02:25 +0000 (22:02 +0000)]
Link to perlport/PLATFORMS from the $^O docs

I was looking for some actual values of $^O the other day and started
ack-ing t/. Turns out that this was documented in perlport. Link to
the relevant section to make it easy to find.

11 years agoFix edge case in pp_eof where the stack extent was not checked.
Nicholas Clark [Sat, 12 Jun 2010 20:13:14 +0000 (21:13 +0100)]
Fix edge case in pp_eof where the stack extent was not checked.

Analogous to pp_getc and pp_tell in ac3697cd90b00fae, pp_eof has a conditional
POP from the stack, but an unconditional PUSH to the stack, but no check that
the stack had space for the PUSH. This bug has been present since perl 5.000.

11 years agoFix edge cases in pp_getc and pp_tell where the stack extent was not checked.
Nicholas Clark [Sat, 12 Jun 2010 19:43:37 +0000 (20:43 +0100)]
Fix edge cases in pp_getc and pp_tell where the stack extent was not checked.

Both conditionally POP a GV from the stack, but always PUSH a return value to
it. For the case where they did not POP the GV, they made no check that the
stack had space for the PUSH. This bug has been present since perl 5.000.

11 years agoBetter diagnostics on detecting case sensitive file name clashes.
Nicholas Clark [Sat, 12 Jun 2010 18:05:51 +0000 (19:05 +0100)]
Better diagnostics on detecting case sensitive file name clashes.

11 years agoAdded new files I forgot to add for the Thread-Semaphore update
Chris 'BinGOs' Williams [Fri, 11 Jun 2010 06:59:48 +0000 (07:59 +0100)]
Added new files I forgot to add for the Thread-Semaphore update

11 years ago[PATCH-revised] Upgrade to Thread-Semaphore 2.11
Jerry D. Hedden [Fri, 11 Jun 2010 06:57:34 +0000 (07:57 +0100)]
[PATCH-revised] Upgrade to Thread-Semaphore 2.11

  Added new methods ->down_nb() and ->down_force() at the suggestion of
  Rick Garlick.

  Refactored methods to skip argument validation when no argument is supplied.

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
11 years agoParameters for * in *printf must be int - add a cast to ensure this.
Nicholas Clark [Thu, 10 Jun 2010 08:01:18 +0000 (10:01 +0200)]
Parameters for * in *printf must be int - add a cast to ensure this.

Fixes a (legitimate) compiler warning present since 6e1bad6cc227c8e8.