[perl.git] branch smoke-me/magical-gvs, deleted. v5.15.2-163-g8997406

2011-08-31 Thread Father Chrysostomos
In perl.git, the branch smoke-me/magical-gvs has been deleted

http://perl5.git.perl.org/perl.git/commitdiff/?hp=899740664b0affdec64ae474a9bf5fd9fc054764

   was  899740664b0affdec64ae474a9bf5fd9fc054764

---
899740664b0affdec64ae474a9bf5fd9fc054764 Avoid an extra SV when creating $] and 
$^V
---

--
Perl5 Master Repository


[perl.git] branch smoke-me/POSIX, created. v5.15.2-191-g4e7931e

2011-08-31 Thread Nicholas Clark
In perl.git, the branch smoke-me/POSIX has been created

http://perl5.git.perl.org/perl.git/commitdiff/4e7931e6b1b025e56c7b73a89ecec290a7d40018?hp=

at  4e7931e6b1b025e56c7b73a89ecec290a7d40018 (commit)

- Log -
commit 4e7931e6b1b025e56c7b73a89ecec290a7d40018
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 16:41:12 2011 +0200

Test the diagnostics for usage messages for POSIX wrapper functions.

Regularise the 3 inconsistent messages.

M   MANIFEST
M   ext/POSIX/lib/POSIX.pm
A   ext/POSIX/t/usage.t

commit d7d0d6b065ca7bbbae69f827f19f1b93c87ed0f7
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 15:20:56 2011 +0200

In POSIX, improve the diagnostic for the use $method instead.

In the error message, name the POSIX function that was called, as well as
the suggested replacement method. This rephrasing was in the patch
supplied by Aristotle Pagaltzis, but I have retained the existing POSIX
use of :: when describing the method, because given two less than great
choices, I'm inclined to favour retaining the status quo and one change
over two changes.

M   ext/POSIX/lib/POSIX.pm
M   ext/POSIX/t/unimplemented.t

commit 1e721acb2389122d9962a0cbe431374475a1a47d
Author: Aristotle Pagaltzis pagalt...@gmx.de
Date:   Wed Aug 31 14:59:57 2011 +0200

In POSIX, drastically simplify the wrappers for unimplemented functions.

Replace all the subroutines that croak() with a data structure and 8 lines 
in
POSIX::AUTOLOAD().

[By Aristotle Pagaltzis, with some editing by the committer, and most of his
message changes applied as a previous commit to split apart improvements 
from
pure refactoring]

This commit eliminates the helper functions POSIX::refef() and
POSIX::unimpl(), which were not part of the documented API, not exported,
and not used in any code outside the core (that is visible to Google
codesearch).

M   ext/POSIX/lib/POSIX.pm
M   ext/POSIX/lib/POSIX.pod

commit 3d3f7f1a892b71987523a18052d244d41adfd3b1
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 14:32:47 2011 +0200

The more regular POSIX unimplemented diagnostics simplify the tests.

M   ext/POSIX/t/unimplemented.t

commit 0feb969902f50335e681735ffacfc480f3c63e9c
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 13:08:49 2011 +0200

Improvements to the diagnostics for unimplemented POSIX functions.

Suggested by Aristotle Pagaltzis as part of a larger refactoring.
This regularises the text, changing '--use' and ': use' to ', use' to be
consistent, provides a message for POSIX::srand(), and adds ' is' to the
message for POSIX::bsearch().

Most of the diagnostics have been unchanged since perl 5.000. For some,
IO::Handle replaced FileHandle in perl5.003_20 (28757baaaeaa3801).
div and ldiv's messages were improved to also mention % in 2003 by commit
7a6ca5fd18d88091.

M   ext/POSIX/lib/POSIX.pm
M   ext/POSIX/t/unimplemented.t

commit d43884f380102c40f00a25f13e158c46a6b270ae
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 12:13:46 2011 +0200

Test the diagnostics for all POSIX::* functions that are unimplemented.

M   MANIFEST
A   ext/POSIX/t/unimplemented.t

commit 186ba50afcfbac42fa82fd511c6539db24917aa2
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 11:32:17 2011 +0200

In ext/POSIX/t/is.t, make better use of Test::More.

cmp_ok() will give better diagnostics than ok(). Using skip_all() is terser,
and will give better diagnostics.

M   ext/POSIX/t/is.t
---

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.15.2-185-g43c6b70

2011-08-31 Thread Chris 'Bingos' Williams
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/43c6b706eae7899eff9414f3bbb9e5ef095a07fd?hp=3638bf155130331f9a06eff9132885b5f244890f

- Log -
commit 43c6b706eae7899eff9414f3bbb9e5ef095a07fd
Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
Date:   Wed Aug 31 14:51:06 2011 +0100

Updated Locale-Codes to CPAN version 3.18

  [DELTA]

  VERSION 3.18 (2011-08-31)

  NEW CODE(s)

No longer use CIA data

  The CIA world added non-standard values, so I no longer use it as a 
source of data. Based on a report by Michiel Beijen.
---

Summary of changes:
 Porting/Maintainers.pl |2 +-
 cpan/Locale-Codes/lib/Locale/Codes.pm  |2 +-
 cpan/Locale-Codes/lib/Locale/Codes.pod |   13 +-
 cpan/Locale-Codes/lib/Locale/Codes/Changes.pod |   13 +-
 cpan/Locale-Codes/lib/Locale/Codes/Constants.pm|2 +-
 cpan/Locale-Codes/lib/Locale/Codes/Country.pm  |2 +-
 cpan/Locale-Codes/lib/Locale/Codes/Country.pod |7 +-
 .../Locale-Codes/lib/Locale/Codes/Country_Codes.pm | 1901 +-
 cpan/Locale-Codes/lib/Locale/Codes/Currency.pm |2 +-
 .../lib/Locale/Codes/Currency_Codes.pm |  493 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm  |2 +-
 .../Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm |4 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm  |2 +-
 .../Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm |5 +-
 cpan/Locale-Codes/lib/Locale/Codes/Language.pm |2 +-
 .../lib/Locale/Codes/Language_Codes.pm |47547 ++--
 cpan/Locale-Codes/lib/Locale/Codes/Script.pm   |2 +-
 cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm |  264 +-
 cpan/Locale-Codes/lib/Locale/Country.pm|2 +-
 cpan/Locale-Codes/lib/Locale/Currency.pm   |2 +-
 cpan/Locale-Codes/lib/Locale/Language.pm   |2 +-
 cpan/Locale-Codes/lib/Locale/Script.pm |2 +-
 pod/perldelta.pod  |   15 +-
 23 files changed, 25221 insertions(+), 25067 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index e38796c..cc2910d 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1101,7 +1101,7 @@ use File::Glob qw(:case);
 'Locale-Codes' =
{
'MAINTAINER'= 'sbeck',
-   'DISTRIBUTION'  = 'SBECK/Locale-Codes-3.17.tar.gz',
+   'DISTRIBUTION'  = 'SBECK/Locale-Codes-3.18.tar.gz',
'FILES' = q[cpan/Locale-Codes],
'EXCLUDED'  = [ qw{t/pod_coverage.t t/pod.t}, qr{^t/runtests}, 
qr{^t/runtests\.bat},
 qr{^internal/}, qr{^examples/} ],
diff --git a/cpan/Locale-Codes/lib/Locale/Codes.pm 
b/cpan/Locale-Codes/lib/Locale/Codes.pm
index 1a14035..fc7e224 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes.pm
@@ -27,7 +27,7 @@ our($VERSION,%Data);
 #  { id}  = FIRST_UNUSED_ID
 #  { codealias }{ CODESET } { ALIAS } = CODE
 
-$VERSION='3.17';
+$VERSION='3.18';
 
 #===
 #
diff --git a/cpan/Locale-Codes/lib/Locale/Codes.pod 
b/cpan/Locale-Codes/lib/Locale/Codes.pod
index d30de20..5f39258 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes.pod
+++ b/cpan/Locale-Codes/lib/Locale/Codes.pod
@@ -124,11 +124,15 @@ Ideally, I'd only get data from an official source, but 
sometimes that
 is not possible. For example the ISO standards are not typically
 available for free, so I may have to get some of that data from
 alternate sources that I'm confident are getting their data from the
-official source.
+official source.  However, I will always be hesitant to accept a
+non-official source.
 
-As an example, I get some country data from the CIA World
+As an example, I used to get some country data from the CIA World
 Factbook. Given the nature of the source, I'm sure they're updating
 data from the official sources and I consider it nearly official.
+However, even in this case, I found that they were adding codes that
+were not part of the standard, so I have stopped using them as a
+source.
 
 There are many 3rd party sites which maintain lists (many of which are
 actually in a more convenient form than the official sites).
@@ -187,10 +191,11 @@ alias North Korea since that's a very common way to 
specify the
 country (please don't request this... I've already added it).
 
 On the other hand, a request to add Zaire as an alias for Congo, The
-Democratic Republic of may not be honored. The country's official
-name is not Zaire, so adding it as an alias violates the standard.
+Democratic Republic of will not be honored. The country's official
+name is no longer Zaire, so adding it 

[perl.git] branch blead, updated. v5.15.2-186-g925798f

2011-08-31 Thread Steve Hay
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/925798f29c677c612a63a08a92ebb5f169e27b02?hp=43c6b706eae7899eff9414f3bbb9e5ef095a07fd

- Log -
commit 925798f29c677c612a63a08a92ebb5f169e27b02
Author: Steve Hay steve.m@googlemail.com
Date:   Wed Aug 31 18:48:37 2011 +0100

Preliminary cleanup of win32/config*.* prior to updating them fully

- Set lseeksize/lseektype to 4/long in new gc64* files (see f7e8b52a89)
- Add missing NULL parameter in new gc64* files (see e6a0bbf8b4)
- Change new gc64* files to a minimal setup (see d64224560b and 17bdc11416)
- Make the order of the __GNUC__ / _MSC_VER logic consistent
- Add __GNUC__ magic to vc64 (since new gc64* files have _MSC_VER magic)
---

Summary of changes:
 win32/config.gc64  |4 +-
 win32/config.gc64nox   |4 +-
 win32/config_H.bc  |4 +-
 win32/config_H.gc  |9 ++--
 win32/config_H.gc64|  103 +++-
 win32/config_H.gc64nox |  103 +++-
 win32/config_H.vc  |9 ++--
 win32/config_H.vc64|   71 -
 8 files changed, 164 insertions(+), 143 deletions(-)

diff --git a/win32/config.gc64 b/win32/config.gc64
index c883708..52185f0 100644
--- a/win32/config.gc64
+++ b/win32/config.gc64
@@ -783,8 +783,8 @@ longsize='4'
 lp=''
 lpr=''
 ls='dir'
-lseeksize='8'
-lseektype='long long'
+lseeksize='4'
+lseektype='long'
 mad='undef'
 madlyh=''
 madlyobj=''
diff --git a/win32/config.gc64nox b/win32/config.gc64nox
index 0fe7904..9a797a1 100644
--- a/win32/config.gc64nox
+++ b/win32/config.gc64nox
@@ -783,8 +783,8 @@ longsize='4'
 lp=''
 lpr=''
 ls='dir'
-lseeksize='8'
-lseektype='long long'
+lseeksize='4'
+lseektype='long'
 mad='undef'
 madlyh=''
 madlyobj=''
diff --git a/win32/config_H.bc b/win32/config_H.bc
index 75213d7..cbb8ae4 100644
--- a/win32/config_H.bc
+++ b/win32/config_H.bc
@@ -4573,8 +4573,8 @@
  * This symbol contains the minimum value for the time_t offset that
  * the system function localtime () accepts, and defaults to 0
  */
-#define GMTIME_MAX 2147483647  /**/
-#define GMTIME_MIN 0   /**/
+#define GMTIME_MAX 2147483647  /**/
+#define GMTIME_MIN 0   /**/
 #define LOCALTIME_MAX  2147483647  /**/
 #define LOCALTIME_MIN  0   /**/
 
diff --git a/win32/config_H.gc b/win32/config_H.gc
index fbf5808..bd18ffe 100644
--- a/win32/config_H.gc
+++ b/win32/config_H.gc
@@ -3128,12 +3128,11 @@
  * static _inline  (older MSVC)
  * static  (c89 compilers)
  */
-#ifdef _MSC_VER
-#  define HAS_STATIC_INLINE/**/
-#  define PERL_STATIC_INLINE static __inline   /**/
-#else /* gcc presumably */
-#  define HAS_STATIC_INLINE/**/
+#define HAS_STATIC_INLINE  /**/
+#ifndef _MSC_VER
 #  define PERL_STATIC_INLINE static __inline__ /**/
+#else
+#  define PERL_STATIC_INLINE static __inline   /**/
 #endif
 
 /* USE_STDIO_PTR:
diff --git a/win32/config_H.gc64 b/win32/config_H.gc64
index 9cce9fb..e1ff5bc 100644
--- a/win32/config_H.gc64
+++ b/win32/config_H.gc64
@@ -916,14 +916,14 @@
  */
 #define HAS_QUAD   /**/
 #ifdef HAS_QUAD
-#   ifdef _MSC_VER
-#  define Quad_t __int64   /**/
-#  define Uquad_t unsigned __int64 /**/
-#  define QUADKIND 5   /**/
-#   else /* gcc presumably */
-#  define Quad_t long long /**/
-#  define Uquad_t unsigned long long   /**/
-#  define QUADKIND 3   /**/
+#   ifndef _MSC_VER
+#  define Quad_t long long /**/
+#  define Uquad_t unsigned long long   /**/
+#  define QUADKIND 3   /**/
+#   else
+#  define Quad_t __int64   /**/
+#  define Uquad_t unsigned __int64 /**/
+#  define QUADKIND 5   /**/
 #   endif
 #   define QUAD_IS_INT 1
 #   define QUAD_IS_LONG2
@@ -967,7 +967,7 @@
  * where library files may be held under a private library, for
  * instance.
  */
-#define ARCHNAME MSWin32-x64 /**/
+#define ARCHNAME MSWin32-x86 /**/
 
 /* BIN:
  * This symbol holds the path of the bin directory where the package will
@@ -1033,14 +1033,14 @@
  * This symbol is intended to be used along with CPPRUN in the same manner
  * symbol CPPMINUS is used with CPPSTDIN. It contains either - or .
  */
-#ifdef _MSC_VER
-#  define CPPSTDIN cppstdin
-#  define CPPMINUS 
-#  define CPPRUN cl -nologo -E
+#ifndef _MSC_VER
+#   define CPPSTDIN x86_64-w64-mingw32-gcc -E
+#   define CPPMINUS -
+#   define CPPRUN x86_64-w64-mingw32-gcc -E
 #else
-#  define CPPSTDIN x86_64-w64-mingw32-gcc -E
-#  define CPPMINUS -
-#  define CPPRUN x86_64-w64-mingw32-gcc -E
+#   define CPPSTDIN cppstdin
+#   define CPPMINUS 
+#   define CPPRUN cl -nologo 

[perl.git] branch blead, updated. v5.15.2-187-g00c1390

2011-08-31 Thread Rafael Garcia-Suarez
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/00c1390f3fd32e7cc0959bd9d47ee28d14ef7e42?hp=925798f29c677c612a63a08a92ebb5f169e27b02

- Log -
commit 00c1390f3fd32e7cc0959bd9d47ee28d14ef7e42
Author: Rafael Garcia-Suarez r...@consttype.org
Date:   Wed Aug 31 21:59:40 2011 +0200

Make switchC.t pass if the environment variable PERL_UNICODE contains S

(actually doing so the quick way, by skipping the last test, that tests
for -CS on the shebang line)
---

Summary of changes:
 t/run/switchC.t |   17 +++--
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/t/run/switchC.t b/t/run/switchC.t
index 5223b00..b1a243c 100644
--- a/t/run/switchC.t
+++ b/t/run/switchC.t
@@ -28,7 +28,7 @@ like( $r, qr/^$b(?:\r?\n)?$/s, '-CO: no warning on UTF-8 
output' );
 SKIP: {
 if (exists $ENV{PERL_UNICODE} 
($ENV{PERL_UNICODE} eq  || $ENV{PERL_UNICODE} =~ /[SO]/)) {
-   skip(qq[cannot test with PERL_UNICODE locale  or /[SO]/], 1);
+   skip(qq[cannot test with PERL_UNICODE  or /[SO]/], 1);
 }
 $r = runperl( switches = [ '-CI', '-w' ],
  prog = 'print ord(STDIN)',
@@ -96,8 +96,13 @@ $r = runperl( switches = [ '-CA', '-w' ],
 like( $r, qr/^Too late for -CS option at -e line 1\.$/s,
   '#!perl -C with different -C on command line' );
 
-$r = runperl( switches = [ '-w' ],
- progs= [ '#!perl -CS', 'print chr(256)' ],
-  stderr   = 1, );
-like( $r, qr/^Too late for -CS option at -e line 1\.$/s,
-  '#!perl -C but not command line' );
+SKIP: {
+if (exists $ENV{PERL_UNICODE}  $ENV{PERL_UNICODE} =~ /S/) {
+   skip(qq[cannot test with PERL_UNICODE including S], 1);
+}
+$r = runperl( switches = [ '-w' ],
+  progs= [ '#!perl -CS', 'print chr(256)' ],
+  stderr   = 1, );
+like( $r, qr/^Too late for -CS option at -e line 1\.$/s,
+  '#!perl -C but not command line' );
+}

--
Perl5 Master Repository


[perl.git] branch smoke-me/POSIX, deleted. v5.15.2-191-g4e7931e

2011-08-31 Thread Nicholas Clark
In perl.git, the branch smoke-me/POSIX has been deleted

http://perl5.git.perl.org/perl.git/commitdiff/?hp=4e7931e6b1b025e56c7b73a89ecec290a7d40018

   was  4e7931e6b1b025e56c7b73a89ecec290a7d40018

---
4e7931e6b1b025e56c7b73a89ecec290a7d40018 Test the diagnostics for usage 
messages for POSIX wrapper functions.
---

--
Perl5 Master Repository


[perl.git] branch smoke-me/POSIX, created. v5.15.2-196-g2e10fed

2011-08-31 Thread Nicholas Clark
In perl.git, the branch smoke-me/POSIX has been created

http://perl5.git.perl.org/perl.git/commitdiff/2e10fed019555dc491c5fd10e0e884ffc4c73559?hp=

at  2e10fed019555dc491c5fd10e0e884ffc4c73559 (commit)

- Log -
commit 2e10fed019555dc491c5fd10e0e884ffc4c73559
Author: Aristotle Pagaltzis pagalt...@gmx.de
Date:   Wed Aug 31 22:08:21 2011 +0200

Replace use of AutoLoader in POSIX with a custom compilation deferral 
scheme.

M   ext/B/t/concise-xs.t
M   ext/POSIX/lib/POSIX.pm

commit d5339fb101922fea33eba946a6f08a7ea415e38b
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 20:58:00 2011 +0200

Test the POSIX functions that wrap core builtins.

No need to test the 7 tested elsewhere.

M   MANIFEST
A   ext/POSIX/t/wrappers.t

commit 73fb0f9ff953ebe9633fcc641ba7016bd56439f8
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 18:19:34 2011 +0200

Convert the POSIX waitpid tests to Test::More.

Explicitly test POSIX::exit(), POSIX::fork(),  POSIX::sleep() and
POSIX::waitpid(). Use POSIX::_exit() in the child process.

M   ext/POSIX/t/waitpid.t

commit 6a77c236d7c221690e2a5d51bc972108ecc90f0b
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 18:02:00 2011 +0200

Explicitly test both CORE:: and POSIX:: gmtime and localtime.

The POSIX:: versions should be identical to the CORE:: versions, as they are
just wrappers. But the wrappers need testing.

M   ext/POSIX/t/time.t

commit 3da0f44dabb8a2d91791cb1ca473a6076087f91c
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 16:41:12 2011 +0200

Test the diagnostics for usage messages for POSIX wrapper functions.

Regularise the 3 inconsistent messages.

M   MANIFEST
M   ext/POSIX/lib/POSIX.pm
A   ext/POSIX/t/usage.t

commit 0d9a3185edcf240fe22265bfad4d1a3484c04f1a
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 15:20:56 2011 +0200

In POSIX, improve the diagnostic for the use $method instead.

In the error message, name the POSIX function that was called, as well as
the suggested replacement method. This rephrasing was in the patch
supplied by Aristotle Pagaltzis, but I have retained the existing POSIX
use of :: when describing the method, because given two less than great
choices, I'm inclined to favour retaining the status quo and one change
over two changes.

M   ext/POSIX/lib/POSIX.pm
M   ext/POSIX/t/unimplemented.t

commit 6fa4d69c7ff0aa09376cd48621b8a580c44a2772
Author: Aristotle Pagaltzis pagalt...@gmx.de
Date:   Wed Aug 31 14:59:57 2011 +0200

In POSIX, drastically simplify the wrappers for unimplemented functions.

Replace all the subroutines that croak() with a data structure and 8 lines 
in
POSIX::AUTOLOAD().

[By Aristotle Pagaltzis, with some editing by the committer, and most of his
message changes applied as a previous commit to split apart improvements 
from
pure refactoring]

This commit eliminates the helper functions POSIX::refef() and
POSIX::unimpl(), which were not part of the documented API, not exported,
and not used in any code outside the core (that is visible to Google
codesearch).

M   ext/POSIX/lib/POSIX.pm
M   ext/POSIX/lib/POSIX.pod

commit 4cb3c3f87776366be625d4c6a0c5d2f7a9f3168d
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 14:32:47 2011 +0200

The more regular POSIX unimplemented diagnostics simplify the tests.

M   ext/POSIX/t/unimplemented.t

commit 47b0b559cf517776541bc579788f233d12a5b98c
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 13:08:49 2011 +0200

Improvements to the diagnostics for unimplemented POSIX functions.

Suggested by Aristotle Pagaltzis as part of a larger refactoring.
This regularises the text, changing '--use' and ': use' to ', use' to be
consistent, provides a message for POSIX::srand(), and adds ' is' to the
message for POSIX::bsearch().

Most of the diagnostics have been unchanged since perl 5.000. For some,
IO::Handle replaced FileHandle in perl5.003_20 (28757baaaeaa3801).
div and ldiv's messages were improved to also mention % in 2003 by commit
7a6ca5fd18d88091.

M   ext/POSIX/lib/POSIX.pm
M   ext/POSIX/t/unimplemented.t

commit 145b7baf31abc312d14ff6a769aee1cd1e0331f0
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 12:13:46 2011 +0200

Test the diagnostics for all POSIX::* functions that are unimplemented.

M   MANIFEST
A   ext/POSIX/t/unimplemented.t

commit f4dff8b7a1f79f3233ccadccb9169e5f89ff8a8a
Author: Nicholas Clark n...@ccl4.org
Date:   Wed Aug 31 11:32:17 2011 +0200

In ext/POSIX/t/is.t, make better use of Test::More.

cmp_ok() will give better diagnostics than ok(). Using skip_all() is terser,
and will give better diagnostics.

M   ext/POSIX/t/is.t

[perl.git] branch zefram/dual_Carp, created. v5.15.2-185-g9160cce

2011-08-31 Thread Zefram
In perl.git, the branch zefram/dual_Carp has been created

http://perl5.git.perl.org/perl.git/commitdiff/9160cce3083951532dcef741b8d23311c64e26a5?hp=

at  9160cce3083951532dcef741b8d23311c64e26a5 (commit)

- Log -
commit 9160cce3083951532dcef741b8d23311c64e26a5
Author: Zefram zef...@fysh.org
Date:   Wed Aug 31 20:59:01 2011 +0100

move Carp to ext/Carp, preparing for dual-lifing
---

--
Perl5 Master Repository


[perl.git] branch maint-5.12, updated. v5.12.4-24-gbdbd6a2

2011-08-31 Thread Father Chrysostomos
In perl.git, the branch maint-5.12 has been updated

http://perl5.git.perl.org/perl.git/commitdiff/bdbd6a2672839d2844d23aa185cf6a58dfd266fe?hp=fe2b14024013434281bd9a6383f9d4d84312b355

- Log -
commit bdbd6a2672839d2844d23aa185cf6a58dfd266fe
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Aug 31 14:15:56 2011 -0700

perldelta for Carp memory leak fix

M   pod/perl5125delta.pod

commit 790db5db7e6fc8402a2044ebc8cace4cdf563f50
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Aug 18 08:50:02 2011 -0700

[perl #97020] Carp (actually caller) leaking memory

Commit eff7e72c3 (Detect incomplete caller overrides in Carp) used
this little trick for detecting a @DB::args that an overridden
caller() failed to set:

+  @args = \$i; # A sentinal, which no-one else has the address of

But there is a bug in caller().  The first time caller tries to write
to @DB::args, it calls Perl_init_dbargs first.  That function checks
whether @DB::args is AvREAL, in case someone has assigned to it, and
takes appropriate measures.  But caller doesn’t bother calling
Perl_init_dbargs more than once.  So manually-assigned items in
@DB::args would leak, starting with the *second* call to caller.

Commit eff7e72c3 triggered that bug, resulting in a regression in
Carp, in that it started leaking.  eff7e72c3 was backported to 5.12.2
with commit 97705941a4, so in both 5.12 and 5.14 Carp is affected.

This bug (the caller bug, not Carp’s triggering thereof) also affects
any caller overrides that set @DB::args themselves, if there are
alternate calls to the overridden caller and CORE::caller.

This commit fixes that by changing the if (!PL_dbargs) condition
in pp_caller to if (!PL_dbargs || AvREAL(PL_dbargs)).  I.e., if
@args is either uninitialised or AvREAL then call Perl_init_dbargs.
Perl_init_dbargs also has a bug in it, that this fixes: The array not
only needs AvREAL turned off, but also AvREIFY turned on, so that
assignments to it that occur after its initialisation turn AvREAL back
on again.  (In fact, Larry Wall added a comment suggesting this back
in perl 5.000.)

(cherry-picked from af80dd863acea8450a9f41ae03645f4d69dad091)

M   av.h
M   perl.c
M   pp_ctl.c
M   t/op/caller.t
---

Summary of changes:
 av.h  |2 +-
 perl.c|2 +-
 pod/perl5125delta.pod |6 ++
 pp_ctl.c  |2 +-
 t/op/caller.t |   13 -
 5 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/av.h b/av.h
index f8c9d1b..d0bbebd 100644
--- a/av.h
+++ b/av.h
@@ -29,7 +29,7 @@ struct xpvav {
  * real if the array needs to be modified in some way.  Functions that
  * modify fake AVs check both flags to call av_reify() as appropriate.
  *
- * Note that the Perl stack and @DB::args have neither flag set. (Thus,
+ * Note that the Perl stack has neither flag set. (Thus,
  * items that go on the stack are never refcounted.)
  *
  * These internal details are subject to change any time.  AV
diff --git a/perl.c b/perl.c
index 05cea40..3902f22 100644
--- a/perl.c
+++ b/perl.c
@@ -3779,7 +3779,7 @@ Perl_init_dbargs(pTHX)
   leak until global destruction.  */
av_clear(args);
 }
-AvREAL_off(PL_dbargs); /* XXX should be REIFY (see av.h) */
+AvREIFY_only(PL_dbargs);
 }
 
 void
diff --git a/pod/perl5125delta.pod b/pod/perl5125delta.pod
index 6c64f5f..850b63b 100644
--- a/pod/perl5125delta.pod
+++ b/pod/perl5125delta.pod
@@ -183,6 +183,12 @@ CUNIVERSAL::VERSION no longer leaks memory.  It started 
leaking in Perl
 The C-level Cmy_strftime functions no longer leaks memory.  This fixes a
 memory leak in CPOSIX::strftime [perl #73520].
 
+=item *
+
+Ccaller no longer leaks memory when called from the DB package if
+C@DB::args was assigned to after the first call to Ccaller.  LCarp
+was triggering this bug [perl #97010].
+
 =back
 
 =head1 New or Changed Diagnostics
diff --git a/pp_ctl.c b/pp_ctl.c
index dbec3a9..b9bcc28 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1799,7 +1799,7 @@ PP(pp_caller)
AV * const ary = cx-blk_sub.argarray;
const int off = AvARRAY(ary) - AvALLOC(ary);
 
-   if (!PL_dbargs)
+   if (!PL_dbargs || AvREAL(PL_dbargs))
Perl_init_dbargs(aTHX);
 
if (AvMAX(PL_dbargs)  AvFILLp(ary) + off)
diff --git a/t/op/caller.t b/t/op/caller.t
index b857322..196e70e 100644
--- a/t/op/caller.t
+++ b/t/op/caller.t
@@ -5,7 +5,7 @@ BEGIN {
 chdir 't' if -d 't';
 @INC = '../lib';
 require './test.pl';
-plan( tests = 80 );
+plan( tests = 81 );
 }
 
 my @c;
@@ -205,6 +205,17 @@ EOP
 }
 }
 
+# This also used to leak [perl #97010]:
+{
+my $gone;
+sub fwib::DESTROY { ++$gone }
+package DB;
+sub { () = 

[perl.git] branch smoke-me/avreal-padlist, updated. v5.15.2-182-g6882050

2011-08-31 Thread Father Chrysostomos
In perl.git, the branch smoke-me/avreal-padlist has been updated

http://perl5.git.perl.org/perl.git/commitdiff/6882050390a4738d41e949768fa92e4d02a4a666?hp=2bfd61fe1ea9816b3fcae66ab17db341731994d9

- Log -
commit 6882050390a4738d41e949768fa92e4d02a4a666
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Aug 31 22:42:35 2011 -0700

Cast for g++
---

Summary of changes:
 pad.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pad.c b/pad.c
index c324d05..763e01b 100644
--- a/pad.c
+++ b/pad.c
@@ -2156,7 +2156,7 @@ Perl_padlist_dup(pTHX_ AV *srcpad, CLONE_PARAMS *param)
dstpad = (AV*)ptr_table_fetch(PL_ptr_table, srcpad);
 
if (dstpad)
-   return SvREFCNT_inc_simple_NN(dstpad);
+   return (AV *)SvREFCNT_inc_simple_NN(dstpad);
 
dstpad = newAV();
ptr_table_store(PL_ptr_table, srcpad, dstpad);

--
Perl5 Master Repository


[perl.git] branch smoke-me/defined-coresub, created. v5.15.2-185-gd90ccac

2011-08-31 Thread Father Chrysostomos
In perl.git, the branch smoke-me/defined-coresub has been created

http://perl5.git.perl.org/perl.git/commitdiff/d90ccac6bcc343a1552eb2967c07bd8eda7cee37?hp=

at  d90ccac6bcc343a1552eb2967c07bd8eda7cee37 (commit)

- Log -
commit d90ccac6bcc343a1552eb2967c07bd8eda7cee37
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Aug 31 22:44:57 2011 -0700

defined {CORE::...}
---

--
Perl5 Master Repository