[perl.git] branch blead, updated. v5.13.8-391-g7fe50b8

2011-01-18 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/7fe50b8b8a4dc38fc341e3b403545aaca937f50e?hp=2d51747b8d0fbff249ca971199aa8ddb5856d3c3

- Log -
commit 7fe50b8b8a4dc38fc341e3b403545aaca937f50e
Author: Leon Timmermans faw...@gmail.com
Date:   Tue Jan 18 16:40:07 2011 +0100

Also unblock signal handlers throwing an exception

Also handle and test the edge case of a signal handler throwing an
exception
---

Summary of changes:
 mg.c   |   31 +++
 t/op/sigdispatch.t |   21 -
 2 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/mg.c b/mg.c
index f51cd47..cc13531 100644
--- a/mg.c
+++ b/mg.c
@@ -1434,6 +1434,14 @@ Perl_csighandler_init(void)
 }
 #endif
 
+#if defined HAS_SIGPROCMASK
+static void
+unblock_sigmask(pTHX_ void* newset)
+{
+sigprocmask(SIG_UNBLOCK, (sigset_t*)newset, NULL);
+}
+#endif
+
 void
 Perl_despatch_signals(pTHX)
 {
@@ -1443,7 +1451,7 @@ Perl_despatch_signals(pTHX)
 for (sig = 1; sig  SIG_SIZE; sig++) {
if (PL_psig_pend[sig]) {
dSAVE_ERRNO;
-#if defined(HAS_SIGPROCMASK)
+#ifdef HAS_SIGPROCMASK
/* From sigaction(2) (FreeBSD man page):
 * | Signal routines normally execute with the signal that
 * | caused their invocation blocked, but other signals may
@@ -1458,6 +1466,12 @@ Perl_despatch_signals(pTHX)
sigaddset(newset, sig);
sigprocmask(SIG_BLOCK, newset, oldset);
was_blocked = sigismember(oldset, sig);
+   if (!was_blocked) {
+   SV* save_sv = newSVpvn((char *)(newset), sizeof(sigset_t));
+   ENTER;
+   SAVEFREESV(save_sv);
+   SAVEDESTRUCTOR_X(unblock_sigmask, SvPV_nolen(save_sv));
+   }
 #endif
PL_psig_pend[sig] = 0;
 #if defined(HAS_SIGACTION)  defined(SA_SIGINFO)
@@ -1465,9 +1479,9 @@ Perl_despatch_signals(pTHX)
 #else
(*PL_sighandlerp)(sig);
 #endif
-#if defined(HAS_SIGPROCMASK)
+#ifdef HAS_SIGPROCMASK
if (!was_blocked)
-   sigprocmask(SIG_UNBLOCK, newset, NULL);
+   LEAVE;
 #endif
RESTORE_ERRNO;
}
@@ -3092,22 +3106,15 @@ Perl_sighandler(int sig)
 
 POPSTACK;
 if (SvTRUE(ERRSV)) {
-#ifndef PERL_MICRO
-#ifdef HAS_SIGPROCMASK
+#if !defined(PERL_MICRO)  !defined(HAS_SIGPROCMASK)
/* Handler died, for example to get out of a restart-able read().
 * Before we re-do that on its behalf re-enable the signal which was
 * blocked by the system when we entered.
 */
-   sigset_t set;
-   sigemptyset(set);
-   sigaddset(set,sig);
-   sigprocmask(SIG_UNBLOCK, set, NULL);
-#else
/* Not clear if this will work */
(void)rsignal(sig, SIG_IGN);
(void)rsignal(sig, PL_csighandlerp);
-#endif
-#endif /* !PERL_MICRO */
+#endif /* !PERL_MICRO  !HAS_SIGPROCMASK*/
die_sv(ERRSV);
 }
 cleanup:
diff --git a/t/op/sigdispatch.t b/t/op/sigdispatch.t
index a86861e..e3c8fdb 100644
--- a/t/op/sigdispatch.t
+++ b/t/op/sigdispatch.t
@@ -9,7 +9,7 @@ BEGIN {
 use strict;
 use Config;
 
-plan tests = 9;
+plan tests = 12;
 
 watchdog(10);
 
@@ -39,7 +39,7 @@ eval {
 is($@, Alarm!\n, 'after the second loop');
 
 SKIP: {
-skip('We can\'t test blocking without sigprocmask', 3) if 
$ENV{PERL_CORE_MINITEST} || !$Config{d_sigprocmask};
+skip('We can\'t test blocking without sigprocmask', 8) if 
$ENV{PERL_CORE_MINITEST} || !$Config{d_sigprocmask};
 
 require POSIX;
 my $new = POSIX::SigSet-new(POSIX::SIGUSR1);
@@ -48,15 +48,26 @@ SKIP: {
 my $gotit = 0;
 $SIG{USR1} = sub { $gotit++ };
 kill SIGUSR1, $$;
-is $gotit, 0, 'Haven\'t third received signal yet';
+is $gotit, 0, 'Haven\'t received third signal yet';
 
 my $old = POSIX::SigSet-new();
 POSIX::sigsuspend($old);
 is $gotit, 1, 'Received third signal';
 
+   {
+   kill SIGUSR1, $$;
+   local $SIG{USR1} = sub { die FAIL\n };
+   POSIX::sigprocmask(POSIX::SIG_BLOCK, undef, $old);
+   ok $old-ismember(POSIX::SIGUSR1), 'SIGUSR1 is blocked';
+   eval { POSIX::sigsuspend(POSIX::SigSet-new) };
+   is $@, FAIL\n, 'Exception is thrown, so received fourth 
signal';
+   POSIX::sigprocmask(POSIX::SIG_BLOCK, undef, $old);
+   ok $old-ismember(POSIX::SIGUSR1), 'SIGUSR1 is still blocked';
+   }
+
 kill SIGUSR1, $$;
-is $gotit, 1, 'Haven\'t fourth received signal yet';
+is $gotit, 1, 'Haven\'t received fifth signal yet';
 POSIX::sigprocmask(POSIX::SIG_UNBLOCK, $new, $old);
 ok $old-ismember(POSIX::SIGUSR1), 'SIGUSR1 was still blocked';
-is $gotit, 2, 'Received fourth signal';
+is $gotit, 2, 'Received fifth signal';
 }

--

[perl.git] branch blead, updated. v5.13.8-406-g4df1dff

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/4df1dffa4914d764d82ba6e4afc029cfb6bdb9ae?hp=68693f9e419485ad8306e3e2fc3d115724da24ec

- Log -
commit 4df1dffa4914d764d82ba6e4afc029cfb6bdb9ae
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:13:14 2011 -0800

perldelta: Threads::* upgrades

M   pod/perldelta.pod

commit e951630cec65768ffb3d8cce9def6d0fd43e7509
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:11:13 2011 -0800

perldelta: threads* upgrades are already listed

M   pod/perldelta.pod

commit 1e2d8b440f23d49ff96fe0635d07a9ba8937
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:10:48 2011 -0800

perldelta: regexp debug output

M   pod/perldelta.pod

commit b030240b52690aebe6d3290c66147bde1ffbf11e
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:06:45 2011 -0800

perldelta: pv_escape

M   pod/perldelta.pod

commit a874b22966b551c76cd70abca269662c76386473
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:01:57 2011 -0800

perldelta: Log-Message-Simple is already mentioned

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   59 
 1 files changed, 18 insertions(+), 41 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 0b9a3f3..0f4e3b1 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -65,6 +65,10 @@ standard, are now always legal internally.  But inputting or 
outputting
 them will work the same as for the non-legal Unicode code points, as the
 Unicode standard says they are illegal for open interchange.
 
+=head2 Regular expression debugging output improvement
+
+Regular expression debugging output (turned on by Cuse re 'debug';) now
+uses hexadecimal when escaping non-ASCII characters, instead of octal.
 
 =head1 Security
 
@@ -245,6 +249,14 @@ CTerm::UI has been upgraded from version 0.20 to 0.24
 
 =item *
 
+CThread::Queue has been upgraded from version 2.11 to 2.12.
+
+=item *
+
+CThread::Semaphore has been upgraded from version 2.11 to 2.12.
+
+=item *
+
 Cthreads has been upgraded from version 1.81_03 to 1.82
 
 =item *
@@ -483,6 +495,12 @@ three static in-line functions for accessing the 
information:
 Cget_regex_charset(), Cset_regex_charset(), and 
Cget_regex_charset_name(),
 which are defined in the places where the orginal flags were.
 
+=item *
+
+A new option has been added to Cpv_escape to dump all characters above
+ASCII in hexadecimal. Before, one could get all characters as hexadecimal
+or the Latin1 non-ASCII as octal
+
 =back
 
 =head1 Selected Bug Fixes
@@ -588,12 +606,6 @@ It hasn't yet been deduped with the entries that _are_ in 
the perldelta.
 
 Remove Mac OS classic code from numerous places throughout the core
 
-commit c0395286602760bd9b6d761786177bee69f9b3f5
-Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
-Date:   Wed Jan 19 10:27:27 2011 +
-
-Update Log-Message-Simple to CPAN version 0.08
-
 commit 7fe50b8b8a4dc38fc341e3b403545aaca937f50e
 Author: Leon Timmermans faw...@gmail.com
 Date:   Tue Jan 18 16:40:07 2011 +0100
@@ -1379,13 +1391,6 @@ Date:   Sun Dec 26 18:10:57 2010 -0800
 for dying: some BASIC implementations give an error if you ask for ASC()
 -- here ASC is their equivalent of our ord function.)
 
-commit 23e2fda90bc3d33c854bd36de712a45aca7a7711
-Author: Jerry D. Hedden jdhed...@cpan.org
-Date:   Fri Dec 24 12:53:28 2010 -0500
-
-Upgrade to Thread::Queue 2.12
-Upgrade to Thread::Semaphore 2.12
-
 commit cce04bebd8af026c2a6731940ddb895d3c1fc3e4
 Author: David Golden dagol...@cpan.org
 Date:   Mon Dec 13 17:36:33 2010 -0500
@@ -1403,32 +1408,4 @@ Date:   Mon Dec 13 17:36:33 2010 -0500
 
 I see this change as the first step towards future improvements.
 
-commit 0b76a1aba72393931944e93dffe81e1937ff3ac4
-Author: Jerry D. Hedden jdhed...@cpan.org
-Date:   Fri Dec 24 22:29:14 2010 +
-
-[PATCH] Upgrade to threads::shared 1.36
-[PATCH] Upgrade to threads 1.82
-
-commit c89df6cf6f70d6460ca3fec9d465e5e6e17fb3a7
-Author: Karl Williamson pub...@khwilliamson.com
-Date:   Sun Dec 19 11:08:47 2010 -0700
-
-Change regexes to debug dump non-ASCII as hex.
-
-instead of the less familiar octal for larger values.  Perhaps they
-should actually print the actual character, but this is far easier than
-the previous to understand.
-
-commit 681f01c2a5ff0846090d78599b3d4caeb93fda26
-Author: Karl Williamson pub...@khwilliamson.com
-Date:   Sun Dec 19 11:00:49 2010 -0700
-
-pv_escape: Add option to dump all non-ascii as hex
-
-This patch adds an option to pv_escape() to dump all characters above ASCII
-in hex.  Before, you could get all chars as hex or the Latin1 non-ASCII
-as octal, whereas the typical values

[perl.git] branch blead, updated. v5.13.8-408-g0b5d8c0

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/0b5d8c025ff153beae5518f618a7956951b84a75?hp=4df1dffa4914d764d82ba6e4afc029cfb6bdb9ae

- Log -
commit 0b5d8c025ff153beae5518f618a7956951b84a75
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:16:56 2011 -0800

perldelta: CPAN::Meta::YAML

M   pod/perldelta.pod

commit 0d7fe74163465b38bff92c942e7a39dbe7f19126
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:16:11 2011 -0800

perldelta: ord() docs

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   33 +++--
 1 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 0f4e3b1..5d3b759 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -128,7 +128,7 @@ cribbed.
 
 =item *
 
-LCPAN::Meta::YAML 0.002 has been added as a dual-life module.  It supports a
+LCPAN::Meta::YAML 0.003 has been added as a dual-life module.  It supports a
 subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files
 included with CPAN distributions or generated by the module installation
 toolchain. It should not be used for any other general YAML parsing or
@@ -302,13 +302,13 @@ XXX Changes which significantly change existing files in 
Fpod/ go here.
 However, any changes to Fpod/perldiag.pod should go in the L/Diagnostics
 section.
 
-=head3 LXXX
+=head3 Lperlfunc
 
 =over 4
 
 =item *
 
-XXX Description of the change here
+It has now been documented that Cord returns 0 for an empty string.
 
 =back
 
@@ -1274,12 +1274,6 @@ Date:   Sun Jan 2 14:33:16 2011 -0800
 defined. Neither the dtrace binary on OS X nor SystemTap's dtrace
 compatibility layer accept the -G option.)
 
-commit 42467a219c70177fc2004ed9b73d6c3db59dba5c
-Author: David Golden dagol...@cpan.org
-Date:   Sun Jan 2 17:34:44 2011 -0500
-
-Update CPAN::Meta::YAML to 0.003
-
 commit 9426e1a55981168c83a030df9bce5e0b46586581
 Author: David Mitchell da...@iabyn.com
 Date:   Sun Jan 2 19:38:30 2011 +
@@ -1370,27 +1364,6 @@ Date:   Thu Dec 30 10:32:44 2010 +
   1 (ie FETCH tried to free it), then push it on the mortals stack
   to extend it life a bit so our callers wont choke on it.
 
-
-commit e8a07a125ebebaf06dc890127439c7461a063b35
-Author: David Golden dagol...@cpan.org
-Date:   Mon Dec 27 14:50:31 2010 -0500
-
-Add CPAN::Meta::YAML as a dual-life core module
-
-commit 6fae7aa4cab68dd6bb59af7f22c85e77eb8a1b0c
-Author: Zsbán Ambrus amb...@math.bme.hu
-Date:   Sun Dec 26 18:10:57 2010 -0800
-
-[perl #81016] Document ord()
-
-The following patch clarifies what ord() does in pod/perlfunc.pod.
-
-From the current documentation, it's not documented what it does, and one
-could guess several different things: returns zero, returns undef, returns
-zero with a warning, returns undef with a warning, dies.  (There's 
precedent
-for dying: some BASIC implementations give an error if you ask for ASC()
--- here ASC is their equivalent of our ord function.)
-
 commit cce04bebd8af026c2a6731940ddb895d3c1fc3e4
 Author: David Golden dagol...@cpan.org
 Date:   Mon Dec 13 17:36:33 2010 -0500

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-409-gf3fe4ed

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/f3fe4ed7c2506d250a6f15a6f97c1cf7c3099051?hp=0b5d8c025ff153beae5518f618a7956951b84a75

- Log -
commit f3fe4ed7c2506d250a6f15a6f97c1cf7c3099051
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:23:22 2011 -0800

perldelta: magic and freeing
---

Summary of changes:
 pod/perldelta.pod |   45 +++--
 1 files changed, 7 insertions(+), 38 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 5d3b759..e3500a1 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -526,6 +526,13 @@ L# 
51918|http://rt.perl.org/rt3/Ticket/Display.html?id=51918,
 L# 51936|http://rt.perl.org/rt3/Ticket/Display.html?id=51936,
 L# 63446|http://rt.perl.org/rt3/Ticket/Display.html?id=63446
 
+=item *
+
+Sometimes magic (ties, tainted, etc.) attached to variables could cause an
+object to last longer than it should, or cause a crash if a tied variable
+were freed from within a tie method. These have been fixed
+L[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230.
+
 =back
 
 =head1 Known Problems
@@ -1326,44 +1333,6 @@ Date:   Thu Dec 30 16:52:22 2010 +
 It was checking that category 'closed' was enabled for warnings before 
calling
 report_evil_fh(), which in turn was (correctly) checking category 
'unopened'.
 
-commit 8985fe98dcc5c0af2fadeac15dfbc13f553ee7fc
-Author: David Mitchell da...@iabyn.com
-Date:   Thu Dec 30 10:32:44 2010 +
-
-Better handling of magic methods freeing the SV
-
-This is a fix for RT #81230 (and more). Currently, mg_get() works around
-the case where the called magic (e.g. FETCH) frees the magic SV. It does
-this by unconditionally pushing the SV on the tmps stack before invoking
-the method.
-
-There are two issues with this. Firstly, it may artificially extend the
-life of the SV. This was the root of the problem with #81230. There, the
-DB_File code, under -T, created a tainted tied object. Accessing the
-object (within FETCH as it happens), caused mg_get() to be invoked on the
-object (due to the taint magic), and thus extend the life of the object.
-This then caused cuntie %h if $h{k} to give the warning
-untie attempted while 1 inner references still exist.
-This only became noticeable after efaf36747029c85b4d8825318cb4d485a0bb350e,
-which stopped wrapping magic method calls in SAVETMPS/FREETMPS.
-
-The second issue issue that this protection only applies to mg_get();
-functions like mg_set() can still segfault if the SV is deleted.
-
-This commit fixes both problems as follows:
-
-First, the protection mechanism is moved out of mg_get() and into
-save_magic() / restore_magic(), so that it protects more things.
-Secondly, the protection is now:
-
-* in save_magic(), SvREFCNT_inc() the SV, thus protecting it from being
-  freed during FETCH (or whatever)
-
-* in restore_magic(), SvREFCNT_dec() the SV, undoing the protection
-  without extending the life of the SV, *except* if the refcount is
-  1 (ie FETCH tried to free it), then push it on the mortals stack
-  to extend it life a bit so our callers wont choke on it.
-
 commit cce04bebd8af026c2a6731940ddb895d3c1fc3e4
 Author: David Golden dagol...@cpan.org
 Date:   Mon Dec 13 17:36:33 2010 -0500

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-413-gecede56

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit ecede56af50bb15a820fb91412ad0de2903b85ba
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:31:48 2011 -0800

perldelta:  overloading

M   pod/perldelta.pod

commit fcc3a61f57b53ef0cfc7d3380fd4f4f4f06a3b6d
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:29:22 2011 -0800

perldelta: perlbug and From:

M   pod/perldelta.pod

commit 8862ff9513b9f0b694cfc3d6e853fe7d4c1ee064
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:27:54 2011 -0800

perldelta: Encode 2.42 is already mentioned

M   pod/perldelta.pod

commit 712ef7ca3adb81ebf72575895d4a1c018c3e064e
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:27:16 2011 -0800

perldelta: close/unopened warnings

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   69 
 1 files changed, 21 insertions(+), 48 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index e3500a1..4eac1b7 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -356,13 +356,14 @@ here. Most of these are built within the directories 
Futils and Fx2p.
 entries for each change
 Use LXXX with program names to get proper documentation linking. ]
 
-=head3 LXXX
+=head3 Lperlbug
 
 =over 4
 
 =item *
 
-XXX
+Cperlbug did not previously generate a From: header, potentially
+resulting in dropped mail. Now it does include that header.
 
 =back
 
@@ -533,6 +534,24 @@ object to last longer than it should, or cause a crash if 
a tied variable
 were freed from within a tie method. These have been fixed
 L[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230.
 
+=item *
+
+Most I/O functions were not warning for unopened handles unless the
+'closed' and 'unopened' warnings categories were both enabled. Now only
+Cuse warnings 'unopened' is necessary to trigger these warnings (as was
+always meant to be the case.
+
+=item *
+
+C expr  always respects overloading now if the expression is
+overloaded.
+
+Due to the way that ' as glob' was parsed differently from
+' as filehandle' from 5.6 onwards, something like C $foo[0]  did
+not handle overloading, even if C$foo[0] was an overloaded object. This
+was contrary to the documentation for overload, and meant that C  
+could not be used as a general overloaded iterator operator.
+
 =back
 
 =head1 Known Problems
@@ -1281,58 +1300,12 @@ Date:   Sun Jan 2 14:33:16 2011 -0800
 defined. Neither the dtrace binary on OS X nor SystemTap's dtrace
 compatibility layer accept the -G option.)
 
-commit 9426e1a55981168c83a030df9bce5e0b46586581
-Author: David Mitchell da...@iabyn.com
-Date:   Sun Jan 2 19:38:30 2011 +
-
-make expr always overload if expr is overloaded
-
-Due to the way that ' as glob' was parsed differently from
-' as filehandle' from 5.6 onwards, something like $foo[0]
-didn't handle overloading, even where $foo[0] was an overloaded object.
-This was contrary to the docs for overload, and meant that  couldn't
-be used as a general overloaded iterator operator.
-
-commit e4ef33329eb648489bad5296e9673c409f5577f9
-Author: Jesse Vincent je...@bestpractical.com
-Date:   Sun Jan 2 10:50:21 2011 +0800
-
-perlbug did not previously generate a From: header. While some MTAs do
-the right thing and insert a valid From:, not all of them do,
-potentially resulting in dropped mail.
-
-
 commit edcf105d70e5423fd928c776e086fe31a4a543f4
 Author: Jesse Vincent je...@bestpractical.com
 Date:   Sat Jan 1 18:46:20 2011 +0800
 
 Document 'test_porting' and start a section on how committing to blead
 
-commit b85802c5d04fcd6e5c969a5c56136e05061f05d7
-Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
-Date:   Sat Jan 1 10:37:04 2011 +
-
-Update Encode to CPAN version 2.42
-
-
-commit fbcda526a9bbe2ee1302d6f4507b07f83661fc0d
-Author: Nicholas Clark n...@ccl4.org
-Date:   Thu Dec 30 17:30:24 2010 +
-
-Most socket ops weren't warning for unopened handles unless 'closed' was 
enabled
-
-They were checking that category 'closed' was enabled for warnings before
-calling report_evil_fh(), which in turn was (correctly) checking category
-'unopened'.
-commit c521cf7c8af1697e5efd8ce3ad75ed00606db13b
-Author: Nicholas Clark n...@ccl4.org
-Date:   Thu Dec 30 16:52:22 2010 +
-
-pp_leavewrite wasn't warning for unopened handles unless 'closed' was 
enabled.
-
-It was checking that category 'closed' was enabled for warnings before 
calling
-report_evil_fh(), which in turn was (correctly) checking category 
'unopened'.
-
 commit cce04bebd8af026c2a6731940ddb895d3c1fc3e4
 Author: David

[perl.git] branch blead, updated. v5.13.8-414-g1c90c72

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/1c90c72563ba20dd56df56c1f219cba60ccaaa3e?hp=ecede56af50bb15a820fb91412ad0de2903b85ba

- Log -
commit 1c90c72563ba20dd56df56c1f219cba60ccaaa3e
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:36:01 2011 -0800

perldelta: DTrace on Solaris
---

Summary of changes:
 pod/perldelta.pod |   22 --
 1 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 4eac1b7..c7e6e45 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -445,9 +445,11 @@ L/Modules and Pragmata section.
 
 =over 4
 
-=item XXX-some-platform
+=item Solaris
 
-XXX
+DTrace is now supported on Solaris. There used to be build failures, but
+these have been fixed
+L[perl #73630]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=73630.
 
 =back
 
@@ -1284,22 +1286,6 @@ Date:   Sun Jan 2 14:51:21 2011 -0800
 new S_curse routine takes a boolean argument that determines whether
 that check should take place.
 
-commit 3d450a5dd4e8f9a7b2aba0b018f9fe078fb6aa30
-Author: David Leadbeater d...@dgl.cx
-Date:   Sun Jan 2 14:33:16 2011 -0800
-
-[perl #73630] Build separate DTrace for miniperl
-
-As outlined in the RT ticket due to miniperl's dependencies differing to
-the final perl binary dtrace -G needs to be called separately for each.
-
-Build tested on Mac OS X 10.6, Solaris 11 and Scientific Linux with
-SystemTap from git.
-
-(Solaris is the only system I have access to where DTRACE_O actually gets
-defined. Neither the dtrace binary on OS X nor SystemTap's dtrace
-compatibility layer accept the -G option.)
-
 commit edcf105d70e5423fd928c776e086fe31a4a543f4
 Author: Jesse Vincent je...@bestpractical.com
 Date:   Sat Jan 1 18:46:20 2011 +0800

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-415-gd456029

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/d45602995182f58596c702eb5ac3a351619149da?hp=1c90c72563ba20dd56df56c1f219cba60ccaaa3e

- Log -
commit d45602995182f58596c702eb5ac3a351619149da
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:47:31 2011 -0800

perldelta: [perl #81230] object destruction
---

Summary of changes:
 pod/perldelta.pod |   50 ++
 1 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index c7e6e45..c0a7512 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -87,6 +87,18 @@ XXX For a release on a stable branch, this section aspires 
to be:
 
 [ List each incompatible change as a =head2 entry ]
 
+=head2 All objects are destroyed
+
+It used to be possible to prevent a destructor from being called during
+global destruction by artificially increasing the reference count of an
+object.
+
+Now such objects Iwill will be destroyed, as a result of a bug fix
+L[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230.
+
+This has the potential to break some XS modules. (In fact, it break some.
+See L/Known Problems, below.)
+
 =head1 Deprecations
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
@@ -554,6 +566,18 @@ not handle overloading, even if C$foo[0] was an 
overloaded object. This
 was contrary to the documentation for overload, and meant that C  
 could not be used as a general overloaded iterator operator.
 
+=item *
+
+Destructors on objects were not called during global destruction on objects
+that were not referenced by any scalars. This could happen if an array
+element were blessed (e.g., Cbless \$a[0]) or if a closure referenced a
+blessed variable (Cbless \my @a; sub foo { @a }).
+
+Now there is an extra pass during global destruction to fire destructors on
+any objects that might be left after the usual passes that check for
+objects referenced by scalars
+L[perl #36347]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=36347.
+
 =back
 
 =head1 Known Problems
@@ -571,7 +595,8 @@ from either 5.XXX.XXX or 5.XXX.XXX.
 
 =item *
 
-XXX
+The fix for [perl #81230] causes test failures for CTk version 804.029.
+This is still being investigated.
 
 =back
 
@@ -1263,29 +1288,6 @@ Date:   Thu Dec 30 23:43:44 2010 -0500
 Per discussions with Jesse Vincent, JSON::PP has been added
 to the Perl core to support the new CPAN meta file specification
 
-commit 4155e4fe81b9987a30efea627e43a574f5460f73
-Author: Father Chrysostomos spr...@cpan.org
-Date:   Sun Jan 2 14:51:21 2011 -0800
-
-[perl #36347] Object destruction incomplete
-
-do_clean_objs only looks for objects referenced by RVs, so blessed
-array references and lexical variables (and probably other SVs, too)
-are not DESTROYed.
-
-This commit adds a new visit() call to sv_clean_objs, which curses
-(DESTROYs and un-blesses, leaving the reference count as it is) any
-objects that are still left after do_clean_named_io_objs. The new
-do_curse routine (a pointer to which is passeds to visit()) follows
-do_clean_named_io_objs’ example and explicitly skips the STDOUT and
-STDERR handles, in case destructors need to use them.
-
-The cursing code, which is now called from two places, is moved out of
-sv_clear and put in its own routine. The check that the reference
-count is zero does not apply when called from sv_clean_objs, so the
-new S_curse routine takes a boolean argument that determines whether
-that check should take place.
-
 commit edcf105d70e5423fd928c776e086fe31a4a543f4
 Author: Jesse Vincent je...@bestpractical.com
 Date:   Sat Jan 1 18:46:20 2011 +0800

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-418-g79e1bed

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/79e1bedb117246358d920c36b2de61d23e6e16d4?hp=6def3600d521161b3288481b39f0029159116a05

- Log -
commit 79e1bedb117246358d920c36b2de61d23e6e16d4
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:54:48 2011 -0800

perldelta: CGI.pm

M   pod/perldelta.pod

commit 6bd6819cce66bebf62dc8de3028518e0cf922f3e
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:53:23 2011 -0800

perldelta: $[ docs

I do not think this is deserving of mention. It just restores (and
slightly corrects) some documentation that was inadvertently deleted
in an earlier 5.13.x release.

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   27 +++
 1 files changed, 3 insertions(+), 24 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 622649a..a7b9982 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -193,6 +193,9 @@ CArchive::Tar has been upgraded from version 1.74 to 1.76
 
 CCGI has been upgraded from version 3.50 to 3.51
 
+Further improvements have been made to guard against newline injections
+in headers.
+
 =item *
 
 CCompress::Raw::Bzip2 has been upgraded from version 2.031 to 2.033
@@ -1169,17 +1172,6 @@ Date:   Wed Jan 5 22:25:23 2011 -0500
 c.f.
 http://www.nntp.perl.org/group/perl.perl5.porters/2010/05/msg160280.html
 
-commit 2a1594f630b57637ddd7a38daaa1e17f66da396a
-Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
-Date:   Wed Jan 5 23:35:15 2011 +
-
-Update CGI to CPAN version 3.51
-
-  [SECURITY]
-  - Further improvements have been made to guard against newline injections
-in headers. (Thanks to Max Kanat-Alexander, Yanick Champoux, Mark 
Stosberg)
-
-
 commit 0b5e625bc99f5cb78697faf03b297b6cacadf60b
 Author: Reini Urban rur...@x-ray.at
 Date:   Tue Sep 14 18:04:22 2010 +0200
@@ -1237,19 +1229,6 @@ Date:   Tue Sep 14 18:06:38 2010 +0200
 remove deprecated libcygipc info
 remove overlarge stack size
 
-commit ac0650a4c9f69cdc9e7af31df29011c42b42b770
-Author: Father Chrysostomos spr...@cpan.org
-Date:   Sun Jan 2 23:14:37 2011 -0800
-
-Restore the old description of $[
-
-The new entry is a bit too futuristic: assignment to $[ still works
-and it is not read-only.
-
-This does not fully restore the old description, as it contained
-grammatical errors and parts of it were not updated when 5.10 changed
-the scoping.
-
 commit 2831a86cee065b53b74fd19ddcc6a4257484646d
 Author: Zsbán Ambrus amb...@math.bme.hu
 Date:   Sun Jan 2 20:25:55 2011 -0800

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-419-g4d1face

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/4d1face807dfa10023aa90e871c1203a85eb4d90?hp=79e1bedb117246358d920c36b2de61d23e6e16d4

- Log -
commit 4d1face807dfa10023aa90e871c1203a85eb4d90
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 13:56:49 2011 -0800

perldelta: t/porting/filenames.t
---

Summary of changes:
 pod/perldelta.pod |8 ++--
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index a7b9982..badba25 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -418,7 +418,8 @@ that they represent may be covered elsewhere.
 
 =item *
 
-XXX
+A new test script, Ct/porting/filenames.t, makes sure that filenames and
+paths are reasonably portable.
 
 =back
 
@@ -1189,11 +1190,6 @@ Date:   Tue Sep 14 17:54:15 2010 +0200
 See http://www.tishler.net/jason/software/rebase/rebase-2.4.2.README
 
 
-NEW TESTS
-
-t/porting/filenames.t to make sure that filenames and paths are reasonably 
portable
-
-
 Platforms
 
 Actually excise 'Apollo DomainOS' support. We officially killed it in 
5.11.0. It

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-426-gf24f12f

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit f24f12f75a0e0f77b783730344f1d23d45cc0072
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:08:24 2011 -0800

perldelta: 0019012ad (module updates) is already done

M   pod/perldelta.pod

commit 029e860c73c88412b809beb571c60dccacd89528
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:07:16 2011 -0800

perldelta: File::Fetch and Archive::* are already mentioned

M   pod/perldelta.pod

commit 2282d36ac092228fbe1ad371aca4beb3f2fdcabd
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:05:42 2011 -0800

perldelta: Module::Metadata is already listed

M   pod/perldelta.pod

commit 98d645a7de1936a3ce985f693d2f55e3989c7324
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:05:17 2011 -0800

perldelta: version.pm

M   pod/perldelta.pod

commit cf3ada8baa13a14d9444dbec11bc1621f33b7b5f
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:03:39 2011 -0800

perldelta: no entry is necessary for c1b879e57aecb

That commit just fixes up a recently-added test to work on VMS.

M   pod/perldelta.pod

commit e6d8491a0230771e00732cdff1e49564458b55e5
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:01:16 2011 -0800

perldelta: Perl::OSType is already listed

M   pod/perldelta.pod

commit 7c53e0a1f5238bc515c631408751adcb29470d78
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:00:41 2011 -0800

perldelta: Apollo

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   81 +---
 1 files changed, 8 insertions(+), 73 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index badba25..1811d0e 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -291,6 +291,10 @@ CTime::Local has been upgraded from version 1.1901_01 to 
1.2000.
 
 CUnicode::Normalize has been upgraded from version 1.07 to 1.10
 
+=item *
+
+Cversion has been upgraded from 0.86 to 0.88.
+
 =back
 
 =head2 Removed Modules and Pragmata
@@ -451,9 +455,11 @@ XXX List any platforms that this version of perl no longer 
compiles on.
 
 =over 4
 
-=item XXX-some-platform
+=item Apollo DomainOS
 
-XXX
+The last vestiges of support for this platform have been excised from the
+Perl distribution. It was officially discontinued in version 5.12.0. It had
+not worked for years before that.
 
 =back
 
@@ -799,12 +805,6 @@ Date:   Sun Jan 16 17:41:30 2011 -0700
 
 regcomp.c: Convert \d \D to a switch{}
 
-commit eee47ba661717bca7751443be1b6ac8f8f64585a
-Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
-Date:   Mon Jan 17 12:35:54 2011 +
-
-Update File-Fetch to CPAN version 0.32
-
 commit e66820012d29519f903709f005e56a2c334ae183
 Author: Tony Cook t...@develop-help.com
 Date:   Mon Jan 17 19:22:08 2011 +1100
@@ -1094,15 +1094,6 @@ Date:   Sat Jan 8 14:44:05 2011 -0700
 
 perldiag.pod: Add missing message severities
 
-commit 0019012ad86d597fb507f71577d70ecd4c416bba
-Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
-Date:   Sat Jan 8 23:09:04 2011 +
-
-Update Object-Accessor to CPAN version 0.38
-Update Module-Load-Conditional to CPAN version 0.40
-Update Log-Message to CPAN version 0.04
-Update IPC-Cmd to CPAN version 0.68
-
 
 TESTING
 add test for split without a pattern
@@ -1113,12 +1104,6 @@ TESTING
 
 Add t/base/while.t testing the basic of a while loop with minimal 
dependencies.  Change t/cmd/while.t into a non-base test using test.pl.
 
-commit ac066c2ab5bc31260104aeee778921b186894769
-
-Update File-Fetch to CPAN version 0.30
-Update Archive-Tar to CPAN version 1.76
-Update Archive-Extract to CPAN version 0.48
-
 commit b86b68b4eefa1069dabc8ea0401d712b24a67857
 Author: Jesse Vincent je...@bestpractical.com
 Date:   Sat Jan 8 00:14:29 2011 +0800
@@ -1126,53 +,6 @@ Date:   Sat Jan 8 00:14:29 2011 +0800
 Update the policy on doc patches to maint
 
 
-commit e8b333e679eb9a7a62c1d86b647515f01821eb60
-Author: David Golden dagol...@cpan.org
-Date:   Wed Jan 5 22:47:41 2011 -0500
-
-Add Module::Metadata as a dual-life core module
-
-This commit adds Module::Metadata 1.02 as a dual-life module.  It
-gathers package and POD information from Perl module files.  It is a
-standalone module based on Module::Build::ModuleInfo for use by other
-module installation toolchain components.  Module::Build::ModuleInfo
-has been deprecated in favor of this module instead.
-
-commit a8fb8d791b74ff90850140d94407aad99ec86fe3
-Author: John Peacock jpeac...@jpeacock-hp.doesntexist.org
-Date:   Thu Jan 6 20:02:37 2011 -0500
-
-Sync

[perl.git] branch blead, updated. v5.13.8-428-gbc99e8a

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit bc99e8a8104d2d845ca71e76ebfcbe585e9a2a0b
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:11:59 2011 -0800

perldelta: 949cf498 (allowing all non-chars) is already done

M   pod/perldelta.pod

commit 9fb1ba13bd2c1f82c3b5a13d087970dd5c1b97ef
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:10:32 2011 -0800

perldelta: CPANPLUS*, Term::UI and Params::Check are already done

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   33 -
 1 files changed, 0 insertions(+), 33 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 1811d0e..5ea435d 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -993,7 +993,6 @@ Date:   Thu Jan 13 16:24:52 2011 +
 calls which might cause reallocation.
 
 Update to Win32-0.44 from CPAN
-Update Term-UI to CPAN version 0.24
 Update IO-Compress to CPAN version 2.033
 Update Compress-Raw-Zlib to CPAN version 2.033
 Update Compress-Raw-Bzip2 to CPAN version 2.033
@@ -1021,29 +1020,6 @@ Date:   Sun Jan 9 15:33:28 2011 -0700
 This patch also includes the changes to test the warnings added by recent
 commits for handling the surrogates and above-Unicode code points
 
-commit 949cf4983af707fbd15e422845f4f3df20505f97
-Author: Karl Williamson pub...@khwilliamson.com
-Date:   Sun Jan 9 13:50:18 2011 -0700
-
-utf8.c(): Default to allow problematic code points
-
-Surrogates, non-character code points, and code points that aren't in 
Unicode
-are now allowed by default, instead of having to specify a flag to allow 
them.
-(Most code did specify those flags anyway.)
-
-This affects uvuni_to_utf8_flags(), utf8n_to_uvuni() and various routines 
that
-are specialized interfaces to them.
-
-Now there is a new set of flags to disallow those code points.  Further, 
all 66
-of the non-character code points are known about and handled consistently,
-instead of just U+.
-
-Code that requires these code points to be forbidden will have to change 
to use
-the new flags.  I have looked at all the (few) instances in CPAN where 
these
-routines are used, and the only one I found that appears to have need to do
-this, Encode, has already been patched to accommodate this change.  Of 
course,
-I may have overlooked some subtleties.
-
 
 commit 7627e6d0fe772ac90fce9e03fea273109521e261
 Author: Nicholas Clark n...@ccl4.org
@@ -1079,15 +1055,6 @@ Date:   Sun Jan 9 10:54:58 2011 +
 is now responsible for prototypes for pp_* functions. (embed.pl remains
 responsible for ck_* functions, reading from regen/opcodes)
 
-commit f1aaabf80b19a3cc6dc435510732b561ab46361e
-Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk
-Date:   Sun Jan 9 00:16:46 2011 +
-
-Update CPANPLUS to CPAN version 0.9011
-Update CPANPLUS-Dist-Build to CPAN version 0.52
-Update Term-UI to CPAN version 0.22
-Update Params-Check to CPAN version 0.28
-
 commit a4a4c9e2c086dd5f7b7b05789161614dbbe8385b
 Author: Karl Williamson pub...@khwilliamson.com
 Date:   Sat Jan 8 14:44:05 2011 -0700

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-429-g26b3f08

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/26b3f08895a54ead6eb9aea00c9e0aa7b230937b?hp=bc99e8a8104d2d845ca71e76ebfcbe585e9a2a0b

- Log -
commit 26b3f08895a54ead6eb9aea00c9e0aa7b230937b
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:41:06 2011 -0800

perldelta: warnings on non-chars and surrogates
---

Summary of changes:
 pod/perldelta.pod |   16 +++-
 1 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 5ea435d..ea85093 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -355,7 +355,9 @@ XXX Newly added diagnostic messages go here
 
 =item *
 
-XXX
+Performing an operation requiring Unicode semantics (such as case-folding)
+on a Unicode surrogate or a non-Unicode character now triggers a warning:
+'Operation %s returns its argument for ...'.
 
 =back
 
@@ -1008,18 +1010,6 @@ DIAGNOSTICS
 introduced by change af51a00e97d5c559 - prior to this, all 12 functions 
would
 report their own name when unimplemented.
 
-commit 9ae3ac1a84c63b0eadf5baf47ce7096482280f32
-Author: Karl Williamson pub...@khwilliamson.com
-Date:   Sun Jan 9 15:33:28 2011 -0700
-
-Add warnings for use of problematic code points
-
-The non-Unicode code points have no Unicode semantics, so applying 
operations
-such as casing on them warns.
-
-This patch also includes the changes to test the warnings added by recent
-commits for handling the surrogates and above-Unicode code points
-
 
 commit 7627e6d0fe772ac90fce9e03fea273109521e261
 Author: Nicholas Clark n...@ccl4.org

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.8-432-g72cfe5a

2011-01-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/72cfe5a09bd4816ab99ae7873f2d7dc4d0f4cc43?hp=26b3f08895a54ead6eb9aea00c9e0aa7b230937b

- Log -
commit 72cfe5a09bd4816ab99ae7873f2d7dc4d0f4cc43
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:49:19 2011 -0800

perldelta: Pod-LaTeX is already listed

M   pod/perldelta.pod

commit 7abec982518b449c44c9e7c463dc125857bf
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:47:42 2011 -0800

perldelta: module updates

M   pod/perldelta.pod

commit e329d4837ae38e4d92f14b31ad0ea855a51213f0
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Jan 19 14:46:06 2011 -0800

perldelta: gethost* unimplemented messages

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |   27 +--
 1 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index ea85093..96e3d87 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -295,6 +295,10 @@ CUnicode::Normalize has been upgraded from version 1.07 
to 1.10
 
 Cversion has been upgraded from 0.86 to 0.88.
 
+=item *
+
+CWin32 has been upgraded from version 0.41 to 0.44.
+
 =back
 
 =head2 Removed Modules and Pragmata
@@ -369,7 +373,11 @@ XXX Changes (i.e. rewording) of diagnostic messages go here
 
 =item *
 
-XXX
+Previously, if none of the Cgethostbyaddr, Cgethostbyname and
+Cgethostent functions were implemented on a given platform, they would
+all die with the message 'Unsupported socket function gethostent called',
+with analogous messages for Cgetnet* and Cgetserv*. This has been
+corrected.
 
 =back
 
@@ -977,8 +985,6 @@ Date:   Thu Jan 13 22:36:36 2011 -0700
 not delivering that.  The TODOs that this fixes will be cleaned up in a 
later commit
 
 
-Update Pod-LaTeX to CPAN version 0.59
-
 commit 680818c0361b180bb6f09d4bb11c4d5cd467fe62
 Author: Nicholas Clark n...@ccl4.org
 Date:   Thu Jan 13 16:24:52 2011 +
@@ -994,21 +1000,6 @@ Date:   Thu Jan 13 16:24:52 2011 +
 at the point of access, and copy all the SVs away before making any further
 calls which might cause reallocation.
 
-Update to Win32-0.44 from CPAN
-Update IO-Compress to CPAN version 2.033
-Update Compress-Raw-Zlib to CPAN version 2.033
-Update Compress-Raw-Bzip2 to CPAN version 2.033
-Update DB_File to CPAN version 1.821
-
-DIAGNOSTICS
-Correct the unimplemented message for get{host,net,proto,serv}ent 
aliases.
-
-Previously, if all of gethost{byaddr,byname,ent} were unimplemented on a
-platform, they would all return 'Unsupported socket function gethostent
-called', with the analogous results for getnet{byaddr,byname,ent},
-getproto{byname,bynumber,ent} and getserv{byname,byport,ent}. This bug was
-introduced by change af51a00e97d5c559 - prior to this, all 12 functions 
would
-report their own name when unimplemented.
 
 
 commit 7627e6d0fe772ac90fce9e03fea273109521e261

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-3-gecfd064

2011-01-20 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/ecfd064986aef03b9b7d8b56da83ae37ff435721?hp=57e9ad135a0bd26cf0c27c058712ad1518a209bf

- Log -
commit ecfd064986aef03b9b7d8b56da83ae37ff435721
Author: Leon Timmermans faw...@gmail.com
Date:   Thu Jan 20 22:06:38 2011 +0100

Fixes 'raw' layer for perl#80764

Made a ':raw' open do what it advertises to do (first open the file,
then binmode it), instead of leaving off the top layer.

M   perlio.c

commit c0888ace5ec8d378714cd95caba0b35057e6c3f1
Author: Leon Timmermans faw...@gmail.com
Date:   Thu Jan 20 22:04:39 2011 +0100

Use PerlIOBase_open for pop, utf8 and bytes layers

M   perlio.c

commit 81fe74fb3f93457df8e864c91546ac6b860657fc
Author: Leon Timmermans faw...@gmail.com
Date:   Thu Jan 20 21:08:34 2011 +0100

Define PerlIOBase_open

M   perlio.c
M   perliol.h
M   pod/perliol.pod
---

Summary of changes:
 perlio.c|   40 ++--
 perliol.h   |1 +
 pod/perliol.pod |   11 ++-
 3 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/perlio.c b/perlio.c
index 0eee430..3ce31d1 100644
--- a/perlio.c
+++ b/perlio.c
@@ -1160,7 +1160,7 @@ PERLIO_FUNCS_DECL(PerlIO_remove) = {
 PERLIO_K_DUMMY | PERLIO_K_UTF8,
 PerlIOPop_pushed,
 NULL,
-NULL,
+PerlIOBase_open,
 NULL,
 NULL,
 NULL,
@@ -1315,6 +1315,24 @@ PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), 
const char *mode, SV *arg)
 return f;
 }
 
+PerlIO *
+PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers,
+  IV n, const char *mode, int fd, int imode, int perm,
+  PerlIO *old, int narg, SV **args)
+{
+PerlIO_funcs * const tab = PerlIO_layer_fetch(aTHX_ layers, n - 1, 
PerlIO_default_layer(aTHX_ 0));
+if (tab  tab-Open) {
+   PerlIO* ret = (*tab-Open)(aTHX_ tab, layers, n - 1, mode, fd, imode, 
perm, old, narg, args);
+   if (ret  PerlIO_push(aTHX_ ret, self, mode, PerlIOArg) == -1) {
+   PerlIO_close(ret);
+   return NULL;
+   }
+   return ret;
+}
+SETERRNO(EINVAL, LIB_INVARG);
+return NULL;
+}
+
 IV
 PerlIOBase_binmode(pTHX_ PerlIO *f)
 {
@@ -1948,7 +1966,7 @@ PERLIO_FUNCS_DECL(PerlIO_utf8) = {
 PERLIO_K_DUMMY | PERLIO_K_UTF8,
 PerlIOUtf8_pushed,
 NULL,
-NULL,
+PerlIOBase_open,
 NULL,
 NULL,
 NULL,
@@ -1979,7 +1997,7 @@ PERLIO_FUNCS_DECL(PerlIO_byte) = {
 PERLIO_K_DUMMY,
 PerlIOUtf8_pushed,
 NULL,
-NULL,
+PerlIOBase_open,
 NULL,
 NULL,
 NULL,
@@ -2003,20 +2021,6 @@ PERLIO_FUNCS_DECL(PerlIO_byte) = {
 NULL,   /* set_ptrcnt */
 };
 
-PerlIO *
-PerlIORaw_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers,
-  IV n, const char *mode, int fd, int imode, int perm,
-  PerlIO *old, int narg, SV **args)
-{
-PerlIO_funcs * const tab = PerlIO_default_btm();
-PERL_UNUSED_ARG(self);
-if (tab  tab-Open)
-return (*tab-Open) (aTHX_ tab, layers, n - 1, mode, fd, imode, perm,
- old, narg, args);
-SETERRNO(EINVAL, LIB_INVARG);
-return NULL;
-}
-
 PERLIO_FUNCS_DECL(PerlIO_raw) = {
 sizeof(PerlIO_funcs),
 raw,
@@ -2024,7 +2028,7 @@ PERLIO_FUNCS_DECL(PerlIO_raw) = {
 PERLIO_K_DUMMY,
 PerlIORaw_pushed,
 PerlIOBase_popped,
-PerlIORaw_open,
+PerlIOBase_open,
 NULL,
 NULL,
 NULL,
diff --git a/perliol.h b/perliol.h
index 019fa8c..965910b 100644
--- a/perliol.h
+++ b/perliol.h
@@ -189,6 +189,7 @@ PERL_EXPORT_C IVPerlIOBase_noop_fail(pTHX_ PerlIO 
*f);
 PERL_EXPORT_C IVPerlIOBase_noop_ok(pTHX_ PerlIO *f);
 PERL_EXPORT_C IVPerlIOBase_popped(pTHX_ PerlIO *f);
 PERL_EXPORT_C IVPerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, 
SV *arg, PerlIO_funcs *tab);
+PERL_EXPORT_C PerlIO *  PerlIOBase_open(pTHX_ PerlIO_funcs *self, 
PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, 
PerlIO *old, int narg, SV **args);
 PERL_EXPORT_C SSize_t   PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t 
count);
 PERL_EXPORT_C void  PerlIOBase_setlinebuf(pTHX_ PerlIO *f);
 PERL_EXPORT_C SSize_t   PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, 
Size_t count);
diff --git a/pod/perliol.pod b/pod/perliol.pod
index e814847..0f71b93 100644
--- a/pod/perliol.pod
+++ b/pod/perliol.pod
@@ -526,11 +526,12 @@ passed to Copen, otherwise it will be 1 if for example
 CPerlIO_open was called.  In simple cases SvPV_nolen(*args) is the
 pathname to open.
 
-Having said all that translation-only layers do not need to provide
-COpen() at all, but rather leave the opening to a lower level layer
-and wait to be pushed.  If a layer does provide COpen() it should
-normally call the COpen() method of next layer 

[perl.git] branch blead, updated. v5.13.9-7-gdc7c536

2011-01-20 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit dc7c5368d173865841aa41764f828d34e663e0bc
Author: Michael Stevens mstev...@etla.org
Date:   Thu Jan 20 13:55:46 2011 +

Fixed patch for 5.10.0 link.

M   Changes

commit ff7e9008dc1a7d9df73110077b3cae586508c160
Author: Michael Stevens mstev...@etla.org
Date:   Thu Jan 20 13:39:46 2011 +

Update old activestate links to point to git.

M   cop.h

commit 1b279fcb890701eb4d573c1ed94fea7c6d771983
Author: Michael Stevens mstev...@etla.org
Date:   Wed Jan 19 12:41:29 2011 +

Fix pod bug - bare =item

M   pod/perlfaq7.pod

commit a4b0381d2b84eec68af5916d16dd8e0d12639740
Author: Michael Stevens mstev...@etla.org
Date:   Wed Jan 19 14:01:19 2011 +

Porting pod lint.

M   Porting/epigraphs.pod
M   Porting/pumpkin.pod
M   Porting/release_schedule.pod
---

Summary of changes:
 Changes  |2 +-
 Porting/epigraphs.pod|4 +++-
 Porting/pumpkin.pod  |2 +-
 Porting/release_schedule.pod |2 +-
 cop.h|5 +++--
 pod/perlfaq7.pod |8 
 6 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/Changes b/Changes
index ffeb850..ae83a2f 100644
--- a/Changes
+++ b/Changes
@@ -29,7 +29,7 @@ If you need access to these removed files, then they can be 
be found most
 recently in the 5.8.9 and 5.10.0 tarballs, at
 
 http://www.cpan.org/src/perl-5.8.9.tar.gz
-http://www.cpan.org/src/perl-5.10.0.tar.gz
+   http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz
 
 The contents of the files in question can mostly be regenerated using git
 commands. The following table shows the equivalents. Note that the files
diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod
index 269b33c..b37dfb7 100644
--- a/Porting/epigraphs.pod
+++ b/Porting/epigraphs.pod
@@ -1322,6 +1322,8 @@ LAnnounced on 2001-08-04 by Gurusamy 
Sarathy|http://www.nntp.perl.org/group/per
 
 =head2 v5.6.1-TRIAL3 - I can't find the announcement
 
+No announcement available.
+
 =head2 v5.6.1-TRIAL2 - no epigraph
 
 LAnnounced on 2001-01-31 by Gurusamy 
Sarathy|http://www.nntp.perl.org/group/perl.perl5.porters/2001/01/msg29934.html
@@ -1339,7 +1341,7 @@ but that had to be the 57th strangest.
 [footnote: he had a tidy mind]
 
 =head2 v5.6.0 - J R R Tolkien, The Hobbit, The Last Stage
-
+
 LAnnounced on 2000-03-23 by Gurusamy 
Sarathy|http://www.nntp.perl.org/group/perl.perl5.porters/2000/03/msg10341.html
 
 The dragon is withered,
diff --git a/Porting/pumpkin.pod b/Porting/pumpkin.pod
index f674b9c..9ba1118 100644
--- a/Porting/pumpkin.pod
+++ b/Porting/pumpkin.pod
@@ -1068,7 +1068,7 @@ Given that it's already there, you can use it to override 
distribution modules.
 One way to do that is to add
 
ccflags=$ccflags -DAPPLLIB_EXP=\/my/override\
-   
+
 to your config.over file.  (You have to be particularly careful to get the
 double quotes in.  APPLLIB_EXP must be a valid C string.  It might
 actually be easier to just #define it yourself in perl.c.)
diff --git a/Porting/release_schedule.pod b/Porting/release_schedule.pod
index 1cb5d11..75c7130 100644
--- a/Porting/release_schedule.pod
+++ b/Porting/release_schedule.pod
@@ -20,7 +20,7 @@ Code Freeze
 
 Target date for 5.14.0 RC0
 
-=item 7 days after the release of a 5.14.0-RCx with no showstoppers reported
+=item Seven days after the release of a 5.14.0-RCx with no showstoppers 
reported
 
 5.14.0
 
diff --git a/cop.h b/cop.h
index 2dc67cb..faff796 100644
--- a/cop.h
+++ b/cop.h
@@ -92,8 +92,9 @@ typedef struct jmpenv JMPENV;
  * 
  * The original patches that introduces flexible exceptions were:
  *
- *   http://public.activestate.com/cgi-bin/perlbrowse?patch=3386
- *   http://public.activestate.com/cgi-bin/perlbrowse?patch=5162
+ * 
http://perl5.git.perl.org/perl.git/commit/312caa8e97f1c7ee342a9895c2f0e749625b4929
+ * 
http://perl5.git.perl.org/perl.git/commit/14dd3ad8c9bf82cf09798a22cc89a9862dfd6d1a

+ *  
  */
 
 #define dJMPENVJMPENV cur_env
diff --git a/pod/perlfaq7.pod b/pod/perlfaq7.pod
index 3782351..fbe6dad 100644
--- a/pod/perlfaq7.pod
+++ b/pod/perlfaq7.pod
@@ -212,23 +212,23 @@ treat each case individually.
 
 =over 4
 
-=item
+=item *
 
 Get a login for the Perl Authors Upload Server (PAUSE) if you don't
 already have one: http://pause.perl.org
 
-=item
+=item *
 
 Write to modu...@perl.org explaining what you did to contact the
 current maintainer. The PAUSE admins will also try to reach the
 maintainer.
 
-=item
+=item *
 
 Post a public message in a heavily trafficked site announcing your
 intention to take over the module.
 
-=item

[perl.git] branch blead, updated. v5.13.9-34-gfd1d9b5

2011-01-21 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit fd1d9b5c785ad0e5340c74dd6f1be27a3735e829
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Jan 21 08:26:50 2011 -0800

[perl #81750] Perl 5.12: undef-as-hashref bug

The addition of the boolkeys op type in commit 867fa1e2d did not
account for the fact that rv2hv (%{}) can sometimes return undef
(%$undef with strict refs turned off).

When the boolkeys op is created (and the rv2hv becomes its kid), the
rv2hv is flagged with OPf_REF, meaning that it must return a hash, not
the contents.

Perl_softrefxv in pp.c checks for that flag. If it is set, it dies
with ‘Can't use an undefined value as a HASH reference’ for unde-
fined values.

This commit changes it to make an exception if rv2hv-op_next is a
boolkeys op. It also changes pp_boolkeys to account for undef.
---

Summary of changes:
 pp.c   |7 ++-
 t/op/ref.t |   22 +-
 2 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/pp.c b/pp.c
index 0a955bb..d2bb466 100644
--- a/pp.c
+++ b/pp.c
@@ -248,7 +248,10 @@ Perl_softref2xv(pTHX_ SV *const sv, const char *const what,
Perl_die(aTHX_ PL_no_usym, what);
 }
 if (!SvOK(sv)) {
-   if (PL_op-op_flags  OPf_REF)
+   if (
+ PL_op-op_flags  OPf_REF 
+ PL_op-op_next-op_type != OP_BOOLKEYS
+   )
Perl_die(aTHX_ PL_no_usym, what);
if (ckWARN(WARN_UNINITIALIZED))
report_uninit(sv);
@@ -6319,6 +6322,8 @@ PP(pp_boolkeys)
 dSP;
 HV * const hv = (HV*)POPs;
 
+if (SvTYPE(hv) != SVt_PVHV) { XPUSHs(PL_sv_no); RETURN; }
+
 if (SvRMAGICAL(hv)) {
MAGIC * const mg = mg_find((SV*)hv, PERL_MAGIC_tied);
if (mg) {
diff --git a/t/op/ref.t b/t/op/ref.t
index 38c6800..bcd121a 100644
--- a/t/op/ref.t
+++ b/t/op/ref.t
@@ -9,7 +9,7 @@ BEGIN {
 use strict qw(refs subs);
 use re ();
 
-plan(200);
+plan(213);
 
 # Test glob operations.
 
@@ -671,6 +671,26 @@ is (runperl(
 ok\n, 'freeing freed glob in global destruction');
 
 
+# Test undefined hash references as arguments to %{} in boolean context
+# [perl #81750]
+{
+ no strict 'refs';
+ eval { my $foo; %$foo; }; ok !$@, '%$undef';
+ eval { my $foo; scalar %$foo;  }; ok !$@, 'scalar %$undef';
+ eval { my $foo; !%$foo;}; ok !$@, '!%$undef';
+ eval { my $foo; if ( %$foo) {} }; ok !$@, 'if ( %$undef) {}';
+ eval { my $foo; if (!%$foo) {} }; ok !$@, 'if (!%$undef) {}';
+ eval { my $foo; unless ( %$foo) {} }; ok !$@, 'unless ( %$undef) {}';
+ eval { my $foo; unless (!%$foo) {} }; ok !$@, 'unless (!%$undef) {}';
+ eval { my $foo; 1 if %$foo;}; ok !$@, '1 if %$undef';
+ eval { my $foo; 1 if !%$foo;   }; ok !$@, '1 if !%$undef';
+ eval { my $foo; 1 unless %$foo;}; ok !$@, '1 unless %$undef;';
+ eval { my $foo; 1 unless ! %$foo;  }; ok !$@, '1 unless ! %$undef';
+ eval { my $foo;  %$foo ? 1 : 0;}; ok !$@, ' %$undef ? 1 : 0';
+ eval { my $foo; !%$foo ? 1 : 0;}; ok !$@, '!%$undef ? 1 : 0';
+}
+
+
 # Bit of a hack to make test.pl happy. There are 3 more tests after it leaves.
 $test = curr_test();
 curr_test($test + 3);

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-98-gc21ebed

2011-01-23 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit c21ebed2b0d42104e83548e11b188182a597806e
Author: David Leadbeater d...@dgl.cx
Date:   Sun Jan 23 12:39:28 2011 -0800

[perl #82650] Ignore DTrace build product
---

Summary of changes:
 .gitignore |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index f8af423..0733ec0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,6 +37,9 @@ bug*.pl
 /GNUmakefile
 /x2p/GNUmakefile
 
+# produced by dtrace -H when configured with usedtrace
+perldtrace.h
+
 # general build products
 *.o
 *.a

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-131-g6638386

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/66383868a56e7a39aff7e03d27d27756ebb90eed?hp=b8948979a6ee0ef50a1f4a87fe8ebde78941b5eb

- Log -
commit 66383868a56e7a39aff7e03d27d27756ebb90eed
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 12:34:58 2011 -0800

[perl #82738] Add L to more links.

M   README.mpeix
M   README.vmesa

commit 236a53f111d0231d6ff221fe7a11a700d007de48
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 12:34:16 2011 -0800

[perl #82730] Fix filename reference to perldelta_template.

M   Porting/how_to_write_a_perldelta.pod
---

Summary of changes:
 Porting/how_to_write_a_perldelta.pod |2 +-
 README.mpeix |   28 ++--
 README.vmesa |   17 +
 3 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/Porting/how_to_write_a_perldelta.pod 
b/Porting/how_to_write_a_perldelta.pod
index 423b42a..04fc972 100644
--- a/Porting/how_to_write_a_perldelta.pod
+++ b/Porting/how_to_write_a_perldelta.pod
@@ -8,7 +8,7 @@ there, steal it.
 
 =head2 Template
 
-Note there is a file FPorting/perldelta_template which contains a
+Note there is a file FPorting/perldelta_template.pod which contains a
 skeleton version of a perldelta.pod file, which should normally be copied
 in at the start of a new release.
 
diff --git a/README.mpeix b/README.mpeix
index f3cbe8e..44dea99 100644
--- a/README.mpeix
+++ b/README.mpeix
@@ -104,7 +104,7 @@ libwww-perl (LWP) which lets Perl programs behave like web 
browsers:
 mod_perl (just the perl portion; the actual DSO will be released
 soon with Apache/iX 1.3.12 from bixby.org).  This module allows you to
 write high performance persistent Perl CGI scripts and all sorts of
-cool things. (http://perl.apache.org/)
+cool things. (Lhttp://perl.apache.org/)
 
 and much much more hiding under /PERL/PUB/.cpan/
 
@@ -117,7 +117,7 @@ installing of add-on packages:
 2. perl -MCPAN -e shell
 3. Ignore any terminal I/O related complaints!
 
-(http://search.cpan.org/dist/CPAN/)
+(Lhttp://search.cpan.org/dist/CPAN/)
 
 =back
 
@@ -151,12 +151,12 @@ Migrated from cccd.edu to bixby.org.
 =head1 Welcome to Perl/iX
 
 This is the official home page for the HP e3000 MPE/iX
-( http://www.hp.com/go/e3000 ) port of the Perl scripting
-language ( http://www.perl.com/ ) which gives you all of the power of C,
+( Lhttp://www.hp.com/go/e3000 ) port of the Perl scripting
+language ( Lhttp://www.perl.com/ ) which gives you all of the power of C,
 awk, sed, and sh in a single language. Check here for the latest news,
 implemented functionality, known bugs, to-do list, etc. Status reports
 about major milestones will also be posted to the HP3000-L mailing list
-( http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-LH=RAVEN.UTC.EDU ) and
+( Lhttp://www.lsoft.com/scripts/wl.exe?SL1=HP3000-LH=RAVEN.UTC.EDU ) and
 its associated gatewayed newsgroup comp.sys.hp.mpe.
 
 I'm doing this port because I can't live without Perl on the Unix
@@ -164,14 +164,14 @@ machines that I administer, and I want to have the same 
power
 available to me on MPE.
 
 Please send your comments, questions, and bug reports directly to me,
-Mark Bixby ( http://www.bixby.org/mark/ ). Or just post them to HP3000-L.
+Mark Bixby ( Lhttp://www.bixby.org/mark/ ). Or just post them to HP3000-L.
 
 The platform I'm using to do this port is an HP 3000 957RX running
 MPE/iX 6.0 and using the GNU gcc C compiler
-( http://jazz.external.hp.com/src/gnu/gnuframe.html ).
+( Lhttp://jazz.external.hp.com/src/gnu/gnuframe.html ).
 
 The combined porting wisdom from all of my ports can be found in my
-MPE/iX Porting Guide (http://www.bixby.org/mark/porting.html).
+MPE/iX Porting Guide (Lhttp://www.bixby.org/mark/porting.html).
 
 IMPORTANT NOTICE: Yes, I do work for the HP CSY RD lab, but ALL of
 the software you download from bixby.org is my personal freeware that
@@ -189,7 +189,7 @@ MPE/iX 5.0 or earlier, nor does it run on classic MPE/V 
machines.
 =item *
 
 If you wish to recompile Perl, you must install both GNUCORE and
-GNUGCC from jazz (http://jazz.external.hp.com/src/gnu/gnuframe.html).
+GNUGCC from jazz (Lhttp://jazz.external.hp.com/src/gnu/gnuframe.html).
 
 =item *
 
@@ -205,9 +205,9 @@ to _getenv_libc.
 =item *
 
 If you will be compiling Perl/iX yourself, you will also need
-Syslog/iX ( http://www.bixby.org/mark/syslogix.html ) and the
+Syslog/iX ( Lhttp://www.bixby.org/mark/syslogix.html ) and the
 /BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX
-( http://www.bixby.org/mark/bindix.html ).
+( Lhttp://www.bixby.org/mark/bindix.html ).
 
 =back
 
@@ -418,9 +418,9 @@ equivalent symbolic link) as the first line.  Use the chmod 
command to
 make sure that your script has execute permission. Run your script!
 
 Be sure to 

[perl.git] branch blead, updated. v5.13.9-139-g256771e

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/256771e2e73d8cd8e349b60196426843a3178cfa?hp=f4c5852c5260194baa0a223a41c1b6681205181d

- Log -
commit 256771e2e73d8cd8e349b60196426843a3178cfa
Author: Hongwen Qiu qiuhong...@gmail.com
Date:   Tue Jan 25 13:08:55 2011 +0800

more typo fix for perlxstut.pod
---

Summary of changes:
 pod/perlxstut.pod |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pod/perlxstut.pod b/pod/perlxstut.pod
index 2517b67..91c13ed 100644
--- a/pod/perlxstut.pod
+++ b/pod/perlxstut.pod
@@ -1015,8 +1015,8 @@ put these declarations on top.)
 This routine also returns a different number of arguments depending on the
 success or failure of the call to statfs.  If there is an error, the error
 number is returned as a single-element array.  If the call is successful,
-then a 9-element array is returned.  Since only one argument is passed into
-this function, we need room on the stack to hold the 9 values which may be
+then a 7-element array is returned.  Since only one argument is passed into
+this function, we need room on the stack to hold the 7 values which may be
 returned.
 
 We do this by using the PPCODE: directive, rather than the CODE: directive.
@@ -1125,7 +1125,7 @@ And add the following code to Mytest.t, while 
incrementing the 11
 tests to 13:
 
$results = Mytest::multi_statfs([ '/', '/blech' ]);
-   ok( ref $results-[0]) );
+   ok( ref $results-[0] );
ok( ! ref $results-[1] );
 
 =head2 New Things in this Example
@@ -1304,7 +1304,7 @@ layer. If it can't find one, it will call 
CPerlIO_exportFILE() to
 generate a new stdio CFILE. Please only call CPerlIO_exportFILE() if
 you want a Inew CFILE. It will generate one on each call and push a
 new stdio layer. So don't call it repeatedly on the same
-file. CPerlIO()_findFILE will retrieve the stdio layer once it has been
+file. CPerlIO_findFILE() will retrieve the stdio layer once it has been
 generated by CPerlIO_exportFILE().
 
 This applies to the perlio system only. For versions before 5.7,

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-140-g22fe8e5

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/22fe8e5eeaf08c325ef7e43e32c3d4f397497e93?hp=256771e2e73d8cd8e349b60196426843a3178cfa

- Log -
commit 22fe8e5eeaf08c325ef7e43e32c3d4f397497e93
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Jan 25 20:32:47 2011 -0800

Add Noirin Shirley to AUTHORS
---

Summary of changes:
 AUTHORS |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index dcb1917..56a6bf2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -771,6 +771,7 @@ Nikola Knezevic 
i...@tesla.rcub.bg.ac.yu
 Nikola Milutinovic
 Nikolai Eipel  ei...@web.de
 Noah   s...@onastick.net
+Noirin Shirley colmsb...@nerdchic.net
 Norbert Pueschel   puesc...@imsdd.meb.uni-bonn.de
 Norio Suzuki   k...@shonanblue.ne.jp
 Norton T. Allenal...@huarp.harvard.edu

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-133-g313ce23

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/313ce23f886218e9cbc159ce0f8dfdff84e48128?hp=66383868a56e7a39aff7e03d27d27756ebb90eed

- Log -
commit 313ce23f886218e9cbc159ce0f8dfdff84e48128
Author: Hongwen Qiu qiuhong...@gmail.com
Date:   Tue Jan 25 11:46:03 2011 +0800

remove duplicates in perlxstut.pod

M   pod/perlxstut.pod

commit 321ec85b66435d34fbe21d07e5168b05c777f904
Author: Hongwen Qiu qiuhong...@gmail.com
Date:   Tue Jan 25 10:18:10 2011 +0800

correct myself's name in AUTHORS

M   AUTHORS
---

Summary of changes:
 AUTHORS   |2 +-
 pod/perlxstut.pod |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 3d748e6..dcb1917 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -412,7 +412,7 @@ Henrik Tougaard ht@foa.dk
 Hernan Perez Masci hma...@uolsinectis.com.ar
 Hershel Walterswalt...@smd4d.wes.army.mil
 Holger Bechtold
-Hongwe Qiu qiuhong...@gmail.com
+Hongwen Qiuqiuhong...@gmail.com
 Horst von Brandvonbr...@sleipnir.valparaiso.cl
 Hrunting Jonhson
 Hubert Feyrer  hubert.fey...@informatik.fh-regensburg.de
diff --git a/pod/perlxstut.pod b/pod/perlxstut.pod
index 6ed57c9..2517b67 100644
--- a/pod/perlxstut.pod
+++ b/pod/perlxstut.pod
@@ -724,7 +724,7 @@ description of an XSUB:
 
 Note that in contrast with LEXAMPLE 1, LEXAMPLE 2 and LEXAMPLE 3,
 this description does not contain the actual Icode for what is done
-is done during a call to Perl function foo().  To understand what is going
+during a call to Perl function foo().  To understand what is going
 on here, one can add a CODE section to this XSUB:
 
double

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-126-g010f0c4

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/010f0c4bf014b5c77fb8fb5e1878d71cad7ddf0b?hp=2a2d6a0ee601cc3f550c424bd4584580f5641c5e

- Log -
commit 010f0c4bf014b5c77fb8fb5e1878d71cad7ddf0b
Author: Hongwe Qiu qiuhong...@gmail.com
Date:   Mon Jan 24 19:22:18 2011 +0800

[pod] typo fix for perlxstut.pod

M   pod/perlxstut.pod

commit 037fcf9964e93df24bc6596eb66af22fd553d9fe
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Jan 24 09:57:49 2011 -0800

Add Hongwe Qiu to AUTHORS

M   AUTHORS

commit 32427747d6c003789002fb63c216f690f205d810
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Jan 24 09:57:08 2011 -0800

Put AUTHORS in alphabetical order

I have not checked the whole file. I just noticed this bit.

M   AUTHORS

commit f391b661916fbcbae6b9a3facde0ed1098639f6f
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 09:53:18 2011 -0800

[perl #82722] Give more filenames and urls L

M   Porting/pumpkin.pod

commit 2179af5e3004f2ce95b84c16afa5316893f637f8
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 09:52:43 2011 -0800

[perl #82718] Improve English and add some L around http links

M   README.epoc

commit e843f77508a3858019327dca95534051d8daf440
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 09:51:57 2011 -0800

[perl #82712] Pod link fixes to use correct markup.

(found using code from Karl Williamson pub...@khwilliamson.com)

M   ext/B/B/Showlex.pm

commit 1b2010d562896a85a3d7503ffac2298670663f83
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 09:51:30 2011 -0800

[perl #82710] Fix incorrect pod link markup.

(found using code from Karl Williamson pub...@khwilliamson.com)

M   pod/perlre.pod

commit a0bbd6ff8d7517b128d722f7728e7c0cef3e877c
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 09:51:04 2011 -0800

[perl #82708] Fix unescaped chars in L.

M   pod/perlre.pod

commit 42d76a89f0308e2d3a0c6ca2f02b4aa4502c1dc6
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 09:50:35 2011 -0800

[perl #82706] Tidy up README.win32 pod.

Surround http:// links with L and tidying up lists slightly.

M   README.win32

commit 21b40ab442b461ea27dd4f3619b703dfc7ae3601
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 08:40:14 2011 -0800

[perl #82704] Change bare link in pod to L...

M   pod/perlxs.pod

commit 3f76ddeebb0763514a58845b2645ed8edced9d12
Author: Michael Stevens mstev...@etla.org
Date:   Mon Jan 24 08:39:33 2011 -0800

[perl #82702] Fix commit message internal link.

M   pod/perlrepository.pod
---

Summary of changes:
 AUTHORS|3 ++-
 Porting/pumpkin.pod|   46 +++---
 README.epoc|   14 +++---
 README.win32   |   43 +--
 ext/B/B/Showlex.pm |4 ++--
 pod/perlre.pod |4 ++--
 pod/perlrepository.pod |2 +-
 pod/perlxs.pod |2 +-
 pod/perlxstut.pod  |2 +-
 9 files changed, 64 insertions(+), 56 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index ab6d905..3d748e6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -412,8 +412,9 @@ Henrik Tougaard ht@foa.dk
 Hernan Perez Masci hma...@uolsinectis.com.ar
 Hershel Walterswalt...@smd4d.wes.army.mil
 Holger Bechtold
-Hrunting Jonhson
+Hongwe Qiu qiuhong...@gmail.com
 Horst von Brandvonbr...@sleipnir.valparaiso.cl
+Hrunting Jonhson
 Hubert Feyrer  hubert.fey...@informatik.fh-regensburg.de
 Hugo van der Sandenh...@crypt.org
 Hunter Kelly   ret...@zule.pixar.com
diff --git a/Porting/pumpkin.pod b/Porting/pumpkin.pod
index 9ba1118..857b74c 100644
--- a/Porting/pumpkin.pod
+++ b/Porting/pumpkin.pod
@@ -91,7 +91,7 @@ The first rule of maintenance work is First, do no harm.
 Trial releases of bug-fix maintenance releases are announced on
 perl5-porters. Trial releases use the new subversion number (to avoid
 testers installing it over the previous release) and include a 'local
-patch' entry in patchlevel.h. The distribution file contains the
+patch' entry in Fpatchlevel.h. The distribution file contains the
 string CMAINT_TRIAL to make clear that the file is not meant for
 public consumption.
 
@@ -158,7 +158,7 @@ settled elsewhere.
 
 If feasible, try to keep filenames 8.3-compliant to humor those poor
 souls that get joy from running Perl under such dire limitations.
-There's a script, check83.pl, for keeping your nose 8.3-clean.
+There's a script, Fcheck83.pl, for keeping your nose 8.3-clean.
 In a similar vein, do not create files or directories which differ only
 in case (upper versus

[perl.git] branch blead, updated. v5.13.9-149-ge2e74da

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/e2e74da85a2d082803f27049bd7fae7e3653879f?hp=5ccb3a28fc30a358c7870c0f979a11d432b97664

- Log -
commit e2e74da85a2d082803f27049bd7fae7e3653879f
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Jan 27 14:52:27 2011 -0800

Add Franz Fasching to AUTHORS

M   AUTHORS

commit 2e6546ca5fa4881dcdcee01b529da819be282299
Author: Franz Fasching perl...@drfasching.com
Date:   Thu Jan 27 08:46:59 2011 -0800

IO::Select: allow removal of IO::Handle objects without fileno

M   dist/IO/lib/IO/Select.pm
---

Summary of changes:
 AUTHORS  |1 +
 dist/IO/lib/IO/Select.pm |   10 --
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 56a6bf2..4167b88 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -345,6 +345,7 @@ Frank Ridderbusch   
frank.ridderbu...@pdb.siemens.de
 Frank Tobinfto...@uiuc.edu
 Frank Wiegand  frank.wieg...@gmail.com
 Franklin Chen  c...@adi.com
+Franz Fasching perl...@drfasching.com
 François Désarménien   de...@club-internet.fr
 Fréderic Chauveau  f...@pasteur.fr
 Fyodor Krasnov fyo...@aha.ru
diff --git a/dist/IO/lib/IO/Select.pm b/dist/IO/lib/IO/Select.pm
index fc05fe7..4020078 100644
--- a/dist/IO/lib/IO/Select.pm
+++ b/dist/IO/lib/IO/Select.pm
@@ -74,9 +74,9 @@ sub _update
  foreach $f (@_)
   {
my $fn = $vec-_fileno($f);
-   next unless defined $fn;
-   my $i = $fn + FIRST_FD;
if ($add) {
+ next unless defined $fn;
+ my $i = $fn + FIRST_FD;
  if (defined $vec-[$i]) {
 $vec-[$i] = $f;  # if array rest might be different, so we update
 next;
@@ -85,6 +85,12 @@ sub _update
  vec($bits, $fn, 1) = 1;
  $vec-[$i] = $f;
} else {  # remove
+ if ( ! defined $fn ) { # remove if fileno undef'd
+ defined($_)  $_ == $f and do { $vec-[FD_COUNT]--; $_ = undef; }
+   for @{$vec}[FIRST_FD .. $#$vec];
+ next;
+ }
+ my $i = $fn + FIRST_FD;
  next unless defined $vec-[$i];
  $vec-[FD_COUNT]--;
  vec($bits, $fn, 1) = 0;

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-153-g364c63c

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/364c63cff540b8186bf5b6dcf366e1270ba5020e?hp=7bd6b0e6531a2bf944362cebd59289d28c85309f

- Log -
commit 364c63cff540b8186bf5b6dcf366e1270ba5020e
Author: David E. Wheeler da...@kineticode.com
Date:   Thu Jan 27 20:33:44 2011 -0800

Suppress Name used only once warnings.

From Locale::Maketext and I18N::LangTags::Detect. To replicate, run
perl -Idist/Locale-Maketext/lib -Icpan/IPC-Cmd/lib 
-Idist/I18N-LangTags/lib -we use IPC::Cmd
---

Summary of changes:
 dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm |1 +
 dist/Locale-Maketext/lib/Locale/Maketext.pm|1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm 
b/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
index 87280b7..e767aac 100644
--- a/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
+++ b/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
@@ -136,6 +136,7 @@ sub _try_use {   # Basically a wrapper around require 
Modulename
 
   my $module = $_[0];   # ASSUME sane module name!
   { no strict 'refs';
+no warnings 'once';
 return($tried{$module} = 1)
  if %{$module . ::Lexicon} or @{$module . ::ISA};
 # weird case: we never use'd it, but there it is!
diff --git a/dist/Locale-Maketext/lib/Locale/Maketext.pm 
b/dist/Locale-Maketext/lib/Locale/Maketext.pm
index 042ecf7..b429778 100644
--- a/dist/Locale-Maketext/lib/Locale/Maketext.pm
+++ b/dist/Locale-Maketext/lib/Locale/Maketext.pm
@@ -439,6 +439,7 @@ sub _try_use {   # Basically a wrapper around require 
Modulename
 
 my $module = $_[0];   # ASSUME sane module name!
 { no strict 'refs';
+no warnings 'once';
 return($tried{$module} = 1)
 if %{$module . '::Lexicon'} or @{$module . '::ISA'};
 # weird case: we never use'd it, but there it is!

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-154-g7826b36

2011-01-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/7826b36fbbf24cfa659558ee5af3de424faa2d5a?hp=364c63cff540b8186bf5b6dcf366e1270ba5020e

- Log -
commit 7826b36fbbf24cfa659558ee5af3de424faa2d5a
Author: Leon Timmermans faw...@gmail.com
Date:   Thu Jan 20 23:32:28 2011 +0100

[perl #38456] binmode FH, :crlf only modifies top crlf layer

When pushed on top of the stack, crlf will no longer enable crlf layers
lower in the stack. This will prevent unexpected results.
---

Summary of changes:
 perlio.c  |5 ++---
 t/io/layers.t |   18 +++---
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/perlio.c b/perlio.c
index 130671d..07e297e 100644
--- a/perlio.c
+++ b/perlio.c
@@ -4513,7 +4513,7 @@ PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV 
*arg, PerlIO_funcs *tab)
* any given moment at most one CRLF-capable layer being enabled
* in the whole layer stack. */
 PerlIO *g = PerlIONext(f);
-while (PerlIOValid(g)) {
+if (PerlIOValid(g)) {
  PerlIOl *b = PerlIOBase(g);
  if (b  b-tab == PerlIO_crlf) {
   if (!(b-flags  PERLIO_F_CRLF))
@@ -4521,8 +4521,7 @@ PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV 
*arg, PerlIO_funcs *tab)
   S_inherit_utf8_flag(g);
   PerlIO_pop(aTHX_ f);
   return code;
- }   
- g = PerlIONext(g);
+ }
 }
 }
 S_inherit_utf8_flag(f);
diff --git a/t/io/layers.t b/t/io/layers.t
index dea3d09..b0bcf1e 100644
--- a/t/io/layers.t
+++ b/t/io/layers.t
@@ -43,7 +43,7 @@ if (${^UNICODE}  1) {
 } else {
 $UTF8_STDIN = 0;
 }
-my $NTEST = 45 - (($DOSISH || !$FASTSTDIO) ? 7 : 0) - ($DOSISH ? 5 : 0)
+my $NTEST = 55 - (($DOSISH || !$FASTSTDIO) ? 7 : 0) - ($DOSISH ? 7 : 0)
 + $UTF8_STDIN;
 
 sub PerlIO::F_UTF8 () { 0x8000 } # from perliol.h
@@ -105,7 +105,7 @@ SKIP: {
# 5 tests potentially skipped because
# DOSISH systems already have a CRLF layer
# which will make new ones not stick.
-   @$expected = grep { $_ ne 'crlf' } @$expected;
+   splice @$expected, 1, 1 if $expected-[1] eq 'crlf';
}
my $n = scalar @$expected;
is(scalar @$result, $n, $id - layers == $n);
@@ -132,13 +132,25 @@ SKIP: {
  [ qw(stdio crlf) ],
  open :crlf);
 
+binmode(F, :crlf);
+
+check([ PerlIO::get_layers(F) ],
+ [ qw(stdio crlf) ],
+ binmode :crlf);
+
 binmode(F, :encoding(cp1047)); 
 
 check([ PerlIO::get_layers(F) ],
  [ qw[stdio crlf encoding(cp1047) utf8] ],
  :encoding(cp1047));
+
+binmode(F, :crlf);
+
+check([ PerlIO::get_layers(F) ],
+ [ qw[stdio crlf encoding(cp1047) utf8 crlf utf8] ],
+ :encoding(cp1047):crlf);
 
-binmode(F, :pop);
+binmode(F, :pop:pop);
 
 check([ PerlIO::get_layers(F) ],
  [ qw(stdio crlf) ],

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-162-g6c29054

2011-01-28 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/6c29054caba5b4e2ef1f84a0d170a7513d224f13?hp=2ccec147976ec11b06dff522ad1f06f47e398eae

- Log -
commit 6c29054caba5b4e2ef1f84a0d170a7513d224f13
Author: Peter John Acklam pjack...@online.no
Date:   Fri Jan 28 18:00:30 2011 -0800

bmodpow() fails when GMP library is used.

This bug is not seen when the libraries Calc and FastCalc are used,
because their _modpow() method modifies the first argument. However,
the GMP library's _modpow() does not modify the first argument,
causing a so far undetected bug to show up and fail tests.

Using the Calc library prints the correct -4:

use Math::BigInt lib = Calc;
$x = Math::BigInt-new(8);
$y = Math::BigInt-new(8);
$z = Math::BigInt-new(-5);
print $x - bmodpow($y, $z), \n;

Using the GMP library prints the incorrect --:

use Math::BigInt lib = GMP;
$x = Math::BigInt-new(8);
$y = Math::BigInt-new(8);
$z = Math::BigInt-new(-5);
print $x - bmodpow($y, $z), \n;
---

Summary of changes:
 dist/Math-BigInt/lib/Math/BigInt.pm |   15 ---
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/dist/Math-BigInt/lib/Math/BigInt.pm 
b/dist/Math-BigInt/lib/Math/BigInt.pm
index 45a0f01..177894a 100644
--- a/dist/Math-BigInt/lib/Math/BigInt.pm
+++ b/dist/Math-BigInt/lib/Math/BigInt.pm
@@ -18,7 +18,7 @@ package Math::BigInt;
 my $class = Math::BigInt;
 use 5.006002;
 
-$VERSION = '1.99_04';
+$VERSION = '1.99_05';
 
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(objectify bgcd blcm); 
@@ -1858,9 +1858,9 @@ sub bmodinv
 
 sub bmodpow
   {
-  # takes a very large number to a very large exponent in a given very
-  # large modulus, quickly, thanks to binary exponentiation. Supports
-  # negative exponents.
+  # Modular exponentiation. Raises a very large number to a very large exponent
+  # in a given very large modulus quickly, thanks to binary exponentiation.
+  # Supports negative exponents.
   my ($self,$num,$exp,$mod,@r) = objectify(3,@_);
 
   return $num if $num-modify('bmodpow');
@@ -1890,7 +1890,7 @@ sub bmodpow
   # If the resulting value is non-zero, we have four special cases, depending
   # on the signs on 'a' and 'm'.
 
-  unless ($CALC-_is_zero($num-{value})) {
+  unless ($CALC-_is_zero($value)) {
 
   # There is a negative sign on 'a' (= $num**$exp) only if the number we
   # are exponentiating ($num) is negative and the exponent ($exp) is odd.
@@ -1913,7 +1913,7 @@ sub bmodpow
   else {
   # Use copy of $mod since _sub() modifies the first argument.
   my $mod = $CALC-_copy($mod-{value});
-  $value = $CALC-_sub($mod, $num-{value});
+  $value = $CALC-_sub($mod, $value);
   $sign  = '+';
   }
 
@@ -1925,8 +1925,9 @@ sub bmodpow
   #   = -(m - (a (mod m)))
 
   if ($mod-{sign} eq '-') {
+  # Use copy of $mod since _sub() modifies the first argument.
   my $mod = $CALC-_copy($mod-{value});
-  $value = $CALC-_sub($mod, $num-{value});
+  $value = $CALC-_sub($mod, $value);
   $sign  = '-';
   }
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-164-g730d722

2011-01-28 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/730d722868af591c6b1310890124de9afc83f9ee?hp=6c29054caba5b4e2ef1f84a0d170a7513d224f13

- Log -
commit 730d722868af591c6b1310890124de9afc83f9ee
Author: Jay Hannah jhan...@mutationgrid.com
Date:   Fri Jan 28 18:07:16 2011 -0800

POD typo

M   AUTHORS
M   lib/utf8.pm

commit fd548ba45ee56a68299c58a4d011fb171d9a589a
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Jan 28 20:30:27 2011 -0800

Add another address for Jay Hannah to checkAUTHORS.pl

M   Porting/checkAUTHORS.pl
---

Summary of changes:
 AUTHORS |2 +-
 Porting/checkAUTHORS.pl |5 +++--
 lib/utf8.pm |2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 4167b88..cd02f72 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -467,7 +467,7 @@ Jason Hord  pra...@cpan.org
 Jason Shirk
 Jason Stewart  jas...@cs.unm.edu
 Jason Varsoke  j...@caesun10.msd.ray.com
-Jay Hannah jhan...@omnihotels.com
+Jay Hannah jhan...@mutationgrid.com
 Jay Rogers j...@rgrs.com
 JD Laubj...@access-health.com
 Jeff Bouis
diff --git a/Porting/checkAUTHORS.pl b/Porting/checkAUTHORS.pl
index a1bf2c1..96bed57 100755
--- a/Porting/checkAUTHORS.pl
+++ b/Porting/checkAUTHORS.pl
@@ -597,7 +597,6 @@ jasons\100cs.unm.edu
jasons\100sandy-home.arc.unm.edu
 jbuehler\100hekimian.comjhpb\100hekimian.com
 jcromie\100100divsol.comjcromie\100cpan.org
 +   jim.cromie\100gmail.com
-jidanni\100jidanni.org  jidanni\100hoffa.dreamhost.com
 jdhedden\100cpan.orgjerry\100hedden.us
 +   jdhedden\1001979.usna.com
 +   jdhedden\100gmail.com
@@ -607,7 +606,9 @@ jeremy\100zawodny.com   jzawodn\100wcnet.org
 jesse\100sig.bsh.comjesse\100ginger
 jfriedl\100yahoo.comjfriedl\100yahoo-inc.com
 jfs\100fluent.com   jfs\100jfs.fluent.com
-jhannah\100omnihotels.com   jay\100jays.net
+jhannah\100mutationgrid.com jay\100jays.net
++   jhannah\100omnihotels.com
+jidanni\100jidanni.org  jidanni\100hoffa.dreamhost.com
 jjore\100cpan.org   twists\100gmail.com
 jns\100integration-house.comjns\100gellyfish.com
 +   gellyfish\100gellyfish.com
diff --git a/lib/utf8.pm b/lib/utf8.pm
index ed0a4d8..2d4afb5 100644
--- a/lib/utf8.pm
+++ b/lib/utf8.pm
@@ -117,7 +117,7 @@ LEncode.
 
 =item * $success = utf8::downgrade($string[, FAIL_OK])
 
-Converts in-place the the internal representation of the string from
+Converts in-place the internal representation of the string from
 IUTF-X to the equivalent octet sequence in the native encoding (Latin-1
 or EBCDIC). The logical character sequence itself is unchanged. If
 I$string is already stored as native 8 bit, then this is a no-op.  Can

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-177-gf273d1e

2011-01-29 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/f273d1e71b9adb1a3c7c0328e241b61d2b3de153?hp=0f41f5e29630b6c28287818a9865848423359f34

- Log -
commit f273d1e71b9adb1a3c7c0328e241b61d2b3de153
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Jan 29 11:53:56 2011 -0800

Another address for Schubiger

M   Porting/checkAUTHORS.pl

commit 019cfd23e1d0f981818c12f192d4ef2a226a168b
Author: David Leadbeater d...@dgl.cx
Date:   Sat Jan 29 11:24:49 2011 -0800

[perl #82996] Use the user's from address as return-path in perlbug

Many systems thesedays don't have a valid internet domain name and
perl...@perl.org does not accept email with a return-path that does not
resolve. Therefore pass the user's address to sendmail so it's less
likely to get stuck in a mail queue somewhere.

M   utils/perlbug.PL

commit 1fb83d064d417f1b68ff7dac20aa5f04bb4d5a6b
Author: Steven Schubiger s...@refcnt.org
Date:   Sat Jan 29 11:23:48 2011 -0800

[perl #82988] Skip hanging taint.t test on MirBSD 10

This patch allows for make test to complete when perl is configured
with ithreads support (verified for MirBSD 10 on eurynome.mirbsd.org
where also the Test::Smoke core smoker runs).

M   t/op/taint.t

commit 56fb04d21d40a3775244f65d690491a68b01dea5
Author: David Leadbeater d...@dgl.cx
Date:   Sat Jan 29 11:22:57 2011 -0800

[perl #82980] Typo fix in Attribute::Handlers

M   dist/Attribute-Handlers/lib/Attribute/Handlers.pm
---

Summary of changes:
 Porting/checkAUTHORS.pl   |1 +
 dist/Attribute-Handlers/lib/Attribute/Handlers.pm |2 +-
 t/op/taint.t  |5 +++--
 utils/perlbug.PL  |4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Porting/checkAUTHORS.pl b/Porting/checkAUTHORS.pl
index 96bed57..b1653b9 100755
--- a/Porting/checkAUTHORS.pl
+++ b/Porting/checkAUTHORS.pl
@@ -772,6 +772,7 @@ rurban\100x-ray.at  rurban\100cpan.org
 schubiger\100cpan.org   steven\100accognoscere.org
 +   sts\100accognoscere.org
 +   schubiger\100gmail.com
++   stsc\100refcnt.org
 schwern\100pobox.comschwern\100gmail.com
 +   schwern\100athens.arena-i.com
 +   schwern\100blackrider.aocn.com
diff --git a/dist/Attribute-Handlers/lib/Attribute/Handlers.pm 
b/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
index db1b185..4f05446 100644
--- a/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
+++ b/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
@@ -858,7 +858,7 @@ C$referent, which is a reference to a variable or 
subroutine (SCALAR, ARRAY,
 HASH, or CODE). If it finds the typeglob, it returns it. Otherwise, it returns
 undef. Note that Cfindsym memoizes the typeglobs it has previously
 successfully found, so subsequent calls with the same arguments should be
-must faster.
+much faster.
 
 =back
 
diff --git a/t/op/taint.t b/t/op/taint.t
index e873ba2..fb8ad34 100644
--- a/t/op/taint.t
+++ b/t/op/taint.t
@@ -48,6 +48,7 @@ my $Is_NetWare  = $^O eq 'NetWare';
 my $Is_Dos  = $^O eq 'dos';
 my $Is_Cygwin   = $^O eq 'cygwin';
 my $Is_OpenBSD  = $^O eq 'openbsd';
+my $Is_MirBSD   = $^O eq 'mirbsd';
 my $Invoke_Perl = $Is_VMS  ? 'MCR Sys$Disk:[]Perl.exe' :
   $Is_MSWin32  ? '.\perl'   :
   $Is_NetWare  ? 'perl' :
@@ -1159,8 +1160,8 @@ SKIP:
 {
 SKIP: {
skip fork() is not available, 3 unless $Config{'d_fork'};
-   skip opening |- is not stable on threaded OpenBSD with taint, 3
-if $Config{useithreads}  $Is_OpenBSD;
+   skip opening |- is not stable on threaded Open/MirBSD with taint, 3
+if $Config{useithreads} and $Is_OpenBSD || $Is_MirBSD;
 
$ENV{'PATH'} = $TAINT;
local $SIG{'PIPE'} = 'IGNORE';
diff --git a/utils/perlbug.PL b/utils/perlbug.PL
index 2972ae7..368ce91 100644
--- a/utils/perlbug.PL
+++ b/utils/perlbug.PL
@@ -1164,8 +1164,8 @@ send to '$address' with your normal mail client.
 EOF
 }
 
-open( SENDMAIL, |$sendmail -t -oi )
-|| die '|$sendmail -t -oi' failed: $!;
+open( SENDMAIL, |-, $sendmail, -t, -oi, -f, $from )
+|| die '|$sendmail -t -oi -f $from' failed: $!;
 print SENDMAIL build_complete_message();
 if ( close(SENDMAIL) ) {
 print \nMessage sent\n;

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-188-g8bdb331

2011-01-30 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/8bdb331de305cdd0b80ba1ef7c180518f4adc93d?hp=d63e6659f72baf6e132e8f649d26b4fa1f5bf9ae

- Log -
commit 8bdb331de305cdd0b80ba1ef7c180518f4adc93d
Author: Zsbán Ambrus amb...@math.bme.hu
Date:   Sun Jan 30 14:39:33 2011 -0800

[perl #83018] TEST PATCH: commit 95ea86d5 also fixes sprintf(%.2f)

This adds some more test cases about the bug that commit
95ea86d5 fixes.

The bug was that in the perl 5.12 branch, sprintf(%.2f) returns 
whereas it should return 0.00 -- but this only applies in the very
special cases, not eg. when the template has extra characters. The
log message and the tests of that commit only talks about %.0f, but
I think it would be worth to also test the %.2f.
---

Summary of changes:
 t/op/sprintf.t |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/t/op/sprintf.t b/t/op/sprintf.t
index 54f3c2b..75f5177 100644
--- a/t/op/sprintf.t
+++ b/t/op/sprintf.t
@@ -379,6 +379,8 @@ __END__
 %f0   0.00
 %.0f  []  0 MISSING
  %.0f []   0 MISSING
+%.2f  []  0.00 MISSING
+%.2fC  []  0.00C MISSING
 %.0f  0   0
 %.0f  2**38   274877906944   Should have exact int'l rep'n
 %.0f  0.1 0
@@ -395,6 +397,8 @@ __END__
 %#g   12345.6789  12345.7
 %.0g  []  0 MISSING
  %.0g []   0 MISSING
+%.2g  []  0 MISSING
+%.2gC  []  0C MISSING
 %.0g  -0.0-0C99 standard mandates minus sign 
 but C89 does not skip: MSWin32 VMS hpux:10.20 openbsd netbsd:1.5 irix darwin
 %.0g  12345.6789  1e+04
 %#.0g 12345.6789  1.e+04

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-189-g4e0d6ba

2011-01-30 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/4e0d6ba89bf706d54e3a5e8cfc009a6a16536765?hp=8bdb331de305cdd0b80ba1ef7c180518f4adc93d

- Log -
commit 4e0d6ba89bf706d54e3a5e8cfc009a6a16536765
Author: Dave Rolsky auta...@urth.org
Date:   Sun Jan 30 09:18:42 2011 -0600

Don't refer to specific line numbers in test code regex
---

Summary of changes:
 lib/Carp.t |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/Carp.t b/lib/Carp.t
index 8240cd3..ffbb222 100644
--- a/lib/Carp.t
+++ b/lib/Carp.t
@@ -307,7 +307,7 @@ for my $bodge_job (2, 1, 0) {
 for (0..2) {
my $previous_package = $package;
++$package;
-   like( $got, qr/${package}::long\($warning\) called at $previous_package 
line 7/, Correct arguments for $package );
+   like( $got, qr/${package}::long\($warning\) called at $previous_package 
line \d+/, Correct arguments for $package );
 }
 my $arg = $bodge_job ? $warning : 42;
 like( $got, qr!A::long\($arg\) called at.+\b(?i:carp\.t) line \d+!,

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-190-g7f586e4

2011-01-30 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/7f586e41ad4ecd904c7d8dbe1ddb0f9410484bac?hp=4e0d6ba89bf706d54e3a5e8cfc009a6a16536765

- Log -
commit 7f586e41ad4ecd904c7d8dbe1ddb0f9410484bac
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Jan 30 18:57:35 2011 -0800

Partially revert 4155e4fe

This disables the fix for [perl #36347], which made sure that unrefer-
enced objects were DESTROYed, marking the tests as to-do.

This bug fix broke three CPAN modules. I will probably not have time
to fix them before 5.14, so disabling the fix until after 5.14 seems
the safest option.

This resolves [perl #82542] and other related tickets.
---

Summary of changes:
 sv.c   |2 ++
 t/op/ref.t |3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/sv.c b/sv.c
index 1c5a0f1..fe096ba 100644
--- a/sv.c
+++ b/sv.c
@@ -582,7 +582,9 @@ Perl_sv_clean_objs(pTHX)
 visit(do_clean_named_io_objs, SVt_PVGV|SVpgv_GP, 
SVTYPEMASK|SVp_POK|SVpgv_GP);
 /* And if there are some very tenacious barnacles clinging to arrays,
closures, or what have you */
+/* XXX This line breaks Tk and Gtk2. See [perl #82542].
 visit(do_curse, SVs_OBJECT, SVs_OBJECT);
+*/
 olddef = PL_defoutgv;
 PL_defoutgv = NULL; /* disable skip of PL_defoutgv */
 if (olddef  isGV_with_GP(olddef))
diff --git a/t/op/ref.t b/t/op/ref.t
index bcd121a..0f6a7a5 100644
--- a/t/op/ref.t
+++ b/t/op/ref.t
@@ -379,6 +379,7 @@ curr_test($test + 2);
 # test that DESTROY is called on all objects during global destruction,
 # even those without hard references [perl #36347]
 
+$TODO = 'bug #36347';
 is(
   runperl(
stderr = 1, prog = 'sub DESTROY { print qq-aaa\n- } bless \$a[0]'
@@ -393,7 +394,7 @@ is(
  aaa\n,
  'DESTROY called on closure variable'
 );
-
+$TODO = undef;
 
 # test if refgen behaves with autoviv magic
 {

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-241-g6cba11c

2011-02-04 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/6cba11c82282d9124d0cade24e1423f7fa2a3a0a?hp=332878e1ede268223970e2ddec708901541910d4

- Log -
commit 6cba11c82282d9124d0cade24e1423f7fa2a3a0a
Author: Michael Stevens mstev...@etla.org
Date:   Tue Feb 1 22:10:23 2011 +

Fix excess whitespace in pod.
---

Summary of changes:
 dump.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dump.c b/dump.c
index 15a788f..a340a9c 100644
--- a/dump.c
+++ b/dump.c
@@ -364,18 +364,18 @@ If the PERL_PV_PRETTY_QUOTE flag is set then the result 
will be
 double quoted with any double quotes in the string escaped. Otherwise
 if the PERL_PV_PRETTY_LTGT flag is set then the result be wrapped in
 angle brackets. 
-   
+
 If the PERL_PV_PRETTY_ELLIPSES flag is set and not all characters in
 string were output then an ellipsis C... will be appended to the
 string. Note that this happens AFTER it has been quoted.
-   
+
 If start_color is non-null then it will be inserted after the opening
 quote (if there is one) but before the escaped text. If end_color
 is non-null then it will be inserted after the escaped text but before
 any quotes or ellipses.
 
 Returns a pointer to the prettified text as held by dsv.
-   
+
 =cut   
 */
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-256-gdb2e1fb

2011-02-05 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/db2e1fb3c24129b0e583208b5ba375091b9dee6a?hp=53edd7c363431dd82fce57f11df0b0131a7723e5

- Log -
commit db2e1fb3c24129b0e583208b5ba375091b9dee6a
Author: pjacklam pjack...@online.no
Date:   Fri Feb 4 18:02:51 2011 -0800

[perl #83406] Library compatibility and API documentation (v1.991).

- dist/Math-BigInt/lib/Math/BigFloat.pm: Increment version number.

- dist/Math-BigInt/lib/Math/BigInt.pm: Add workaround for library
  inconsistencies (Math::BigInt::Calc vs. Math::BigInt::GMP). This makes
  older versions of Math::BigInt::GMP work with latest version of
  Math::BigInt.

- dist/Math-BigInt/lib/Math/BigInt/Calc.pm: Correct and extend API
  documentation. Increment version number.

- dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm: Increment version number.
---

Summary of changes:
 dist/Math-BigInt/lib/Math/BigFloat.pm   |2 +-
 dist/Math-BigInt/lib/Math/BigInt.pm |7 +-
 dist/Math-BigInt/lib/Math/BigInt/Calc.pm|  531 ---
 dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm |2 +-
 4 files changed, 415 insertions(+), 127 deletions(-)

diff --git a/dist/Math-BigInt/lib/Math/BigFloat.pm 
b/dist/Math-BigInt/lib/Math/BigFloat.pm
index 83853c2..20045a6 100644
--- a/dist/Math-BigInt/lib/Math/BigFloat.pm
+++ b/dist/Math-BigInt/lib/Math/BigFloat.pm
@@ -12,7 +12,7 @@ package Math::BigFloat;
 #   _a : accuracy
 #   _p : precision
 
-$VERSION = '1.99_04';
+$VERSION = '1.991';
 require 5.006002;
 
 require Exporter;
diff --git a/dist/Math-BigInt/lib/Math/BigInt.pm 
b/dist/Math-BigInt/lib/Math/BigInt.pm
index 177894a..9ce39f4 100644
--- a/dist/Math-BigInt/lib/Math/BigInt.pm
+++ b/dist/Math-BigInt/lib/Math/BigInt.pm
@@ -18,7 +18,7 @@ package Math::BigInt;
 my $class = Math::BigInt;
 use 5.006002;
 
-$VERSION = '1.99_05';
+$VERSION = '1.991';
 
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(objectify bgcd blcm); 
@@ -1835,6 +1835,11 @@ sub bmodinv
   ($x-{value}, $x-{sign}) = $CALC-_modinv($x-{value}, $y-{value});
   return $x-bnan() if !defined $x-{value};
 
+  # Library inconsistency workaround: _modinv() in Math::BigInt::GMP versions
+  # = 1.32 return undef rather than a + for the sign.
+
+  $x-{sign} = '+' unless defined $x-{sign};
+
   # When one or both arguments are negative, we have the following
   # relations.  If x and y are positive:
   #
diff --git a/dist/Math-BigInt/lib/Math/BigInt/Calc.pm 
b/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
index 2033cef..e4c3e06 100644
--- a/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
+++ b/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
@@ -4,7 +4,7 @@ use 5.006002;
 use strict;
 # use warnings;# dont use warnings for older Perls
 
-our $VERSION = '1.99_04';
+our $VERSION = '1.991';
 
 # Package to store unsigned big integers in decimal and do math with them
 
@@ -299,7 +299,7 @@ sub _add
   # routine to add two base 1eX numbers
   # stolen from Knuth Vol 2 Algorithm A pg 231
   # there are separate routines to add and sub as per Knuth pg 233
-  # This routine clobbers up array x, but not y.
+  # This routine modifies array x, but not y.
  
   my ($c,$x,$y) = @_;
 
@@ -2440,148 +2440,415 @@ sub _gcd
 1;
 __END__
 
+=pod
+
 =head1 NAME
 
 Math::BigInt::Calc - Pure Perl module to support Math::BigInt
 
 =head1 SYNOPSIS
 
-Provides support for big integer calculations. Not intended to be used by other
-modules. Other modules which sport the same functions can also be used to 
support
-Math::BigInt, like Math::BigInt::GMP or Math::BigInt::Pari.
+This library provides support for big integer calculations. It is not
+intended to be used by other modules. Other modules which support the same
+API (see below) can also be used to support Math::BigInt, like
+Math::BigInt::GMP and Math::BigInt::Pari.
 
 =head1 DESCRIPTION
 
+In this library, the numbers are represented in base B = 10**N, where N is
+the largest possible value that does not cause overflow in the intermediate
+computations. The base B elements are stored in an array, with the least
+significant element stored in array element zero. There are no leading zero
+elements, except a single zero element when the number is zero.
+
+For instance, if B = 1, the number 1234567890 is represented internally
+as [3456, 7890, 12].
+
+=head1 THE Math::BigInt API
+
 In order to allow for multiple big integer libraries, Math::BigInt was
-rewritten to use library modules for core math routines. Any module which
-follows the same API as this can be used instead by using the following:
+rewritten to use a plug-in library for core math routines. Any module which
+conforms to the API can be used by Math::BigInt by using this in your program:
 
use Math::BigInt lib = 'libname';
 
-'libname' is either the long name ('Math::BigInt::Pari'), 

[perl.git] branch blead, updated. v5.13.9-259-ga126fb6

2011-02-05 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/a126fb628b724353d161fad8da6c718f842f0a42?hp=67bd0bf10c123b808e5598b91f5afa1c94696975

- Log -
commit a126fb628b724353d161fad8da6c718f842f0a42
Author: Dave Rolsky auta...@urth.org
Date:   Sat Feb 5 13:12:28 2011 -0600

Add a section on patch style (unified diff, etc) and how to generate patches

Based on a suggestion from H.Merijn Brand
---

Summary of changes:
 pod/perlhack.pod |   29 +
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/pod/perlhack.pod b/pod/perlhack.pod
index 5e32bc7..9be3952 100644
--- a/pod/perlhack.pod
+++ b/pod/perlhack.pod
@@ -207,6 +207,35 @@ please explain why when you submit it.
 If you are submitting a code patch there are several things that you
 can do to help the Perl 5 Porters accept your patch.
 
+=head3 Patch style
+
+If you used git to check out the Perl source, then using Cgit
+format-patch will produce a patch in a style suitable for Perl. The
+Cformat-patch command produces one patch file for each commit you
+made. If you prefer to send a single patch for all commits, you can use
+Cgit diff.
+
+  % git co blead
+  % git pull
+  % git diff blead my-branch-name
+
+This produces a patch based on the difference between blead and your
+current branch. It's important to make sure that blead is up to date
+before producing the diff, that's why we call Cgit pull first.
+
+We strongly recommend that you use git if possible. It will make your
+life easier, and ours as well.
+
+However, if you're not using git, you can still produce a suitable
+patch. You'll need a pristine copy of the Perl source to diff against.
+The porters prefer unified diffs. Using GNU Cdiff, you can produce a
+diff like this:
+
+  % diff -Npurd perl.pristine perl.mine
+
+Make sure that you Cmake realclean in your copy of Perl to remove any
+build artifacts, or you may get a confusing result.
+
 =head3 Commit message
 
 As you craft each patch you intend to submit to the Perl core, it's

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-285-g018c7c8

2011-02-07 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/018c7c82242b909397f06dbd208a750677dd822a?hp=76cc22ec8d16738e37cbdd3bb7205aed330bd0e7

- Log -
commit 018c7c82242b909397f06dbd208a750677dd822a
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 7 16:49:38 2011 -0800

[perl #82854] utf8, $SIG{__DIE__}, syntax errors and Carp

If a syntax error has occurred, module loading causes the ‘BEGIN not
safe after errors’ error.

As of perl 5.12.0 (commit 7d0994e05, actually), error messages men-
tioning variable names that originate from ‘use utf8’ scopes and are
passed to __DIE__ handlers correctly have the UTF8 flag turned on, so
that a variable named $Ä¡ will actually cause the error message to con-
tain ‘$ġ’, rather than ‘$Ä¡’. (As a side effect, even if the 
variable
does not contain non-ASCII characters, the error message still gets
the UTF8 flag turned on.)

Carp was using a \d in a regular expression against the error message.

\d loads Unicode tables if the LHS has the UTF8 flag turned on.

This means that this snippet:

use utf8;
use strict;
use CGI::Carp 'fatalsToBrowser';
$c;

dies with ‘BEGIN not safe...’, because the error message that triggers
it is ‘Global symbol $c requires explicit package name’, it has the
UTF8 flag turned on, CGI::Carp passes it to Carp.pm, Carp tries to do
a /\d/ match against it and \d tries to load Unicode tables, dying
with ‘BEGIN not safe...‘.

This commit just changes the \d in Carp.pm to [0-9], since that is
what was intended anyway.
---

Summary of changes:
 lib/Carp.pm |6 +++---
 lib/Carp.t  |   15 ++-
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/lib/Carp.pm b/lib/Carp.pm
index be4cb69..77fc2a1 100644
--- a/lib/Carp.pm
+++ b/lib/Carp.pm
@@ -146,9 +146,9 @@ sub format_arg {
 $arg = str_len_trim( $arg, $MaxArgLen );
 
 # Quote it?
-$arg = '$arg' unless $arg =~ /^-?[\d.]+\z/;
-}
-else {
+$arg = '$arg' unless $arg =~ /^-?[0-9.]+\z/;
+}# 0-9, not \d, as \d will try to
+else {   # load Unicode tables
 $arg = 'undef';
 }
 
diff --git a/lib/Carp.t b/lib/Carp.t
index 9a785f5..b9997cc 100644
--- a/lib/Carp.t
+++ b/lib/Carp.t
@@ -12,7 +12,7 @@ my $Is_VMS = $^O eq 'VMS';
 use Carp qw(carp cluck croak confess);
 
 BEGIN {
-plan tests = 56;
+plan tests = 57;
 
 # This test must be run at BEGIN time, because code later in this file
 # sets CORE::GLOBAL::caller
@@ -377,6 +377,19 @@ like(
 'Correct arguments for A'
 );
 
+# UTF8-flagged strings should not cause Carp to try to load modules (even
+# implicitly via utf8_heavy.pl) after a syntax error [perl #82854].
+fresh_perl_like(
+ q
+   use utf8; use strict; use Carp;
+   BEGIN { $SIG{__DIE__} = sub { Carp::croak a$_[0] } }
+   $c
+  ,
+ qr/a/,
+ {stderr=1},
+ 'Carp can handle UTF8-flagged strings after a syntax error',
+);
+
 # New tests go here
 
 # line 1 A

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-287-gabf06cc

2011-02-07 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/abf06cc1af73af95068298f4ffc40d1b3b651e10?hp=34d5bd5d9e739d4087d5fc6d582f537fcd64a848

- Log -
commit abf06cc1af73af95068298f4ffc40d1b3b651e10
Author: Michael Stevens mstev...@etla.org
Date:   Mon Feb 7 17:36:50 2011 +

Fix invalid pod in perlmodlib
---

Summary of changes:
 pod/perlmodlib.PL |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pod/perlmodlib.PL b/pod/perlmodlib.PL
index dc2faf2..e0b7d8f 100644
--- a/pod/perlmodlib.PL
+++ b/pod/perlmodlib.PL
@@ -1409,6 +1409,8 @@ old behavior if people rely on it.  Document incompatible 
changes.
 
 =back
 
+=back
+
 =head2 Guidelines for Converting Perl 4 Library Scripts into Modules
 
 =over 4
@@ -1507,8 +1509,6 @@ or
 
 =back
 
-=back
-
 =head1 NOTE
 
 Perl does not enforce private and public parts of its modules as you may

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-290-g2393ee1

2011-02-07 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/2393ee195cfcd369637abf40a457735ef1b3446a?hp=abf06cc1af73af95068298f4ffc40d1b3b651e10

- Log -
commit 2393ee195cfcd369637abf40a457735ef1b3446a
Author: Hugo van der Sanden h...@crypt.org
Date:   Sun Feb 6 11:34:25 2011 +

Fix failing tests.

Commit 211dfcf14199529e353c08dea10d7050e6a4a22a modified the parameter
order in t/op/sprintf.t tests 157-164 to match the code, rather than the
docs. Restored the correct order, now that the code matches the docs.
('perldoc -f sprintf', subsection order of arguments.)

M   t/op/sprintf.t

commit ed3620047cbcd5e33ad8cb680d294729e6e3b466
Author: Hugo van der Sanden h...@crypt.org
Date:   Sun Feb 6 11:29:44 2011 +

Extract format parameter later when vectorizing.

The handling of sprintf '%vx' extracts the format parameter when the 'v' is
seen, ignoring the fact that other formatting options still to be checked
for may need to get the next parameter before we get to the format
parameter. Moved the extraction block later, and reindented the rest.

M   sv.c

commit d1de25c989e501d694324d71b1d2328a9a9f99a1
Author: Hugo van der Sanden h...@crypt.org
Date:   Sun Feb 6 11:28:01 2011 +

Add supplied tests from perl #83194.

Supplies two known failures for sprintf '%v.*x'.

M   t/op/sprintf.t
---

Summary of changes:
 sv.c   |  106 ---
 t/op/sprintf.t |   24 
 2 files changed, 70 insertions(+), 60 deletions(-)

diff --git a/sv.c b/sv.c
index e7a216f..3ae3e85 100644
--- a/sv.c
+++ b/sv.c
@@ -10182,59 +10182,28 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char 
*const pat, const STRLEN patlen,
width = expect_number(q);
}
 
-   if (vectorize) {
-   if (vectorarg) {
-   if (args)
-   vecsv = va_arg(*args, SV*);
-   else if (evix) {
-   vecsv = (evix  0  evix = svmax)
-   ? svargs[evix-1] : S_vcatpvfn_missing_argument(aTHX);
-   } else {
-   vecsv = svix  svmax
-   ? svargs[svix++] : S_vcatpvfn_missing_argument(aTHX);
-   }
-   dotstr = SvPV_const(vecsv, dotstrlen);
-   /* Keep the DO_UTF8 test *after* the SvPV call, else things go
-  bad with tied or overloaded values that return UTF8.  */
-   if (DO_UTF8(vecsv))
-   is_utf8 = TRUE;
-   else if (has_utf8) {
-   vecsv = sv_mortalcopy(vecsv);
-   sv_utf8_upgrade(vecsv);
-   dotstr = SvPV_const(vecsv, dotstrlen);
-   is_utf8 = TRUE;
-   }   
-   }
-   if (args) {
-   VECTORIZE_ARGS
-   }
-   else if (efix ? (efix  0  efix = svmax) : svix  svmax) {
-   vecsv = svargs[efix ? efix-1 : svix++];
-   vecstr = (U8*)SvPV_const(vecsv,veclen);
-   vec_utf8 = DO_UTF8(vecsv);
-
-   /* if this is a version object, we need to convert
-* back into v-string notation and then let the
-* vectorize happen normally
-*/
-   if (sv_derived_from(vecsv, version)) {
-   char *version = savesvpv(vecsv);
-   if ( hv_exists(MUTABLE_HV(SvRV(vecsv)), alpha, 5 ) ) {
-   Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
-   vector argument not supported with alpha versions);
-   goto unknown;
-   }
-   vecsv = sv_newmortal();
-   scan_vstring(version, version + veclen, vecsv);
-   vecstr = (U8*)SvPV_const(vecsv, veclen);
-   vec_utf8 = DO_UTF8(vecsv);
-   Safefree(version);
-   }
-   }
-   else {
-   vecstr = (U8*);
-   veclen = 0;
+   if (vectorize  vectorarg) {
+   /* vectorizing, but not with the default . */
+   if (args)
+   vecsv = va_arg(*args, SV*);
+   else if (evix) {
+   vecsv = (evix  0  evix = svmax)
+   ? svargs[evix-1] : S_vcatpvfn_missing_argument(aTHX);
+   } else {
+   vecsv = svix  svmax
+   ? svargs[svix++] : S_vcatpvfn_missing_argument(aTHX);
}
+   dotstr = SvPV_const(vecsv, dotstrlen);
+   /* Keep the DO_UTF8 test *after* the SvPV call, else things go
+  bad with tied or overloaded values that return UTF8.  */
+   if (DO_UTF8(vecsv))
+   is_utf8 = TRUE;
+   else if (has_utf8) {
+  

[perl.git] branch blead, updated. v5.13.9-296-gbef2c19

2011-02-09 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/bef2c1914a8beadb2da1b0b6c755e51a701aafbc?hp=751998674aec9a610c87d26bb4e047d9858e1ccc

- Log -
commit bef2c1914a8beadb2da1b0b6c755e51a701aafbc
Author: Robin Barker rmbar...@cpan.org
Date:   Wed Feb 9 16:31:39 2011 +

problem with exit in child process in BEGIN

M   pod/perlport.pod

commit 6a065175ba605935cf92f1adc5dcb6c57570885f
Author: Robin Barker rmbar...@cpan.org
Date:   Wed Feb 9 16:08:52 2011 +

missing paragraph break in perlport

M   pod/perlport.pod
---

Summary of changes:
 pod/perlport.pod |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/pod/perlport.pod b/pod/perlport.pod
index a11e696..8450fc7 100644
--- a/pod/perlport.pod
+++ b/pod/perlport.pod
@@ -1632,9 +1632,17 @@ enabled, a generic number will be encoded in a method 
compatible with
 the C library _POSIX_EXIT macro so that it can be decoded by other
 programs, particularly ones written in C, like the GNV package.  (VMS)
 
+Cexit() resets file pointers, which is a problem when called 
+from a child process (created by Cfork()) in CBEGIN.  
+A workaround is to use CPOSIX::_exit.  (Solaris)
+
+exit unless $Config{archname} =~ /\bsolaris\b/;
+require POSIX and POSIX::_exit(0);
+
 =item fcntl
 
 Not implemented. (Win32)
+
 Some functions available based on the version of VMS. (VMS)
 
 =item flock

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-299-g6a6d7b9

2011-02-09 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/6a6d7b973ffd26bec9abf608e56cbd8b5cbe109f?hp=bef2c1914a8beadb2da1b0b6c755e51a701aafbc

- Log -
commit 6a6d7b973ffd26bec9abf608e56cbd8b5cbe109f
Author: Michael Stevens mstev...@etla.org
Date:   Wed Feb 9 10:58:49 2011 -0800

[perl #83792] Fix doubled a in perlgit.pod.

M   pod/perlgit.pod

commit adb873e1aeec202a183c7774711644710e5082b0
Author: Michael Stevens mstev...@etla.org
Date:   Wed Feb 9 10:58:24 2011 -0800

[perl #83790] Fix links for README.cygwin to have L

M   README.cygwin

commit 4a8d6f4f9aee0fd94fca96079b6f11be24becd9c
Author: Michael Stevens mstev...@etla.org
Date:   Wed Feb 9 10:57:54 2011 -0800

[perl #83788] Make a list a list, and add L around URLs.

M   pod/perlcheat.pod
---

Summary of changes:
 README.cygwin |6 +++---
 pod/perlcheat.pod |   18 +++---
 pod/perlgit.pod   |2 +-
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/README.cygwin b/README.cygwin
index b7b5241..986f91b 100644
--- a/README.cygwin
+++ b/README.cygwin
@@ -27,7 +27,7 @@ platforms.  They run thanks to the Cygwin library which 
provides the UNIX
 system calls and environment these programs expect.  More information
 about this project can be found at:
 
-  Fhttp://www.cygwin.com/
+Lhttp://www.cygwin.com/
 
 A recent net or commercial release of Cygwin is required.
 
@@ -368,7 +368,7 @@ CCygwin::posix_to_win_path().
 Pathnames may not contain Unicode characters. CCygwin still uses the
 ANSI API calls and no Unicode calls because of newlib deficiencies.
 There's an unofficial unicode patch for cygwin at
-Fhttp://www.okisoft.co.jp/esc/utf8-cygwin/
+Lhttp://www.okisoft.co.jp/esc/utf8-cygwin/
 
 =item * Text/Binary
 
@@ -458,7 +458,7 @@ error like the following:
 
 Use the rebase utility to resolve the conflicting dll addresses.  The
 rebase package is included in the Cygwin netrelease.  Use setup.exe from
-Fhttp://www.cygwin.com/setup.exe to install it and run rebaseall.
+Lhttp://www.cygwin.com/setup.exe to install it and run rebaseall.
 
 =back
 
diff --git a/pod/perlcheat.pod b/pod/perlcheat.pod
index 7f2c830..d210fa0 100644
--- a/pod/perlcheat.pod
+++ b/pod/perlcheat.pod
@@ -88,6 +88,18 @@ Juerd Waalboer #@juerd.nl, with the help of many Perl 
Monks.
 
 =head1 SEE ALSO
 
- http://perlmonks.org/?node_id=216602  the original PM post
- http://perlmonks.org/?node_id=238031  Damian Conway's Perl 6 version
- http://juerd.nl/site.plp/perlcheathome of the Perl Cheat Sheet
+=over 4
+
+=item *
+
+Lhttp://perlmonks.org/?node_id=216602 - the original PM post
+
+=item *
+
+Lhttp://perlmonks.org/?node_id=238031 - Damian Conway's Perl 6 version
+
+=item *
+
+Lhttp://juerd.nl/site.plp/perlcheat - home of the Perl Cheat Sheet
+
+=back
diff --git a/pod/perlgit.pod b/pod/perlgit.pod
index ccc7c2c..e10fee6 100644
--- a/pod/perlgit.pod
+++ b/pod/perlgit.pod
@@ -281,7 +281,7 @@ If you want to delete your temporary branch, you may do so 
with:
 
 =head2 Committing your changes
 
-Assuming that you'd like to commit all the changes you've made as a a
+Assuming that you'd like to commit all the changes you've made as a
 single atomic unit, run this command:
 
% git commit -a

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-310-g0e0f083

2011-02-10 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/0e0f0835b5eca2377b130714ebb797e625f8e4e9?hp=9a0dc6e4c3a9ae91c1101b1179e22c93bb77a4cb

- Log -
commit 0e0f0835b5eca2377b130714ebb797e625f8e4e9
Author: Michael Breen p...@mbreen.com
Date:   Wed Feb 9 10:31:03 2011 +

perl #82278: Overload documentation: many changes This is a partial rewrite 
to address long standing issues and comments that this document is confusing, 
in addition to accurately documenting the behaviour of fallback and nomethod in 
the context of overloaded operands of different types, as implemented in the 
fix for bug #71286. Fixes many mistakes, ambiguities, and omissions. Most of 
the early part of the document has been restructured and revised. For the full 
list of changes, see bug #82278.

M   lib/overload.pm

commit e27c778fa5810b784abf1dc38af460227e408d37
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 10 09:20:14 2011 -0800

[perl #77692] substr causes panic: sv_len_utf8 cache...

pp_substr contains this comment, which was added in perl 5.0 alpha 2
(commit 79072805bf63):

PUSHs(TARG);/* avoid SvSETMAGIC here */

Calling set-magic when substr returns an lvalue will cause its argu-
ment to be stringified even if the lvalue is not assigned to. That’s
why set-magic has to be avoided.

But the result is that utf8 caches (stored in magic) on TARG are not
reset properly.

Since substr lvalues now follow a different code path (and do not use
TARG at all), it’s perfectly safe to call set-magic at this point.
It’s also the right thing to do in case of other types of magic that
might get attached to TARG.

M   pp.c
M   t/re/substr.t
---

Summary of changes:
 lib/overload.pm | 1123 +++
 pp.c|3 +-
 t/re/substr.t   |   14 +-
 3 files changed, 657 insertions(+), 483 deletions(-)

diff --git a/lib/overload.pm b/lib/overload.pm
index 37ce236..c538177 100644
--- a/lib/overload.pm
+++ b/lib/overload.pm
@@ -1,6 +1,6 @@
 package overload;
 
-our $VERSION = '1.12';
+our $VERSION = '1.13';
 
 sub nil {}
 
@@ -200,7 +200,7 @@ overload - Package for overloading Perl operations
 
 package main;
 $a = SomeThing-new( 57 );
-$b=5+$a;
+$b = 5 + $a;
 ...
 if (overload::Overloaded $b) {...}
 ...
@@ -211,224 +211,289 @@ overload - Package for overloading Perl operations
 This pragma allows overloading of Perl's operators for a class.
 To overload built-in functions, see Lperlsub/Overriding Built-in Functions 
instead.
 
-=head2 Declaration of overloaded functions
+=head2 Fundamentals
 
-The compilation directive
+=head3 Declaration
 
-package Number;
-use overload
-   + = \add,
-   *= = muas;
-
-declares function Number::add() for addition, and method muas() in
-the class CNumber (or one of its base classes)
-for the assignment form C*= of multiplication.
-
-Arguments of this directive come in (key, value) pairs.  Legal values
-are values legal inside a C{ ... } call, so the name of a
-subroutine, a reference to a subroutine, or an anonymous subroutine
-will all work.  Note that values specified as strings are
-interpreted as methods, not subroutines.  Legal keys are listed below.
-
-The subroutine Cadd will be called to execute C$a+$b if $a
-is a reference to an object blessed into the package CNumber, or if $a is
-not an object from a package with defined mathemagic addition, but $b is a
-reference to a CNumber.  It can also be called in other situations, like
-C$a+=7, or C$a++.  See LMAGIC AUTOGENERATION.  (Mathemagical
-methods refer to methods triggered by an overloaded mathematical
-operator.)
-
-Since overloading respects inheritance via the @ISA hierarchy, the
-above declaration would also trigger overloading of C+ and C*= in
-all the packages which inherit from CNumber.
-
-=head2 Calling Conventions for Binary Operations
-
-The functions specified in the Cuse overload ... directive are called
-with three (in one particular case with four, see LLast Resort)
-arguments.  If the corresponding operation is binary, then the first
-two arguments are the two arguments of the operation.  However, due to
-general object calling conventions, the first argument should always be
-an object in the package, so in the situation of C7+$a, the
-order of the arguments is interchanged.  It probably does not matter
-when implementing the addition method, but whether the arguments
-are reversed is vital to the subtraction method.  The method can
-query this information by examining the third argument, which can take
-three different values:
-
-=over 7
-
-=item FALSE
-
-the order of arguments is as in the current operation.
-
-=item TRUE
-
-the arguments are reversed

[perl.git] branch blead, updated. v5.13.9-313-gc378af3

2011-02-10 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/c378af320498199f011ee6aca32cef036936dd36?hp=0e0f0835b5eca2377b130714ebb797e625f8e4e9

- Log -
commit c378af320498199f011ee6aca32cef036936dd36
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 10 14:08:10 2011 -0800

The relation between overloading and ties has been fixed.

M   lib/overload.pm

commit 57444a221ffddfdeeb119ddbce1bdea7891d56da
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 10 14:05:15 2011 -0800

typo in perldiag

M   pod/perldiag.pod

commit b0d55c99a8de16cc4fca0775760e63595cef1d0d
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 10 14:04:54 2011 -0800

Prevent destructors called from gp_free from seeing freed SVs

perl5.13.9 -e 'local *foo; $foo = bless[]; (); DESTROY { use Devel::Peek; 
Dump $foo; }'

This prints:
SV = UNKNOWN(0xff) (0x8044dc) at 0x8044e0
  REFCNT = 0
  FLAGS = ()

If I do anything with $foo inside the destructor, such as
‘local $foo’, it crashes, of course.

gp_free (called when *foo is being unlocalised on scope exit) does
SvREFCNT_dec(gp-gp_xv) on each of its slots.

SvREFCNT_dec(gp-gp_sv) lowers the refcount of $foo to zero, which
causes the object it references to be destroyed, too. The objects
destructor sees the same $foo still there in the typeglob.

This commit changes gp_free to use a loop, the way S_hfreeentries
(in hv.c) does, checking that everything has been freed before exit-
ing the loop.

(The one-liner above is a reduced version of

perl -MWWW::Scripter -e '$w = new WWW::Scripter; 
$w-use_plugin(JavaScript); $w-get(q|data:text/html,a href onclick=throw new 
Error(quot;XMLHttpRequestquot;)|); $w-document-links-[0]-click'

which involved *@ and a destructor localising $@.)

M   gv.c
M   pod/perldiag.pod
M   t/op/gv.t
---

Summary of changes:
 gv.c |   63 ++---
 lib/overload.pm  |   13 ---
 pod/perldiag.pod |9 ++-
 t/op/gv.t|   22 ++-
 4 files changed, 79 insertions(+), 28 deletions(-)

diff --git a/gv.c b/gv.c
index 9a259e0..5ddfb56 100644
--- a/gv.c
+++ b/gv.c
@@ -1694,6 +1694,7 @@ Perl_gp_free(pTHX_ GV *gv)
 {
 dVAR;
 GP* gp;
+int attempts = 100;
 
 if (!gv || !isGV_with_GP(gv) || !(gp = GvGP(gv)))
return;
@@ -1710,22 +1711,58 @@ Perl_gp_free(pTHX_ GV *gv)
 return;
 }
 
-if (gp-gp_file_hek)
-   unshare_hek(gp-gp_file_hek);
-SvREFCNT_dec(gp-gp_sv);
-SvREFCNT_dec(gp-gp_av);
-/* FIXME - another reference loop GV - symtab - GV ?
-   Somehow gp-gp_hv can end up pointing at freed garbage.  */
-if (gp-gp_hv  SvTYPE(gp-gp_hv) == SVt_PVHV) {
-   const char *hvname = HvNAME_get(gp-gp_hv);
+while (1) {
+  /* Copy and null out all the glob slots, so destructors do not see
+ freed SVs. */
+  HEK * const file_hek = gp-gp_file_hek;
+  SV  * const sv   = gp-gp_sv;
+  AV  * const av   = gp-gp_av;
+  HV  * const hv   = gp-gp_hv;
+  IO  * const io   = gp-gp_io;
+  CV  * const cv   = gp-gp_cv;
+  CV  * const form = gp-gp_form;
+
+  gp-gp_file_hek = NULL;
+  gp-gp_sv   = NULL;
+  gp-gp_av   = NULL;
+  gp-gp_hv   = NULL;
+  gp-gp_io   = NULL;
+  gp-gp_cv   = NULL;
+  gp-gp_form = NULL;
+
+  if (file_hek)
+   unshare_hek(file_hek);
+
+  SvREFCNT_dec(sv);
+  SvREFCNT_dec(av);
+  /* FIXME - another reference loop GV - symtab - GV ?
+ Somehow gp-gp_hv can end up pointing at freed garbage.  */
+  if (hv  SvTYPE(hv) == SVt_PVHV) {
+   const char *hvname = HvNAME_get(hv);
if (PL_stashcache  hvname)
-   (void)hv_delete(PL_stashcache, hvname, HvNAMELEN_get(gp-gp_hv),
+   (void)hv_delete(PL_stashcache, hvname, HvNAMELEN_get(hv),
  G_DISCARD);
-   SvREFCNT_dec(gp-gp_hv);
+   SvREFCNT_dec(hv);
+  }
+  SvREFCNT_dec(io);
+  SvREFCNT_dec(cv);
+  SvREFCNT_dec(form);
+
+  if (!gp-gp_file_hek
+!gp-gp_sv
+!gp-gp_av
+!gp-gp_hv
+!gp-gp_io
+!gp-gp_cv
+!gp-gp_form) break;
+
+  if (--attempts == 0) {
+   Perl_die(aTHX_
+ panic: gp_free failed to free glob pointer - 
+ something is repeatedly re-creating entries
+   );
+  }
 }
-SvREFCNT_dec(gp-gp_io);
-SvREFCNT_dec(gp-gp_cv);
-SvREFCNT_dec(gp-gp_form);
 
 Safefree(gp);
 GvGP_set(gv, NULL);
diff --git a/lib/overload.pm b/lib/overload.pm
index c538177..9a2c4c5 100644
--- a/lib/overload.pm
+++ b/lib/overload.pm
@@ -1678,19 +1678,6 @@ from two overloaded packages

[perl.git] branch blead, updated. v5.13.9-314-gdc04e1e

2011-02-10 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit dc04e1e9e5625cc5319a68130165b381dfd4c6fa
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 10 14:22:02 2011 -0800

Revert The relation between overloading and ties has been fixed.

This reverts commit c378af320498199f011ee6aca32cef036936dd36.

Other parts of the document still refer to this. More edits are
fifthcoming.
---

Summary of changes:
 lib/overload.pm |   13 +
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/lib/overload.pm b/lib/overload.pm
index 9a2c4c5..c538177 100644
--- a/lib/overload.pm
+++ b/lib/overload.pm
@@ -1678,6 +1678,19 @@ from two overloaded packages.
 
 =item *
 
+Relation between overloading and tie()ing is broken.  Overloading is
+triggered or not basing on the Iprevious class of tie()d value.
+
+This happens because the presence of overloading is checked too early,
+before any tie()d access is attempted.  If the FETCH()ed class of the
+tie()d value does not change, a simple workaround is to access the value
+immediately after tie()ing, so that after this call the Iprevious class
+coincides with the current one.
+
+BNeeded: a way to fix this without a speed penalty.
+
+=item *
+
 Barewords are not covered by overloaded string constants.
 
 =back

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-315-gcfa5b37

2011-02-10 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit cfa5b3737e4f46c2d507630650f9d3e902d8f81d
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 10 14:35:57 2011 -0800

Relation between overloading and ties: second try

The current text is confusing as it refers to tied values. Variables, not 
values, are tied (don’t bring up handles, please!).
---

Summary of changes:
 lib/overload.pm |   18 ++
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/lib/overload.pm b/lib/overload.pm
index c538177..3abde68 100644
--- a/lib/overload.pm
+++ b/lib/overload.pm
@@ -1522,7 +1522,8 @@ package Csymbolic.  Add methods
   sub FETCH { shift }
   sub nop {  } # Around a bug
 
-(the bug is described in LBUGS).  One can use this new interface as
+(the bug, fixed in Perl 5.14, is described in LBUGS).  One can use this
+new interface as
 
   tie $a, 'symbolic', 3;
   tie $b, 'symbolic', 4;
@@ -1678,17 +1679,18 @@ from two overloaded packages.
 
 =item *
 
-Relation between overloading and tie()ing is broken.  Overloading is
-triggered or not basing on the Iprevious class of tie()d value.
+Before Perl 5.14, the relation between overloading and tie()ing was broken.
+Overloading is triggered or not basing on the Iprevious class of the
+tie()d variable.
 
-This happens because the presence of overloading is checked too early,
-before any tie()d access is attempted.  If the FETCH()ed class of the
-tie()d value does not change, a simple workaround is to access the value
+This happened because the presence of overloading was checked
+too early, before any tie()d access was attempted.  If the
+class of the value FETCH()ed from the tied variable does not
+change, a simple workaround for code that is to run on older Perl
+versions is to access the value (via C() = $foo or some such)
 immediately after tie()ing, so that after this call the Iprevious class
 coincides with the current one.
 
-BNeeded: a way to fix this without a speed penalty.
-
 =item *
 
 Barewords are not covered by overloaded string constants.

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-319-gac7c776

2011-02-11 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit ac7c776db8600c80e9c7294447656749a959e62f
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 06:25:43 2011 -0800

perlcompile tweaks

• Hyphenate compound adjectives
• Missing word

M   pod/perlcompile.pod

commit 5691d1082cf6fefa3cb2ea5e2cd4e8b8490215d9
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 06:16:22 2011 -0800

perlcommunity: punctuation and capitalisation

M   pod/perlcommunity.pod

commit 167dbc9f0dcdea97a891f8e6c0546f9a1787751f
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 06:08:30 2011 -0800

perlcommunity: capitalise consistently

M   pod/perlcommunity.pod

commit ea787f3bf00f6d92dcba8e9e2033db0a241e9591
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 06:07:14 2011 -0800

perlclib: similar to, not similar as

M   pod/perlclib.pod
---

Summary of changes:
 pod/perlclib.pod  |2 +-
 pod/perlcommunity.pod |   14 +++---
 pod/perlcompile.pod   |8 
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/pod/perlclib.pod b/pod/perlclib.pod
index 1fe4699..0785577 100644
--- a/pod/perlclib.pod
+++ b/pod/perlclib.pod
@@ -138,7 +138,7 @@ pattern into it that should be illegal as pointers (and 
floating point
 numbers), and also hopefully surprising enough as integers, so that
 any code attempting to use the data without forethought will break
 sooner rather than later.  Poisoning can be done using the Poison()
-macros, which have similar arguments as Zero():
+macros, which have similar arguments to Zero():
 
 PoisonWith(dst, n, t, b)scribble memory with byte b
 PoisonNew(dst, n, t)equal to PoisonWith(dst, n, t, 0xAB)
diff --git a/pod/perlcommunity.pod b/pod/perlcommunity.pod
index 8430c3f..96c7b85 100644
--- a/pod/perlcommunity.pod
+++ b/pod/perlcommunity.pod
@@ -14,15 +14,15 @@ evidence that the Perl users apply TMTOWTDI to all 
endeavors, not just
 programming. From websites, to IRC, to mailing lists, there is more than one
 way to get involved in the community.
 
-=head2 Where to find the community
+=head2 Where to Find the Community
 
 There is a central directory for the Perl community: Lhttp://perl.org
 maintained by the Perl Foundation (Lhttp://www.perlfoundation.org/),
 which tracks and provides services for a variety of other community sites.
 
-=head2 Mailing lists and Newsgroups
+=head2 Mailing Lists and Newsgroups
 
-Perl runs on e-mail, there is no doubt about it. The Camel book was originally
+Perl runs on e-mail; there is no doubt about it. The Camel book was originally
 written mostly over e-mail and today Perl's development is co-ordinated through
 mailing lists. The largest repository of Perl mailing lists is located at
 Lhttp://lists.perl.org.
@@ -41,7 +41,7 @@ The Perl community has a rather large IRC presence. For 
starters, it has its
 own IRC network, Lirc://irc.perl.org. General (not help-oriented) chat can be
 found at Lirc://irc.perl.org/#perl. Many other more specific chats are also
 hosted on the network. Information about irc.perl.org is located on the
-network's website: Lhttp://www.irc.perl.org. For a more help oriented #perl,
+network's website: Lhttp://www.irc.perl.org. For a more help-oriented #perl,
 check out Lirc://irc.freenode.net/#perl. Perl 6 development also has a
 presence in Lirc://irc.freenode.net/#perl6. Most Perl-related channels will
 be kind enough to point you in the right direction if you ask nicely.
@@ -52,7 +52,7 @@ with varying activity levels.
 =head2 Websites
 
 Perl websites come in a variety of forms, but they fit into two large
-categories: forums and news websites. There are many Perl related
+categories: forums and news websites. There are many Perl-related
 websites, so only a few of the community's largest are mentioned here.
 
 =head3 News sites
@@ -61,7 +61,7 @@ websites, so only a few of the community's largest are 
mentioned here.
 
 =item Lhttp://perl.com/
 
-Run by O'Reilly Media (The publisher of Lthe Camel Book|perlbook among other
+Run by O'Reilly Media (the publisher of Lthe Camel Book|perlbook, among other
 Perl-related literature), perl.com provides current Perl news, articles, and
 resources for Perl developers as well as a directory of other useful websites.
 
@@ -119,7 +119,7 @@ Lirc://irc.perl.org/#perl.
 
 If you have never been to a hackathon, here are a few basic things you need to
 know before attending: have a working laptop and know how to use it; check out
-the involved projects before hand; have the necessary version control client;
+the involved projects beforehand; have the necessary version control client;
 and bring backup

[perl.git] branch blead, updated. v5.13.9-328-gaa80e1d

2011-02-11 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/aa80e1dcb371c94af142cbd5b35b014104f03584?hp=39ac3336da840fc340d83005a1b728db40a469ef

- Log -
commit aa80e1dcb371c94af142cbd5b35b014104f03584
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 14:01:55 2011 -0800

perldata: remove duplicate text from adjacent sections

M   pod/perldata.pod

commit b208c909347c1ee277714eaa1bda5a4e0d85a64e
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 13:46:47 2011 -0800

perlfunc/eval: $@ is now set after unwinding

M   pod/perlfunc.pod

commit 82bcec1beafdddf442ea155a666fc0b0dce8fe5f
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 13:43:38 2011 -0800

perlfunc: hyphenate a compound adjective

M   pod/perlfunc.pod

commit e2b457c0a2a1b829d40d2ab9e84c76fa3641aaba
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 13:36:58 2011 -0800

perldata: retitle a section

The ‘Array Joining Delimiter’ section is about array interpolation in
general, not just the $ variable.

M   pod/perldata.pod

commit d411c85d23cd217cfd98d1fa22f96554128fafb5
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 13:32:15 2011 -0800

perldelta: ‘package;’ is no longer supported

M   pod/perldata.pod

commit 3921068cd7e1dda8edfb21394694f0f4f426234e
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 12:48:23 2011 -0800

perldata tweaks

M   pod/perldata.pod
---

Summary of changes:
 pod/perldata.pod |   25 -
 pod/perlfunc.pod |8 
 2 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/pod/perldata.pod b/pod/perldata.pod
index 98663c4..03191b5 100644
--- a/pod/perldata.pod
+++ b/pod/perldata.pod
@@ -52,7 +52,7 @@ Xscalar
 $#days # the last index of array @days
 
 Entire arrays (and slices of arrays and hashes) are denoted by '@',
-which works much like the word these or those does in English,
+which works much as the word these or those does in English,
 in that it indicates multiple values are expected.
 Xarray
 
@@ -140,7 +140,7 @@ to determine the context for the right argument.  
Assignment to a
 scalar evaluates the right-hand side in scalar context, while
 assignment to an array or hash evaluates the righthand side in list
 context.  Assignment to a list (or slice, which is just a list
-anyway) also evaluates the righthand side in list context.
+anyway) also evaluates the right-hand side in list context.
 
 When you use the Cuse warnings pragma or Perl's B-w command-line 
 option, you may see warnings
@@ -391,7 +391,7 @@ inet_aton()/inet_ntoa() routines of the Socket package.
 
 Note that since Perl 5.8.1 the single-number v-strings (like Cv65)
 are not v-strings before the C =  operator (which is usually used
-to separate a hash key from a hash value), instead they are interpreted
+to separate a hash key from a hash value); instead they are interpreted
 as literal strings ('v65').  They were v-strings from Perl 5.6.0 to
 Perl 5.8.0, but that caused more confusion and breakage than good.
 Multi-number v-strings like Cv65.66 and C65.66.67 continue to
@@ -406,7 +406,8 @@ represent the current filename, line number, and package 
name at that
 point in your program.  They may be used only as separate tokens; they
 will not be interpolated into strings.  If there is no current package
 (due to an empty Cpackage; directive), __PACKAGE__ is the undefined
-value.
+value. (But the empty Cpackage; is no longer supported, as of version
+5.10.)
 X__FILE__ X__LINE__ X__PACKAGE__ Xline Xfile Xpackage
 
 The two control characters ^D and ^Z, and the tokens __END__ and __DATA__
@@ -451,7 +452,7 @@ produces a compile-time error instead.  The restriction 
lasts to the
 end of the enclosing block.  An inner block may countermand this
 by saying Cno strict 'subs'.
 
-=head3 Array Joining Delimiter
+=head3 Array Interpolation
 Xarray, interpolation Xinterpolation, array X$
 
 Arrays and slices are interpolated into double-quoted strings
@@ -667,7 +668,8 @@ of how to arrange for an output ordering.
 
 =head2 Subscripts
 
-An array is subscripted by specifying a dollar sign (C$), then the
+An array can be accessed one scalar at a
+time by specifying a dollar sign (C$), then the
 name of the array (without the leading C@), then the subscript inside
 square brackets.  For example:
 
@@ -691,15 +693,12 @@ are used. For example:
 
 print Darwin's First Name is , $scientists{Darwin}, \n;
 
-=head2 Slices
-Xslice Xarray, slice Xhash, slice
+You can also subscript a list to get a single element from it:
 
-A common way to access an array or a hash is one scalar element at a
-time.  You can also subscript a list to get a single element from it.
+$dir = (getpwnam(daemon))[7];
 
-$whoami

[perl.git] branch blead, updated. v5.13.9-330-g7b40636

2011-02-11 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/7b406369ac9ca595fb848308e83bf235e8fd196f?hp=aa80e1dcb371c94af142cbd5b35b014104f03584

- Log -
commit 7b406369ac9ca595fb848308e83bf235e8fd196f
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 21:37:45 2011 -0800

perldebguts tweaks

M   pod/perldebguts.pod

commit f78ac02b2f32a8866870436c528ae37ea6192855
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 11 17:56:53 2011 -0800

perldbmfilter tweaks

• ‘Each’ is singular
• ‘If not’, not ‘in not’

M   pod/perldbmfilter.pod
---

Summary of changes:
 pod/perldbmfilter.pod |4 ++--
 pod/perldebguts.pod   |   36 ++--
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/pod/perldbmfilter.pod b/pod/perldbmfilter.pod
index e58ce20..2a4c239 100644
--- a/pod/perldbmfilter.pod
+++ b/pod/perldbmfilter.pod
@@ -17,7 +17,7 @@ The four Cfilter_* methods shown above are available in all 
the DBM
 modules that ship with Perl, namely DB_File, GDBM_File, NDBM_File,
 ODBM_File and SDBM_File.
 
-Each of the methods work identically, and are used to install (or
+Each of the methods works identically, and is used to install (or
 uninstall) a single DBM Filter. The only difference between them is the
 place that the filter is installed.
 
@@ -51,7 +51,7 @@ every time you read a value from a DBM database.
 You can use any combination of the methods from none to all four.
 
 All filter methods return the existing filter, if present, or Cundef
-in not.
+if not.
 
 To delete a filter pass Cundef to it.
 
diff --git a/pod/perldebguts.pod b/pod/perldebguts.pod
index 402b67c..d6bffb1 100644
--- a/pod/perldebguts.pod
+++ b/pod/perldebguts.pod
@@ -53,7 +53,7 @@ C$break_condition\0$action.
 
 The same holds for evaluated strings that contain subroutines, or
 which are currently being executed.  The $filename for Cevaled strings
-looks like C(eval 34) or  C(re_eval 19).
+looks like C(eval 34) or C(re_eval 19).
 
 =item *
 
@@ -153,7 +153,7 @@ environment variable and uses it to set debugger options. 
The
 contents of this variable are treated as if they were the argument
 of an Co ... debugger command (q.v. in Lperldebug/Options).
 
-=head3 Debugger internal variables
+=head3 Debugger Internal Variables
 
 In addition to the file and subroutine-related variables mentioned above,
 the debugger also maintains various magical internal variables.
@@ -172,7 +172,7 @@ equal to zero only if the line is not breakable.
 
 =item *
 
-C%DB::dbline, is an alias for C%{::_current_file}, which
+C%DB::dbline is an alias for C%{::_current_file}, which
 contains breakpoints and actions keyed by line number in
 the currently-selected file, either explicitly chosen with the
 debugger's Cf command, or implicitly by flow of execution.
@@ -184,7 +184,7 @@ C$break_condition\0$action.
 
 =back
 
-=head3 Debugger customization functions
+=head3 Debugger Customization Functions
 
 Some functions are provided to simplify customization.
 
@@ -257,8 +257,8 @@ with this one, once the Coption Cframe=2 has been set:
 By way of demonstration, we present below a laborious listing
 resulting from setting your CPERLDB_OPTS environment variable to
 the value Cf=n N, and running Iperl -d -V from the command line.
-Examples use various values of Cn are shown to give you a feel
-for the difference between settings.  Long those it may be, this
+Examples using various values of Cn are shown to give you a feel
+for the difference between settings.  Long though it may be, this
 is not a complete listing, but only excerpts.
 
 =over 4
@@ -397,7 +397,7 @@ When a package is compiled, a line like this
 
 is printed with proper indentation.
 
-=head1 Debugging regular expressions
+=head1 Debugging Regular Expressions
 
 There are two ways to enable debugging output for regular expressions.
 
@@ -408,7 +408,7 @@ Otherwise, one can Cuse re 'debug', which has effects at
 compile time and run time.  Since Perl 5.9.5, this pragma is lexically
 scoped.
 
-=head2 Compile-time output
+=head2 Compile-time Output
 
 The debugging output at compile time looks like this:
 
@@ -514,7 +514,7 @@ C(??{ code }).
 
 =item Canchored(TYPE)
 
-If the pattern may match only at a handful of places, (with CTYPE
+If the pattern may match only at a handful of places, with CTYPE
 being CBOL, CMBOL, or CGPOS.  See the table below.
 
 =back
@@ -532,7 +532,7 @@ form of the regex.  Each line has format
 
 C   Iid: ITYPE IOPTIONAL-INFO (Inext-id)
 
-=head2 Types of nodes
+=head2 Types of Nodes
 
 Here are the possible types, with short descriptions:
 
@@ -625,7 +625,7 @@ Here are the possible types, with short descriptions:
 IFMATCHoff 1 2 Succeeds if the following matches.
 UNLESSMoff 1 2 Fails if the following matches

[perl.git] branch blead, updated. v5.13.9-336-gffedb8c

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/ffedb8cac4cef8f45c3d8879ddb708dc3580?hp=28aafdbea124a4050118675c08f116781de5bd1d

- Log -
commit ffedb8cac4cef8f45c3d8879ddb708dc3580
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 09:38:29 2011 -0800

Bump re.pm’s version

M   ext/re/re.pm

commit 57e8c15deb9ba396f62bf4832f676e7a853bd15e
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 09:36:18 2011 -0800

perldebug: capitalise titles

The capitalisation was rather inconsistent throughout.

M   ext/re/re.pm
M   pod/perldebug.pod
M   pod/perlreref.pod

commit d9f2b251b2a7966ba737c877bce9ffbe6120c836
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 09:33:38 2011 -0800

Fix links to POD sections

M   pod/perldebug.pod
M   pod/perlretut.pod

commit 7d0d50dd8561c325a5cc8339d10802fc08146961
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 07:07:42 2011 -0800

perldebug: perl no longer includes the emacs mode

M   pod/perldebug.pod

commit 5d464584654bdb70b228ec3a4222d0fbb4c1d469
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 07:07:05 2011 -0800

perldebug tweaks

M   pod/perldebug.pod
---

Summary of changes:
 ext/re/re.pm  |4 ++--
 pod/perldebug.pod |   35 ++-
 pod/perlreref.pod |2 +-
 pod/perlretut.pod |2 +-
 4 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/ext/re/re.pm b/ext/re/re.pm
index 100ef5b..850b948 100644
--- a/ext/re/re.pm
+++ b/ext/re/re.pm
@@ -4,7 +4,7 @@ package re;
 use strict;
 use warnings;
 
-our $VERSION = 0.16;
+our $VERSION = 0.17;
 our @ISA = qw(Exporter);
 our @EXPORT_OK   = ('regmust',
 qw(is_regexp regexp_pattern
@@ -323,7 +323,7 @@ form of output that can be used to get a colorful display 
on terminals
 that understand termcap color sequences.  Set C$ENV{PERL_RE_TC} to a
 comma-separated list of Ctermcap properties to use for highlighting
 strings on/off, pre-point part on/off.
-See Lperldebug/Debugging regular expressions for additional info.
+See Lperldebug/Debugging Regular Expressions for additional info.
 
 As of 5.9.5 the directive Cuse re 'debug' and its equivalents are
 lexically scoped, as the other directives are.  However they have both 
diff --git a/pod/perldebug.pod b/pod/perldebug.pod
index 9e67b4d..07aa302 100644
--- a/pod/perldebug.pod
+++ b/pod/perldebug.pod
@@ -9,7 +9,7 @@ First of all, have you tried using the B-w switch?
 
 
 If you're new to the Perl debugger, you may prefer to read
-Lperldebtut, which is a tutorial introduction to the debugger .
+Lperldebtut, which is a tutorial introduction to the debugger.
 
 =head1 The Perl Debugger
 
@@ -54,7 +54,7 @@ function with something that doesn't look like a debugger 
command, such
 as a leading C; or perhaps a C+, or by wrapping it with parentheses
 or braces.
 
-=head2 Calling the debugger
+=head2 Calling the Debugger
 
 There are several ways to call the debugger:
 
@@ -388,7 +388,7 @@ Delete all watch-expressions.
 =item o
 Xdebugger command, o
 
-Display all options
+Display all options.
 
 =item o booloption ...
 Xdebugger command, o
@@ -589,7 +589,7 @@ blessed object, or to a package name.
 =item M
 Xdebugger command, M
 
-Displays all loaded modules and their versions
+Display all loaded modules and their versions.
 
 
 =item man [manpage]
@@ -876,7 +876,7 @@ corresponds to F/dev/ttyXX, say, by issuing a command like
 
 See Lperldebguts/Debugger Internals for details.
 
-=head2 Debugger input/output
+=head2 Debugger Input/Output
 
 =over 8
 
@@ -942,7 +942,7 @@ also from Icamel_flea, but from line 4.
 
 If you execute the CT command from inside an active Cuse
 statement, the backtrace will contain both a Crequire frame and
-an Ceval) frame.
+an Ceval frame.
 
 =item Line Listing Format
 
@@ -977,12 +977,12 @@ for incredibly long examples of these.
 
 =back
 
-=head2 Debugging compile-time statements
+=head2 Debugging Compile-Time Statements
 
 If you have compile-time executable statements (such as code within
 BEGIN, UNITCHECK and CHECK blocks or Cuse statements), these will
 Inot be stopped by debugger, although Crequires and INIT blocks
-will, and compile-time statements can be traced with CAutoTrace
+will, and compile-time statements can be traced with the CAutoTrace
 option set in CPERLDB_OPTS).  From your own Perl code, however, you
 can transfer control back to the debugger using the following
 statement, which is harmless if the debugger is not running:
@@ -1007,7 +1007,7 @@ compile subname for the same purpose.
 
 The debugger probably contains enough configuration hooks that you
 won't ever have to modify it yourself.  You may change the behaviour
-of debugger from within the debugger

[perl.git] branch blead, updated. v5.13.9-338-gccaaf48

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit ccaaf480260ac57f0cc2c88d2a20a0a8e06cc550
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 12:20:52 2011 -0800

Clarify perldiag/Ambiguous use of %c{%s%s}

${foo[2]} only warns with built-in keywords. (See the source in
toke.c:S_scan_ident which uses keyword().)

The suggested use of $foo[2] instead of ${foo[2]} does not
always work.

I also added an ‘and’ to clarify the existing text.

M   pod/perldiag.pod

commit 3303f755f725e8e6bda8938fabd6f02f2488a668
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 10:00:25 2011 -0800

Clean up perldiag/Ambiguous use resolved as operator

This entry was missing some words. I supplied them, fixed spelling
mistakes, and reflowed it to look good under -Mdiagnostics.

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |   31 +--
 1 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index aa5b04f..fd6f17c 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -103,11 +103,12 @@ a missing quote, operator, parenthesis pair or 
declaration.
 =item Ambiguous use of %c resolved as operator %c
 
 (W ambiguous) C%, C, and C* are both infix operators (modulus,
-bitwise and, and multpication), and you said something like C*foo *
-foo that might be interpreted as either of them.  We assumed you
-meant the infix operator, but please try to make it more clear -- in
-the example given, you might write C*foo * foo() if you really meant
-to multiply a glob by the result of calling a function.
+bitwise and, and multiplication) Iand initial special characters
+(denoting hashes, subroutines and typeglobs), and you said something
+like C*foo * foo that might be interpreted as either of them.  We
+assumed you meant the infix operator, but please try to make it more
+clear -- in the example given, you might write C*foo * foo() if you
+really meant to multiply a glob by the result of calling a function.
 
 =item Ambiguous use of %c{%s} resolved to %c%s
 
@@ -120,11 +121,21 @@ and a function with the same name, and save yourself a 
lot of trouble.
 
 =item Ambiguous use of %c{%s%s} resolved to %c%s%s
 
-(W ambiguous) You wrote something like C${foo[2]}, which might be
-looking for element number 2 of the array named C@foo, in which case
-please write C$foo[2], or you might have meant to pass an anonymous
-arrayref to the function named foo, then do a scalar deref on the
-value it returns.  If you meant that, write C${foo([2])}.
+(W ambiguous) You wrote something like C${foo[2]} (where foo
+represents the name of a Perl keyword), which might be looking for
+element number 2 of the array named C@foo, in which case please write
+C$foo[2], or you might have meant to pass an anonymous arrayref to
+the function named foo, and then do a scalar deref on the value it
+returns.  If you meant that, write C${foo([2])}.
+
+In regular expressions, the C${foo[2]} syntax is sometimes necessary
+to disambiguate between array subscripts and character classes.
+C/$length[2345]/, for instance, will be interpreted as C$length
+followed by the character class C[2345]. If an array subscript is what
+you want, you can avoid the warning by changing C/${length[2345]}/
+to the unsightly C/${\$length[2345]}/, by renaming your array to
+something that does not coincide with a built-in keyword, or by
+simply turning off warnings with Cno warnings 'ambiguous';.
 
 =item Ambiguous use of -%s resolved as -%s()
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-339-gee37b3b

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit ee37b3b920711e4770ee5a965bc1723c7c23ebcc
Author: Curtis Jewell p...@csjewell.fastmail.us
Date:   Sat Feb 12 11:32:12 2011 -0700

Add info to perlhist.pod for 5.12.{2,3}
---

Summary of changes:
 pod/perlhist.pod |   31 +++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/pod/perlhist.pod b/pod/perlhist.pod
index 63e56a4..0c74d9f 100644
--- a/pod/perlhist.pod
+++ b/pod/perlhist.pod
@@ -524,6 +524,8 @@ explained below.
  5.10.1 4858  98   7440 519   6195  921   6147 1751   5151 163
  5.12.0 4999 100   1146 121  15227 2176   6400 1843   5342 168
  5.12.1 5000 100   1146 121  15283 2178   6407 1846   5354 169
+ 5.12.2 5003 100   1146 121  15404 2178   6413 1846   5376 170
+ 5.12.3 5004 100   1146 121  15529 2180   6417 1848   5391 171
 
 The core...doc mean the following files from the Perl source code
 distribution.  The glob notation ** means recursively, (.) means
@@ -797,6 +799,35 @@ the Perl source distribution for somewhat more selected 
releases.
  win321482   68  1485   68  1497   70  1841   73  1841   73
  x2p   349   19   349   19   345   19   345   19   345   19
 
+ ==
+
+  5.12.2 5.12.3
+
+ apollo  03 03
+ beos44 44
+ Configure 5361   5361
+ Cross 118   15   118   15
+ djgpp  177177
+ emacs 4024   4024
+ epoc   318318
+ h2pl   12   1512   15
+ hints 368   97   368   97
+ mad   1748   1748
+ mpeix  456456
+ NetWare   466   61   466   61
+ os2   507   70   507   70
+ plan9 316   17   316   17
+ Porting   750   54   750   54
+ qnx 14 14
+ symbian   288   54   288   54
+ utils 269   27   269   27
+ uts 83 83
+ vmesa  214214
+ vms   646   18   644   18
+ vos168168
+ win321841   73  1841   73
+ x2p   345   19   345   19
+
 =head2 SELECTED PATCH SIZES
 
 The diff lines kB means that for example the patch 5.003_08, to be

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-340-ga7f6e21

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit a7f6e211947a6eec78d594aaf629ee4990994c2b
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 13:15:46 2011 -0800

Correct perldiag/Ambiguous use of -%s

Use of -foo to mean -foo is valid even in strict mode.
---

Summary of changes:
 pod/perldiag.pod |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index fd6f17c..51ed36a 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -140,9 +140,8 @@ simply turning off warnings with Cno warnings 
'ambiguous';.
 =item Ambiguous use of -%s resolved as -%s()
 
 (W ambiguous) You wrote something like C-foo, which might be the
-string C-foo (outside of Cuse strict 'subs'), or a call to the
-function Cfoo, negated.  If you meant the string, just write
-C-foo, and please use strict.  If you meant the function call,
+string C-foo, or a call to the function Cfoo, negated.  If you meant
+the string, just write C-foo.  If you meant the function call,
 write C-foo().
 
 =item '|' and '' may not both be specified on command line

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-342-ga554741

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit a5547419d5b6611afb483a3a32dc19fa18b2f172
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 13:54:23 2011 -0800

perldiag: be realistic

M   pod/perldiag.pod

commit 111a855ec19cb6f3b6d0588d37c95b742a5020e3
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 13:53:24 2011 -0800

perldiag: typos and slight English improvements

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |   16 
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 51ed36a..94bb0d1 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -252,8 +252,8 @@ know which context to supply to the right side.
 
 (W threads)(S) When using threaded Perl, a thread (not necessarily the main
 thread) exited while there were still other threads running.
-Usually it's a good idea to first collect the return values of the
-created threads by joining them, and only then exit from the main
+Usually it's a good idea first to collect the return values of the
+created threads by joining them, and only then to exit from the main
 thread.  See Lthreads.
 
 =item Attempt to access disallowed key '%s' in a restricted hash
@@ -297,7 +297,7 @@ outside any of those arenas.
 
 =item Attempt to free nonexistent shared string
 
-(P internal) Perl maintains a reference counted internal table of
+(P internal) Perl maintains a reference-counted internal table of
 strings to optimize the storage and access of hash keys and other
 strings.  This indicates someone tried to decrement the reference count
 of a string that can no longer be found in the table.
@@ -363,17 +363,17 @@ dereference it first.  See Lperlfunc/substr.
 
 =item Attribute locked is deprecated
 
-(D deprecated) You have used the attributes pragam to modify the locked
+(D deprecated) You have used the attributes pragma to modify the locked
 attribute on a code reference. The :locked attribute is obsolete, has had no
-effect since 5005 threads were removed, and will be removed in the next major
+effect since 5005 threads were removed, and will be removed in a future
 release of Perl 5.
 
 =item Attribute unique is deprecated
 
-(D deprecated) You have used the attributes pragam to modify the unique
+(D deprecated) You have used the attributes pragma to modify the unique
 attribute on an array, hash or scalar reference. The :unique attribute has
-had no effect since Perl 5.8.8, and will be removed in the next major
-release of Perl 5.
+had no effect since Perl 5.8.8, and will be removed in a future release
+of Perl 5.
 
 =item Bad arg length for %s, is %u, should be %d
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-344-g9b03c0a

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/9b03c0a2763ac65c27fbda052b034db71849f461?hp=a5547419d5b6611afb483a3a32dc19fa18b2f172

- Log -
commit 9b03c0a2763ac65c27fbda052b034db71849f461
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 15:00:42 2011 -0800

perlfaq7: there are no empty packages any more

M   pod/perlfaq7.pod

commit 4dcecea45752c0731d7846d1e7c8147f6c96338f
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 14:54:17 2011 -0800

perldiag: typos

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |8 
 pod/perlfaq7.pod |6 ++
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 94bb0d1..1f0c069 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -437,7 +437,7 @@ plugin API.
 
 (S malloc) An internal routine called realloc() on something that had
 never been malloc()ed in the first place. Mandatory, but can be disabled
-by setting environment variable CPERL_BADFREE to 1.
+by setting the environment variable CPERL_BADFREE to 1.
 
 =item Bad symbol for array
 
@@ -524,7 +524,7 @@ check the return value of your socket() call?  See 
Lperlfunc/bind.
 =item binmode() on closed filehandle %s
 
 (W unopened) You tried binmode() on a filehandle that was never opened.
-Check you control flow and number of arguments.
+Check your control flow and number of arguments.
 
 =item Bit vector size  32 non-portable
 
@@ -533,7 +533,7 @@ Check you control flow and number of arguments.
 =item Bizarre copy of %s in %s
 
 (P) Perl detected an attempt to copy an internal value that is not
-copyable.
+copiable.
 
 =item Buffer overflow in prime_env_iter: %s
 
@@ -579,7 +579,7 @@ from that type of reference to a typeglob.
 =item Cannot copy to %s in %s
 
 (P) Perl detected an attempt to copy a value to an internal type that cannot
-be directly assigned not.
+be directly assigned to.
 
 =item Cannot find encoding %s
 
diff --git a/pod/perlfaq7.pod b/pod/perlfaq7.pod
index fbe6dad..983825b 100644
--- a/pod/perlfaq7.pod
+++ b/pod/perlfaq7.pod
@@ -831,10 +831,8 @@ diagnostics as CCarp does, use the Ccaller built-in:
print I was called from package $package\n;
);
 
-By default, your program starts in package Cmain, so you should
-always be in some package unless someone uses the Cpackage built-in
-with no namespace. See the Cpackage entry in Lperlfunc for the
-details of empty packages.
+By default, your program starts in package Cmain, so you will
+always be in some package.
 
 This is different from finding out the package an object is blessed
 into, which might not be the current package. For that, use Cblessed

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-345-g8f9aa6a

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/8f9aa6a33b8add4f811c7b17012eee9544cda48b?hp=9b03c0a2763ac65c27fbda052b034db71849f461

- Log -
commit 8f9aa6a33b8add4f811c7b17012eee9544cda48b
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 15:06:20 2011 -0800

perldiag: pseudo-hashes are long gone
---

Summary of changes:
 pod/perldiag.pod |6 --
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 1f0c069..e005356 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -650,12 +650,6 @@ that you can chdir to, possibly because it doesn't exist.
 (P) For some reason you can't check the filesystem of the script for
 nosuid.
 
-=item Can't coerce array into hash
-
-(F) You used an array where a hash was expected, but the array has no
-information on how to map from keys to array indices.  You can do that
-only with arrays that have a hash reference at index 0.
-
 =item Can't coerce %s to integer in %s
 
 (F) Certain types of SVs, in particular real symbol table entries

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-349-g4b056c0

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/4b056c0626143ea9b19431c50c5587207f7bfc77?hp=8f9aa6a33b8add4f811c7b17012eee9544cda48b

- Log -
commit 4b056c0626143ea9b19431c50c5587207f7bfc77
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 18:05:14 2011 -0800

Improve diagnostics.pm’s link rendering.

The number of Lfoo/bar links in perldiag has grown over time, and
diagnostics.pm has never been updated to render them nicely, resulting
in output like this:

Lexing code attempted to stuff non-Latin-1 character into Latin-1 input at
lib/diagnostics.t line 36 (#3)
 (F) An extension is attempting to insert text into the current parse
 (using lex_stuff_pvn_flags|perlapi/lex_stuff_pvn_flags or similar), but
 tried to insert a character that couldn't be part of the current input.
 This is an inherent pitfall of the stuffing mechanism, and one of the
 reasons to avoid it.  Where it is necessary to stuff, stuffing only
 plain ASCII is recommended.

I’ve implemented some rudimentary L parsing, which should suffice
for perldiag. I think using a real POD processor would be overkill.

M   lib/diagnostics.pm
M   lib/diagnostics.t

commit 070bca2dc77f646ea2d6f71077e2008c790ba9ca
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 17:12:23 2011 -0800

Delete perldiag/Can't declare class for non-scalar

This message no longer occurs as of d5e98372e6efc4, which was included
in 5.12.0.

M   pod/perldiag.pod

commit df7ab51675bc1ca76bed26edf0d390c0561d6514
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 17:05:56 2011 -0800

Delete perldiag/Can't call method in empty package

This message has not been produced since ac91690fe10ac7691f6f, four-
teen years ago!

M   pod/perldiag.pod

commit 22e74366bed8d7512ccbea65bc27faf3548c6476
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 17:04:39 2011 -0800

perldiag: Combine nearly identical entries

These entries--

=item Can't coerce %s to integer in %s
=item Can't coerce %s to number in %s
=item Can't coerce %s to string in %s

--can be combined into one. Currently, they say exactly the same
thing, except that the first one has more detail. Consequently,
diagnostics.pm will sometimes provide more, and sometimes less, infor-
mation, which is suboptimal.

M   pod/perldiag.pod
M   sv.c
---

Summary of changes:
 lib/diagnostics.pm |   27 ---
 lib/diagnostics.t  |   15 ++-
 pod/perldiag.pod   |   24 +---
 sv.c   |3 +++
 4 files changed, 42 insertions(+), 27 deletions(-)

diff --git a/lib/diagnostics.pm b/lib/diagnostics.pm
index b485114..cd4e7b6 100644
--- a/lib/diagnostics.pm
+++ b/lib/diagnostics.pm
@@ -185,7 +185,7 @@ use 5.009001;
 use Carp;
 $Carp::Internal{__PACKAGE__.}++;
 
-our $VERSION = '1.21';
+our $VERSION = '1.22';
 our $DEBUG;
 our $VERBOSE;
 our $PRETTY;
@@ -322,16 +322,37 @@ my %msg;
 my $for_item;
 while (POD_DIAG) {
 
+   sub _split_pod_link {
+   $_[0] =~ '(?:([^|]*)\|)?([^/]*)(?:/(?)(.*)\3)?';
+   ($1,$2,$4);
+   }
+
unescape();
if ($PRETTY) {
sub noop   { return $_[0] }  # spensive for a noop
sub bold   { my $str =$_[0];  $str =~ s/(.)/$1\b$1/g; return $str; 
} 
sub italic { my $str = $_[0]; $str =~ s/(.)/_\b$1/g;  return $str; 
} 
s/C (.*?) |C (.*?) |[BC](.*?)/bold($+)/ges;
-   s/[LIF](.*?)/italic($1)/ges;
+   s/[IF](.*?)/italic($1)/ges;
+   s/L(.*?)/
+  my($text,$page,$sect) = _split_pod_link($1);
+  defined $text
+   ? $text
+   : defined $sect
+  ? italic($sect) . ' in ' . italic($page)
+  : italic($page)
+/ges;
} else {
s/C (.*?) |C (.*?) |[BC](.*?)/$+/gs;
-   s/[LIF](.*?)/$1/gs;
+   s/[IF](.*?)/$1/gs;
+   s/L(.*?)/
+  my($text,$page,$sect) = _split_pod_link($1);
+  defined $text
+   ? $text
+   : defined $sect
+  ? qq '$sect in $page'
+  : $page
+/ges;
} 
unless (/^=/) {
if (defined $header) { 
diff --git a/lib/diagnostics.t b/lib/diagnostics.t
index ee0c160..81896cd 100644
--- a/lib/diagnostics.t
+++ b/lib/diagnostics.t
@@ -5,7 +5,7 @@ BEGIN {
 @INC = 'lib';
 }
 
-use Test::More tests = 3;
+use Test::More tests = 5;
 
 BEGIN { use_ok('diagnostics') }
 
@@ -23,3 +23,16 @@ open STDERR, , \my $warning
 or die Couldn't redirect STDERR to var: $!;
 warn('gmtime(nan) too large');
 like

[perl.git] branch blead, updated. v5.13.9-354-g25b6812

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/25b68122d6f7ec755991f385afc789814cc95ff4?hp=5024bc2d2154013d8f0b64ff1fd3ddd3aeaae6a6

- Log -
commit 25b68122d6f7ec755991f385afc789814cc95ff4
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 22:45:54 2011 -0800

Add Larwan Berke’s other address to checkAUTHORS.pl

M   Porting/checkAUTHORS.pl

commit ab7bb42d293793679ac9d5f73df69908418e8037
Author: Apocalypse p...@0ne.us
Date:   Sat Feb 12 23:08:10 2011 -0700

Correctly list the allowed modifiers in the (?...) construct

M   pod/perlre.pod

commit 5f8ad6b664cc647e2d214756857eb7555ac613da
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 19:11:41 2011 -0800

Reflow perldiag/Can't find Unicode property

so it appears slightly less unsightly under ‘use diagnostics’.

M   pod/perldiag.pod
---

Summary of changes:
 Porting/checkAUTHORS.pl |1 +
 pod/perldiag.pod|   14 +++---
 pod/perlre.pod  |4 ++--
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/Porting/checkAUTHORS.pl b/Porting/checkAUTHORS.pl
index b1653b9..aeaf6bd 100755
--- a/Porting/checkAUTHORS.pl
+++ b/Porting/checkAUTHORS.pl
@@ -495,6 +495,7 @@ andreas.koenig\100anima.de  
andreas.koenig.gmwojprw\100franz.ak.mind
 +   root\100dubravka.in-berlin.de
 anno4000\100lublin.zrz.tu-berlin.de anno4000\100mailbox.tu-berlin.de
 +   siegel\100zrz.tu-berlin.de
+apo...@cpan.org perl\1000ne.us
 arnold\100gnu.ai.mit.eduarnold\100emoryu2.arpa
 +   gatech!skeeve!arnold
 arodland\100cpan.organdrew\100hbslabs.com
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index f37c51c..bfe6dfe 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -791,14 +791,14 @@ editor will have a way to help you find these characters.
 
 =item Can't find Unicode property definition %s
 
-(F) You may have tried to use C\p which means a Unicode property (for
-example C\p{Lu} matches all uppercase letters).  If you did mean to use a
-Unicode property, see
+(F) You may have tried to use C\p which means a Unicode
+property (for example C\p{Lu} matches all uppercase
+letters). If you did mean to use a Unicode property, see
 Lperluniprops/Properties accessible through \p{} and \P{}
-for a complete list of available properties.
-If you didn't mean to use a Unicode property, escape the C\p, either
-by C\\p (just the C\p) or by C\Q\p (the rest of the string, until
-possible C\E).
+for a complete list of available properties. If you didn't
+mean to use a Unicode property, escape the C\p, either by C\\p
+(just the C\p) or by C\Q\p (the rest of the string, or
+until C\E).
 
 =item Can't fork: %s
 
diff --git a/pod/perlre.pod b/pod/perlre.pod
index f619b32..7541460 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -77,8 +77,8 @@ of the g and c modifiers.
 =back
 
 These are usually written as the C/x modifier, even though the delimiter
-in question might not really be a slash.  Any of these
-modifiers may also be embedded within the regular expression itself using
+in question might not really be a slash.  The modifiers C/imsx
+may also be embedded within the regular expression itself using
 the C(?...) construct.  Also are new (in 5.14) character set semantics
 modifiers BCa, BCd, BCl and BCu, which, in 5.14
 only, must be used embedded in the regular expression, and not after the

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-361-g075b00a

2011-02-12 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/075b00aa67c055a31de94e78b6ff2cc31607e3e1?hp=25b68122d6f7ec755991f385afc789814cc95ff4

- Log -
commit 075b00aa67c055a31de94e78b6ff2cc31607e3e1
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:54:27 2011 -0800

Correct perldiag/Died

‘die’ does not look at $_.

M   pod/perldiag.pod

commit 5fca8acbe38ffb86144eea28854bc2de8674d6d2
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:51:35 2011 -0800

Reflow perldiag/Deprecated character in \N{...}

It wraps on a 80-character terminal under ‘use diagnostics’.

M   pod/perldiag.pod

commit f866a7cd48957f85828133c0bc68703b12cb033a
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:41:39 2011 -0800

Resort some perldiag entries

According to the description at the top, non-alphabetic characters and
%-format characters are ignored in alphabetisation.

M   pod/perldiag.pod

commit a568ca76fa259fc8e6c8dc18db2ff2b3822b7651
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:39:13 2011 -0800

More perldiag grammar tweaks

M   pod/perldiag.pod

commit 064c2491402d008367214be9b2e81b0c339806b5
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:32:02 2011 -0800

Delete perldiag/Can't unshift

This error message was removed by commit 49beac4814c9f4 fourteen
years ago.

M   pod/perldiag.pod

commit f4739a71a55f13abd9474496c261e7e801ff8d46
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:30:13 2011 -0800

Make diagnostics.pm understand messages sharing descriptions

We currently have entries in perldiag like this:

=item Code point 0x%X is not Unicode, may not be portable

=item Code point 0x%X is not Unicode, no properties match it; all inverse 
properties do

(W utf8) You had a code point above the Unicode maximum of U+10.

...

diagnostics.pm needs to know that the description applies to the first
=item, as well as to the second.

M   lib/diagnostics.pm
M   lib/diagnostics.t

commit 2fe2bdfdc021075e8d79fba5050f89faea5f656c
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 12 23:10:23 2011 -0800

more perldiag grammar/punctuation tweaks

M   pod/perldiag.pod
---

Summary of changes:
 lib/diagnostics.pm |   15 +
 lib/diagnostics.t  |   10 +-
 pod/perldiag.pod   |   85 ---
 3 files changed, 64 insertions(+), 46 deletions(-)

diff --git a/lib/diagnostics.pm b/lib/diagnostics.pm
index cd4e7b6..b346448 100644
--- a/lib/diagnostics.pm
+++ b/lib/diagnostics.pm
@@ -319,7 +319,9 @@ my %msg;
 print STDERR FINISHING COMPILATION for $_\n if $DEBUG;
 local $/ = '';
 my $header;
+my @headers;
 my $for_item;
+my $seen_body;
 while (POD_DIAG) {
 
sub _split_pod_link {
@@ -365,10 +367,22 @@ my %msg;
}
s/^//gm;
$msg{$header} .= $_;
+   for my $h(@headers) { $msg{$h} .= $_ }
+   ++$seen_body;
undef $for_item;
}
next;
} 
+
+   # If we have not come across the body of the description yet, then
+   # the previous header needs to share the same description.
+   if ($seen_body) {
+   @headers = ();
+   }
+   else {
+   push @headers, $header if defined $header;
+   }
+
unless ( s/=item (.*?)\s*\z//) {
 
if ( s/=head1\sDESCRIPTION//) {
@@ -428,6 +442,7 @@ my %msg;
if $msg{$header};
 
$msg{$header} = '';
+   $seen_body = 0;
 } 
 
 
diff --git a/lib/diagnostics.t b/lib/diagnostics.t
index 81896cd..06ab536 100644
--- a/lib/diagnostics.t
+++ b/lib/diagnostics.t
@@ -5,7 +5,7 @@ BEGIN {
 @INC = 'lib';
 }
 
-use Test::More tests = 5;
+use Test::More tests = 6;
 
 BEGIN { use_ok('diagnostics') }
 
@@ -36,3 +36,11 @@ $warning = '';
 warn
  'Lexing code attempted to stuff non-Latin-1 character into Latin-1 input';
 like $warning, qr/using lex_stuff_pvn_flags or similar/, 'Lfoo|bar/baz';
+
+# Multiple messages with the same description
+seek STDERR, 0,0;
+$warning = '';
+warn 'Code point 0x%X is not Unicode, may not be portable';
+like $warning, qr/W utf8/,
+   'Message sharing its description with the following message';
+
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index bfe6dfe..3338d71 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -510,14 +510,6 @@ substitution, but stylistically it's better to use the 
variable form
 because other Perl programmers will expect it, and it works better if
 there are more than 9 backreferences.
 
-=item \b{ is deprecated; use \b\{ instead
-
-=item \B

[perl.git] branch blead, updated. v5.13.9-364-g12916da

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/12916dad38433a42694da808e8ec9eafc149f1c8?hp=557ab4cb986767c7868d1b0471b669e794d9b569

- Log -
commit 12916dad38433a42694da808e8ec9eafc149f1c8
Author: Michael Stevens mstev...@etla.org
Date:   Sun Feb 13 13:23:30 2011 +

Remove some whitespace pod warnings in perluniprops.pod
---

Summary of changes:
 lib/unicore/mktables |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index ab90ba3..0d58b4d 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -12906,9 +12906,11 @@ END
 # Generate a list of the formats that can appear in the map tables.
 my @map_table_formats;
 foreach my $format (sort keys %map_table_formats) {
-push @map_table_formats,  $format$map_table_formats{$format}\n;
+push @map_table_formats,   $format$map_table_formats{$format}\n;
 }
 
+local $ = ;
+
 # Everything is ready to assemble.
 my @OUT =  END;
 =begin comment
@@ -13203,7 +13205,7 @@ this is not necessarily the property's official Unicode 
name.  (The 'To' is
 also for backwards compatibility.)  The hash entry gives the format of the
 mapping fields of the table, currently one of the following:
 
- @map_table_formats
+@map_table_formats
 
 This format applies only to the entries in the main body of the table.
 Entries defined in hashes or ones that are missing from the list can have a

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-366-gf947627

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/f94762723eddc4a0de865db28c07e020aecf8d06?hp=12916dad38433a42694da808e8ec9eafc149f1c8

- Log -
commit f94762723eddc4a0de865db28c07e020aecf8d06
Author: Alexander Hartmaier abra...@cpan.org
Date:   Fri Feb 11 15:36:21 2011 +0100

perldoc improvements for map

M   pod/perlfunc.pod

commit 14cca8c3de3e3a27586eea0be45a1e045981c98d
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 11:39:58 2011 -0800

Add Alexander Hartmaier to AUTHORS

M   AUTHORS
---

Summary of changes:
 AUTHORS  |1 +
 pod/perlfunc.pod |   21 +++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 93b7a13..deef7d1 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -40,6 +40,7 @@ Albert Chin-A-Young   ch...@thewrittenword.com
 Albert Dvornik b...@alum.mit.edu
 Alessandro Forghieri   a...@orion.it
 Alexander Alekseev a...@alemate.ru
+Alexander Hartmaierabra...@cpan.org
 Alexei Alexandrov  alexei.alexand...@gmail.com
 Alex Daviesadav...@ptc.com
 Alex Gough a...@rcon.org
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index ece1005..d85b3d7 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -2996,9 +2996,26 @@ total number of elements so generated.  Evaluates BLOCK 
or EXPR in
 list context, so each element of LIST may produce zero, one, or
 more elements in the returned value.
 
-@chars = map(chr, @nums);
+@chars = map(chr, @numbers);
 
-translates a list of numbers to the corresponding characters.  And
+translates a list of numbers to the corresponding characters.
+
+my @squares = map { $_ * $_ } @numbers;
+
+translates a list of numbers to their squared values.
+
+my @squares = map { $_  5 ? ($_ * $_) : () } @numbers;
+
+shows that number of returned elements can differ from the number of
+input elements. To omit an element, return an empty list ().
+This could also be achieved by writing
+
+my @squares = map { $_ * $_ } grep { $_  5 } @numbers;
+
+which makes the intention more clear.
+
+Map always returns a list which can be assigned to a hash where the elements
+become key/value pairs. See Lperldata for more details.
 
 %hash = map { get_a_key_for($_) = $_ } @array;
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-377-g9da2b86

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/9da2b86b76a86f6c74ac3520310f512e01c22d8b?hp=f94762723eddc4a0de865db28c07e020aecf8d06

- Log -
commit 9da2b86b76a86f6c74ac3520310f512e01c22d8b
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:47:10 2011 -0800

perldiag: fewer, not less

(plus a bit of reflow)

M   pod/perldiag.pod

commit 2bfc5f719dcf7991a9fe6d8fffec61c5c54690c0
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:45:03 2011 -0800

Reflow perldiag/Invalid separator...

for an eighty-column terminal under ‘use diagnostics’

M   pod/perldiag.pod

commit 162a3e3490003fa9aacf8f548347be9a2bdd748f
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:39:37 2011 -0800

Mention mro plugins in perldiag

and reflow the entry

M   pod/perldiag.pod

commit b9ef414d57842b63d6e7584f9b803b2a92c6c998
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:49:36 2011 -0800

Sort some perldiag entries

M   pod/perldiag.pod

commit 2e9cc7ef5ebbba9f26546820a94030494daced7d
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:26:52 2011 -0800

List all proto chars in perldiag

The description for ‘Illegal character in prototype’ did not include
the new + prototype.

M   pod/perldiag.pod

commit 21356872813b49b5a6e47b9811ee856629dd25a2
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:23:54 2011 -0800

perldiag: Reflow ‘Having no space...’

This does not fit in an eighty-column terminal under ‘use
diagnostics’.

M   pod/perldiag.pod

commit bca4a9869085037a38c326129bc0e096967afd57
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:21:12 2011 -0800

Reflow perdiag/()-group...

This does not look very good:

$ ./perl -Ilib -Mdiagnostics -e 'warn ()-group starts with a count'
()-group starts with a count at -e line 1 (#1)
(F) A ()-group started with a count.  A count is
supposed to follow something: a template character or a ()-group.
 See pack in perlfunc.

M   pod/perldiag.pod

commit 89a1bda89871255eb18469299e7a50fa1022fb39
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:12:53 2011 -0800

perldiag: copy/paste error

When the ‘Filehandle opened only for output’ message is displayed, the 
user is trying to read from the handle, so saying ‘instead of  or 
nothing’ does not make sense, as it would not have produced the error.

M   pod/perldiag.pod

commit 5c96f6f7583c17578ff1ba97abcad97f402dadad
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:08:21 2011 -0800

perldiag: missing article

M   pod/perldiag.pod

commit af8bb25ac00cd8c7c22968ed11394963a6c65dd8
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 13:59:31 2011 -0800

Replace mention of MacPerl with Symbian

M   pod/perldiag.pod
M   pod/perlport.pod

commit f11307f50aedbc1043359a6926fe4060854fc893
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 12:36:39 2011 -0800

Improve perldiag/Eval-group not allowed at runtime

• Mention use re 'eval' within the description
• Improve text flow

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |   62 +++--
 pod/perlport.pod |2 +
 2 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 3338d71..cd4f975 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1698,10 +1698,11 @@ is unsafe.  See Lperlre/(?{ code }), and Lperlsec.
 
 (F) Perl tried to compile a regular expression containing the
 C(?{ ... }) zero-width assertion at run time, as it would when the
-pattern contains interpolated values.  Since that is a security risk, it
-is not allowed.  If you insist, you may still do this by explicitly
-building the pattern from an interpolated string at run time and using
-that in an eval().  See Lperlre/(?{ code }).
+pattern contains interpolated values.  Since that is a security risk,
+it is not allowed.  If you insist, you may still do this by using the
+Cre 'eval' pragma or by explicitly building the pattern from an
+interpolated string at run time and using that in an eval().  See
+Lperlre/(?{ code }).
 
 =item %s: Eval-group not allowed, use re 'eval'
 
@@ -1726,7 +1727,8 @@ variable and glob that.
 
 =item exec? I'm not *that* kind of operating system
 
-(F) The Cexec function is not implemented in MacPerl. See Lperlport.
+(F) The Cexec function is not implemented on some systems, e.g., Symbian
+OS. See Lperlport.
 
 =item Execution of %s aborted due to compilation errors.
 
@@ -1806,7 +1808,7 @@ is not possible.
 (W pack) Each line

[perl.git] branch blead, updated. v5.13.9-380-g570dedd

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/570dedd44da3a23aa548d78e168df662fd35fce8?hp=9da2b86b76a86f6c74ac3520310f512e01c22d8b

- Log -
commit 570dedd44da3a23aa548d78e168df662fd35fce8
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 17:07:03 2011 -0800

perldiag: Suggest use re '/m' for $*

M   pod/perldiag.pod

commit a58ac25e92f5a203cf2a2bbf7dff77aade544833
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 16:57:27 2011 -0800

perldiag: reflow $* and $#

M   pod/perldiag.pod

commit 34b6fd5ef2bb529de70ecade788d8dc58bc68afa
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 14:52:14 2011 -0800

perldiag: more typos and grammar

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |   24 +---
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index cd4f975..2a464ec 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -2325,34 +2325,36 @@ strange for a machine that supports C.
 =item ioctl() on unopened %s
 
 (W unopened) You tried ioctl() on a filehandle that was never opened.
-Check you control flow and number of arguments.
+Check your control flow and number of arguments.
 
 =item IO layers (like '%s') unavailable
 
 (F) Your Perl has not been configured to have PerlIO, and therefore
-you cannot use IO layers.  To have PerlIO Perl must be configured
+you cannot use IO layers.  To have PerlIO, Perl must be configured
 with 'useperlio'.
 
 =item IO::Socket::atmark not implemented on this architecture
 
 (F) Your machine doesn't implement the sockatmark() functionality,
-neither as a system call or an ioctl call (SIOCATMARK).
+neither as a system call nor an ioctl call (SIOCATMARK).
 
 =item $* is no longer supported
 
-(D deprecated, syntax) The special variable C$*, deprecated in older perls, 
has
-been removed as of 5.9.0 and is no longer supported. In previous versions of 
perl the use of
-C$* enabled or disabled multi-line matching within a string.
+(D deprecated, syntax) The special variable C$*, deprecated in older
+perls, has been removed as of 5.9.0 and is no longer supported. In
+previous versions of perl the use of C$* enabled or disabled multi-line
+matching within a string.
 
 Instead of using C$* you should use the C/m (and maybe C/s) regexp
-modifiers. (In older versions: when C$* was set to a true value then all 
regular
-expressions behaved as if they were written using C/m.)
+modifiers. You can enable C/m for a lexical scope (even a whole file)
+with Cuse re '/m'. (In older versions: when C$* was set to a true value
+then all regular expressions behaved as if they were written using C/m.)
 
 =item $# is no longer supported
 
-(D deprecated, syntax) The special variable C$#, deprecated in older perls, 
has
-been removed as of 5.9.3 and is no longer supported. You should use the
-printf/sprintf functions instead.
+(D deprecated, syntax) The special variable C$#, deprecated in older
+perls, has been removed as of 5.9.3 and is no longer supported. You
+should use the printf/sprintf functions instead.
 
 =item `%s' is not a code reference
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-388-gd32207c

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit d32207c9fde2dae3f943cff7b308d59eef63e106
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 21:37:48 2011 -0800

perldiag: reflow ‘Missing right brace on \N{}’

for ‘use diagnostics’ output on eighty-column terminals

M   pod/perldiag.pod

commit 532cb70d32c55a408417bbd71826eaa5d30b09e7
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 18:46:53 2011 -0800

perldiag: reflow ‘Missing braces on \N{}’ for 80 cols.

M   pod/perldiag.pod

commit 4a5d3a93cf30815c219d070fc6d05abdf44c68f3
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 18:41:59 2011 -0800

perldiag: sort the ma* entries

M   pod/perldiag.pod

commit 2db62bbc77d2091d4f055a8778c159e46c3d0c44
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 18:40:29 2011 -0800

perldiag: whitespace; grammar

M   pod/perldiag.pod

commit e9200be317191a78ab296df196326e9d0f42e4a9
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 18:34:02 2011 -0800

perldiag: an number - a number

That’s my own typo.

M   pod/perldiag.pod

commit d35a2c713b849ca40ae4717642a3af54a43205f0
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 18:31:50 2011 -0800

perldiag: reflow ‘Lexing code attempted to stuff...’

for the sake of diagnostics.pm, which displays the link simply as
lex_stuff_pvn_flags.

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |  110 ++---
 1 files changed, 54 insertions(+), 56 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 2a464ec..23f6e60 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1940,14 +1940,14 @@ earlier in the line, and you really meant a less than.
 
 =item gmtime(%f) too large
 
-(W overflow) You called Cgmtime with an number that was larger than
+(W overflow) You called Cgmtime with a number that was larger than
 it can reliably handle and Cgmtime probably returned the wrong
 date. This warning is also triggered with nan (the special
 not-a-number value).
 
 =item gmtime(%f) too small
 
-(W overflow) You called Cgmtime with an number that was smaller than
+(W overflow) You called Cgmtime with a number that was smaller than
 it can reliably handle and Cgmtime probably returned the wrong
 date. This warning is also triggered with nan (the special
 not-a-number value).
@@ -2403,11 +2403,10 @@ an undefined value for the length. See Lperlfunc/pack.
 =item Lexing code attempted to stuff non-Latin-1 character into Latin-1 input
 
 (F) An extension is attempting to insert text into the current parse
-(using Llex_stuff_pvn_flags|perlapi/lex_stuff_pvn_flags or similar), but
-tried to insert a character that couldn't be part of the current input.
-This is an inherent pitfall of the stuffing mechanism, and one of the
-reasons to avoid it.  Where it is necessary to stuff, stuffing only
-plain ASCII is recommended.
+(using Llex_stuff_pvn_flags|perlapi/lex_stuff_pvn_flags or similar), but 
tried to insert a character
+that couldn't be part of the current input. This is an inherent pitfall
+of the stuffing mechanism, and one of the reasons to avoid it.  Where it
+is necessary to stuff, stuffing only plain ASCII is recommended.
 
 =item Lexing code internal error (%s)
 
@@ -2422,14 +2421,14 @@ Lperlfunc/listen.
 
 =item localtime(%f) too large
 
-(W overflow) You called Clocaltime with an number that was larger
+(W overflow) You called Clocaltime with a number that was larger
 than it can reliably handle and Clocaltime probably returned the
 wrong date. This warning is also triggered with nan (the special
 not-a-number value).
 
 =item localtime(%f) too small
 
-(W overflow) You called Clocaltime with an number that was smaller
+(W overflow) You called Clocaltime with a number that was smaller
 than it can reliably handle and Clocaltime probably returned the
 wrong date. This warning is also triggered with nan (the special
 not-a-number value).
@@ -2468,14 +2467,14 @@ the definition.
 values cannot be returned in subroutines used in lvalue context.  See
 Lperlsub/Lvalue subroutines.
 
-=item Malformed integer in [] in  pack
+=item Malformed integer in [] in pack
 
-(F) Between the  brackets enclosing a numeric repeat count only digits
+(F) Between the brackets enclosing a numeric repeat count only digits
 are permitted.  See Lperlfunc/pack.
 
 =item Malformed integer in [] in unpack
 
-(F) Between the  brackets enclosing a numeric repeat count only digits
+(F) Between the brackets enclosing a numeric repeat count only digits
 are permitted.  See Lperlfunc/pack.
 
 =item Malformed

[perl.git] branch blead, updated. v5.13.9-403-gf9eb106

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit f9eb106c1084642aeabc4c43b4e436fd24217bd2
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:10:59 2011 -0800

perldiag: Move the \p{} entry

M   pod/perldiag.pod

commit 5ff1373f1bf4b408f583891f0fe2c8a61674e0a4
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:02:21 2011 -0800

perldiag: sort some entries

M   pod/perldiag.pod

commit e4aad80dfb34c48dfadf8b85cc9621f51f96e8a5
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:02:01 2011 -0800

perldiag: missing article

M   pod/perldiag.pod

commit c035a1b45449593cb39ce7c36fd66a761c5cfb7b
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:58:09 2011 -0800

perldiag: remove repeated reference

M   pod/perldiag.pod

commit 1043934daf9cf513ca1e0c3e533d2ce8c940681b
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:57:31 2011 -0800

perldiag: reflow ‘Number with no digits’

M   pod/perldiag.pod

commit bc4b151d4896e6128499a4390cde68504b6a1ae3
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:52:48 2011 -0800

perldiag: missing dot

M   pod/perldiag.pod

commit 5493e06025a93e59c5b025a16311466b6c4b60b3
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:50:43 2011 -0800

perldiag: reflow ‘Non-octal character’

M   pod/perldiag.pod

commit dc7e59453aef1d9e0e5d6a71ffc6d1897cab6128
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:15:47 2011 -0800

perldiag: reflow; missing dot

M   pod/perldiag.pod

commit f7af5ce1d2c44f1ede4345cc73c2d7021fc6108e
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:14:30 2011 -0800

perldiag: punctuation and formatting

M   pod/perldiag.pod

commit 74f8e9e3a465bd5137bfcbe172c58aa032364b12
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:06:49 2011 -0800

perldiag: reflow ‘Invalid hexadecimal number’

M   pod/perldiag.pod

commit 8149aa9f813a01df6d31413178fbdd577ebd68a3
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:04:56 2011 -0800

perldiag: resort some entries

M   pod/perldiag.pod

commit 7fae04b956eced387f7ebde81d48c6a8ecd5d84f
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:03:31 2011 -0800

perldiag: missing hyphen

M   pod/perldiag.pod

commit f4e361c703c6849199bd8dd7d80da1c3c1e22a16
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 22:02:00 2011 -0800

perldiag: reflow a couple of entries

M   pod/perldiag.pod

commit fd1b7234d51212446f01abb79b267fba5af14578
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 21:59:28 2011 -0800

perldiag: Make two entries for my/state and pkgs

Not only was it not put in alphabetical order when my was changed to
%s on the introduction of state variables, but it’s easier to find
them if there are two entries.

M   pod/perldiag.pod

commit e850844c70e877ddb73171e20c9e78f2673117a2
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 21:56:52 2011 -0800

perldiag: retitle Ambiguous use of %c{%s%s}

This is not very helpful:

=item Ambiguous use of %c{%s%s} resolved to %c%s%s

especially since it is functionally identical to the previous entry:

=item Ambiguous use of %c{%s} resolved to %c%s

Not only can diagnostics.pm never find it, but it is hard for human
beings to understand what the different is at first glance, too.

So filling in the second and fourth %s’s with the two possible values
slays a twain of avians with one piece of petrified matter.

M   pod/perldiag.pod
M   toke.c
---

Summary of changes:
 pod/perldiag.pod |  157 +-
 toke.c   |1 +
 2 files changed, 85 insertions(+), 73 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 23f6e60..56089d0 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -119,7 +119,9 @@ the varable, you can just write C@foo.  If you wanted to 
call the
 function, write C@{foo()} ... or you could just not have a variable
 and a function with the same name, and save yourself a lot of trouble.
 
-=item Ambiguous use of %c{%s%s} resolved to %c%s%s
+=item Ambiguous use of %c{%s[...]} resolved to %c%s[...]
+
+=item Ambiguous use of %c{%s{...}} resolved to %c%s{...}
 
 (W ambiguous) You wrote something like C${foo[2]} (where foo
 represents the name of a Perl keyword), which might be looking for
@@ -2248,6 +2250,12 @@ The escape was replaced with REPLACEMENT CHARACTER 
(U+FFFD) instead.
 The -- HERE shows in the regular expression

[perl.git] branch blead, updated. v5.13.9-415-gd720195

2011-02-13 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit d7201950fb88ad4d067f937f0b3b60640f3d2099
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:55:40 2011 -0800

perldiag: Remove quotes around message

The quotes might make podchecker happy, but they cause this entry to
be formatted differently from the rest.

M   pod/perldiag.pod

commit 6c107eaa8fc60cd9cc09afec87bf179f637af4e1
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:52:56 2011 -0800

perldiag: grammar

M   pod/perldiag.pod

commit 3257ea4fa4fb2e9e219b9e4db28d9be1334ffc1a
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:51:58 2011 -0800

perldiag: more sorting

M   pod/perldiag.pod

commit 964742a133015d660260aa35784cc6978d068f70
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:49:07 2011 -0800

perldiag: grammar

M   pod/perldiag.pod

commit 9381611c898fde5d723bd856a9923c0605cfefe7
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:45:48 2011 -0800

perldiag: pod syntax and reflow

M   pod/perldiag.pod

commit bcb95744bb8592f02753510997868f11b64116c2
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:44:00 2011 -0800

perldiag: resort some items

M   pod/perldiag.pod

commit bbaee129b97f3e5ebe854a803ac9b4155a151061
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:42:20 2011 -0800

perldiag: reflow some entries

M   pod/perldiag.pod

commit e43839a7fdfc9513f273a3a497f9e8f5c7546ec2
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:37:49 2011 -0800

Delete ‘Recursive inheritance detected while looking for method’

from perldiag.

This message has not occurred since 5.8.x.

M   pod/perldiag.pod

commit 43ee0ea31e8202ec63ed3c178760bb0c64510eea
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:37:07 2011 -0800

perldiag: grammar

M   pod/perldiag.pod

commit e50356381b87e67a7e390fa83521a976e08b8bfd
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:35:20 2011 -0800

perldiag: more resorting

M   pod/perldiag.pod

commit 4b07a369c72219599043d45bc8c02038951986f5
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:27:48 2011 -0800

perldiag: typo

M   pod/perldiag.pod

commit a1efa96e56fcd5c93a2d056cfbdce00e6ba944d7
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 13 23:23:20 2011 -0800

perldiag: reflow an entry

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |   90 +
 1 files changed, 42 insertions(+), 48 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 56089d0..b1e4c6a 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1527,6 +1527,15 @@ array is empty, just use Cif (@array) { # not empty } 
for example.
 checks for an undefined Iscalar value.  If you want to see if the hash
 is empty, just use Cif (%hash) { # not empty } for example.
 
+=item (?(DEFINE)) does not allow branches in regex; marked by -- HERE in 
m/%s/
+
+(F) You used something like C(?(DEFINE)...|..) which is illegal. The
+most likely cause of this error is that you left out a parenthesis inside
+of the C part.
+
+The -- HERE shows in the regular expression about where the problem was
+discovered.
+
 =item %s defines neither package nor VERSION--version check failed
 
 (F) You said something like use Module 42 but in the Module file
@@ -3540,8 +3549,8 @@ was string.
 
 =item panic: unimplemented op %s (#%d) called
 
-(P) The compiler is screwed up and attempted to use an op that isn't permitted
-at run time.
+(P) The compiler is screwed up and attempted to use an op that isn't
+permitted at run time.
 
 =item panic: utf16_to_utf8: odd bytelen
 
@@ -3634,9 +3643,9 @@ This error means that Perl detected that you and/or your 
operating
 system supplier and/or system administrator have set up the so-called
 locale system but Perl could not use those settings.  This was not
 dead serious, fortunately: there is a default locale called C that
-Perl can and will use, the script will be run.  Before you really fix
-the problem, however, you will get the same error message each time
-you run Perl.  How to really fix the problem can be found in
+Perl can and will use, and the script will be run.  Before you really
+fix the problem, however, you will get the same error message each
+time you run Perl.  How to really fix the problem can be found in
 Lperllocale section BLOCALE PROBLEMS.
 
 =item pid %x not a child
@@ -3753,13 +3762,6 @@ higher precedence of C==. This is probably not what 
you want. (If you
 really meant

[perl.git] branch blead, updated. v5.13.9-460-g692dce0

2011-02-14 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/692dce0887a12795213f4ff0fc00b3b25d90a32e?hp=fac48271071da6e0942c3e27acb3bbfefeab2a37

- Log -
commit 692dce0887a12795213f4ff0fc00b3b25d90a32e
Author: Charles Bailey bailey.char...@gmail.com
Date:   Sun Feb 13 13:16:56 2011 -0500

Fix symbol table associations in VMS::DCLsym

M   ext/VMS-DCLsym/DCLsym.pm
M   ext/VMS-DCLsym/t/vms_dclsym.t

commit e36465968f3fc8c1cc7b2e0e5bd51e296be018aa
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 09:59:50 2011 -0800

Decrease (unbump?) re.pm’s version

b4ab316d increased it unnecessarily, as it had already been increased
since 5.13.9 (by ffedb8c).

M   ext/re/re.pm

commit ae7df08568aa680fd09a6bec35cedc40b725ed23
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 09:59:11 2011 -0800

perldiag: add OK to %s syntax

M   pod/perldiag.pod

commit 39ef1de7756ffe92fb63b1b6b28271df52063c37
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 09:54:25 2011 -0800

perldiag: reflow for 80 cols.

M   pod/perldiag.pod

commit 9d27737627c517b1067b3fe33987aec401008abb
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 09:52:24 2011 -0800

perldiag: typo

M   pod/perldiag.pod
---

Summary of changes:
 ext/VMS-DCLsym/DCLsym.pm  |8 --
 ext/VMS-DCLsym/t/vms_dclsym.t |   46 +++-
 ext/re/re.pm  |2 +-
 pod/perldiag.pod  |   10 
 4 files changed, 51 insertions(+), 15 deletions(-)

diff --git a/ext/VMS-DCLsym/DCLsym.pm b/ext/VMS-DCLsym/DCLsym.pm
index 8eedf7f..9bbfd91 100644
--- a/ext/VMS-DCLsym/DCLsym.pm
+++ b/ext/VMS-DCLsym/DCLsym.pm
@@ -7,7 +7,7 @@ use strict;
 
 # Package globals
 @ISA = ( 'DynaLoader' );
-$VERSION = '1.04';
+$VERSION = '1.05';
 my(%Locsyms) = ( ':ID' = 'LOCAL' );
 my(%Gblsyms) = ( ':ID' = 'GLOBAL');
 my $DoCache = 1;
@@ -18,6 +18,8 @@ my $Cache_set = 0;
 
 sub new {
   my($pkg,$type) = @_;
+  $type ||= 'LOCAL';
+  $type = 'LOCAL' unless $type eq 'GLOBAL';
   bless { TYPE = $type }, $pkg;
 }
 
@@ -73,7 +75,7 @@ sub clearcache {
 # TIEHASH methods
 
 sub TIEHASH {
-  $_[0]-new(@_);
+  shift-new(@_);
 }
 
 sub FETCH {
@@ -262,7 +264,7 @@ Charles Bailey  bai...@newman.upenn.edu
 
 =head1 VERSION
 
-1.01  08-Dec-1996
+1.05  12-Feb-2011
 
 =head1 BUGS
 
diff --git a/ext/VMS-DCLsym/t/vms_dclsym.t b/ext/VMS-DCLsym/t/vms_dclsym.t
index 57f2afb..9124bac 100644
--- a/ext/VMS-DCLsym/t/vms_dclsym.t
+++ b/ext/VMS-DCLsym/t/vms_dclsym.t
@@ -1,14 +1,14 @@
-print 1..15\n;
+print 1..30\n;
 
-require VMS::DCLsym or die failed 1\n;
+require VMS::DCLsym or die not ok 1\n;
 print ok 1\n;
 
-tie %syms, VMS::DCLsym or die failed 2\n;
+tie %syms, VMS::DCLsym or die not ok 2\n;
 print ok 2\n;
 
 $name = 'FOO_'.time();
 $syms{$name} = 'Perl_test';
-print +($! ? (\$! = $!) not  : ''),ok 3\n;
+print +($! ? #(\$! = $!)\nnot  : ''),ok 3\n;
 
 print +($syms{$name} eq 'Perl_test' ? '' : 'not '),ok 4\n;
 
@@ -21,10 +21,9 @@ while (($sym,$val) = each %syms) {
 print +($sym ? '' : 'not '),ok 6\n;
 
 delete $syms{$name};
-print +($! ? (\$! = $!) not  : ''),ok 7\n;
+print +($! ? #(\$! = $!)\nnot  : ''),ok 7\n;
 
 print +(defined($syms{$name}) ? 'not ' : ''),ok 8\n;
-undef %syms;
 
 $obj = new VMS::DCLsym 'GLOBAL';
 print +($obj ? '' : 'not '),ok 9\n;
@@ -39,3 +38,38 @@ print +($val eq 'Another_test'  $tab eq 'GLOBAL' ? '' : 
'not '),ok 13\n;
 
 print +($obj-delsym($name,'LOCAL') ? 'not ' : ''),ok 14\n;
 print +($obj-delsym($name,'GLOBAL') ? '' : 'not '),ok 15\n;
+
+($val,$tab) = $obj-getsym($name);
+print +(defined($val) || defined($tab) ? 'not ' : ''),ok 16\n;
+
+($val) = `Show Symbol/Global $name` =~ /==\s+(\w+)$/;
+print +(defined($val) ? 'not ' : ''),ok 17\n;
+
+tie %gsyms, VMS::DCLsym, 'GLOBAL' or die not ok 18\n;
+print ok 18\n;
+
+print +(tied(%gsyms) =~ /^VMS::DCLsym/ ? '' : 'not '),ok 19\n;
+print +(exists $gsyms{$name} ? 'not ' : ''),ok 20\n;
+
+$gsyms{$name} = 'Perl_test';
+print +($! ? #(\$! = $!)\nnot  : ''),ok 21\n;
+
+print +($gsyms{$name} eq 'Perl_test' ? '' : 'not '),ok 22\n;
+
+($val) = `Show Symbol/Global $name` =~ /==\s+(\w+)$/;
+print +($val eq 'Perl_test' ? '' : 'not '),ok 23\n;
+
+delete $gsyms{$name};
+print +($! ? #(\$! = $!)\nnot  : ''),ok 24\n;
+
+($val,$tab) = $obj-getsym($name);
+print +(defined($val) || defined($tab) ? 'not ' : ''),ok 25\n;
+
+($val) = `Show Symbol/Global $name` =~ /==\s+(\w+)$/;
+print +($val eq 'Perl_test' ? 'not ' : ''),ok 26\n;
+
+print +($syms{':LOCAL'} ?  '' : 'not '),ok 27\n;
+print +($syms{':GLOBAL'} ? 'not ' : ''),ok 28\n;
+
+print +($gsyms{':LOCAL'} ?  'not ' : ''),ok 29\n;
+print +($gsyms{':GLOBAL'} ? '' : 'not '),ok 30\n;
diff --git a/ext/re/re.pm b/ext/re/re.pm
index eb53455..35d2e29 100644
--- a/ext/re/re.pm
+++ b/ext/re/re.pm

[perl.git] branch blead, updated. v5.13.9-478-g275177f

2011-02-14 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/275177ff9dcc1624036d17344db75d3a76f15a0f?hp=a6d65a937c4537ac27f0789d797e081326e9fbd0

- Log -
commit 275177ff9dcc1624036d17344db75d3a76f15a0f
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 15:46:59 2011 -0800

Delete suidperl messages from perldiag

These messages are no longer produced, as of commit cc69b68.

The ‘No -e allowed in setuid scripts‘ message actually changed wording
earlier, in commit ae3f3efde.

M   pod/perldiag.pod

commit 7bef7cf6ddb4644f5f832dc523da92a22e34c3c1
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 15:16:19 2011 -0800

perldiag: typo

M   pod/perldiag.pod

commit b9cc85ad12a6f254083c5601b9f41cac7df6343f
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 15:14:21 2011 -0800

perldiag: reflow some entries for 80 cols.

M   pod/perldiag.pod

commit c794c51b13df47c3c5520f23a3bf0a399cfea942
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 15:06:45 2011 -0800

perldiag: more sorting

This requires a description to be repeated.

M   pod/perldiag.pod

commit 54e0f05ce4bb904f953dde352028f27b07cb1fdf
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 15:02:28 2011 -0800

perldiag: rewording

‘Either’ is not usually used for contrast.

M   pod/perldiag.pod

commit 482a46718095d7739e7c9dd7b68086fcd2489045
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:58:47 2011 -0800

Delete perldiag/Use of package with no arguments

Use of package without arguments is so deprecated that this message
does not even show up any more.

M   pod/perldiag.pod

commit 5a7abfcc8928af68bc5a842da300886aa6b01c11
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:58:31 2011 -0800

perldiag: more sorting

M   pod/perldiag.pod

commit 1da2564871cb0ee1e7d2280433c7521d796abfb2
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:55:13 2011 -0800

perldiag: reflow ‘Use of inherited AUTOLOAD’

diagnostics.pm does not like POD formatting directives spanning
multiple lines.

M   pod/perldiag.pod

commit 905fe053b56f0842d61f1928b3555e306589e995
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:49:16 2011 -0800

perldiag: more sorting

M   pod/perldiag.pod

commit 14ef4c80b4c892c7668e96def2cd69a3275a6067
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:40:52 2011 -0800

perldiag: Fix some weird errors

The word ‘first’ was separated from the rest of the sentence by commit
e2e6a0f18.

Just loading a module is enough to load it. It does not also need to
be imported.

Plus reflow.

M   pod/perldiag.pod

commit 5fecf43045269a8bd971aa4bf5da1e80885c63c2
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:33:43 2011 -0800

perldiag: Expand the ‘Unknown switch condition’ description

Actually, I’m abbreviating much of the existing text, but there are so
many possible conditions now it seems like a good idea.

M   pod/perldiag.pod

commit f01cd1909fe9a5030e50a4e2ff4a0994eb251b46
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 14:19:58 2011 -0800

perlre: Clarify (?(...)|)

• Mention look-around assertions in the list
• It’s the code block’s return value, not the block itself
  that is used

M   pod/perlre.pod

commit c2771421ee5b32bcb9f4a23b2874adf23f41627f
Author: Father Chrysostomos spr...@cpan.org
Date:   Mon Feb 14 13:23:33 2011 -0800

perldiag: more sorting

M   pod/perldiag.pod
---

Summary of changes:
 pod/perldiag.pod |  187 +++--
 pod/perlre.pod   |7 ++-
 2 files changed, 87 insertions(+), 107 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 7771308..1c259ee 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -177,13 +177,6 @@ hash) and then work on that scalar value.  This is 
probably not what
 you meant to do.  See Lperlfunc/grep and Lperlfunc/map for
 alternatives.
 
-=item Args must match #! line
-
-(F) The setuid emulator requires that the arguments Perl was invoked
-with match the arguments specified on the #! line.  Since some systems
-impose a one-argument limit on the #! line, try combining switches;
-for example, turn C-w -U into C-wU.
-
 =item Arg too short for msgsnd
 
 (F) msgsnd() requires a string at least as long as sizeof(long).
@@ -2906,10 +2899,6 @@ for some reason the current debugger (e.g. Fperl5db.pl 
or a CDevel::
 module) didn't define a CDB::sub routine to be called at the beginning
 of each ordinary subroutine call.
 
-=item No B-e allowed in setuid scripts
-
-(F) A setuid

[perl.git] branch blead, updated. v5.13.9-491-gb4af897

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit b4af89720d5c9c91b0b1ba4a3464b23d6ca88ee1
Author: Robin Barker rmbar...@cpan.org
Date:   Wed Feb 9 19:50:55 2011 +

consistent URL links
---

Summary of changes:
 pod/perltodo.pod |   24 +---
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/pod/perltodo.pod b/pod/perltodo.pod
index 6f210dd..ba10a48 100644
--- a/pod/perltodo.pod
+++ b/pod/perltodo.pod
@@ -5,7 +5,7 @@ perltodo - Perl TO-DO List
 =head1 DESCRIPTION
 
 This is a list of wishes for Perl. The most up to date version of this file
-is at http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod
+is at Lhttp://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod
 
 The tasks we think are smaller or easier are listed first. Anyone is welcome
 to work on any of these, but it's a good idea to first contact
@@ -15,9 +15,8 @@ prefer.
 
 Whilst patches to make the list shorter are most welcome, ideas to add to
 the list are also encouraged. Check the perl5-porters archives for past
-ideas, and any discussion about them. One set of archives may be found at:
-
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
+ideas, and any discussion about them. One set of archives may be found at
+Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
 
 What can we offer you in return? Fame, fortune, and everlasting glory? Maybe
 not, but if your patch is incorporated, then we'll add your name to the
@@ -437,7 +436,7 @@ The way @INC is laid out by default, one cannot upgrade 
core (dual-life)
 modules without overwriting files. This causes problems for binary
 package builders.  One possible proposal is laid out in this
 message:
-Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg02380.html.
+Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg02380.html
 
 =head2 -Duse32bit*
 
@@ -525,7 +524,7 @@ bug is fixed in the VC8 and VC9 CRTs (but, of course, the 
directory may still
 not actually be writable if access is indeed denied by DACLs).
 
 For the chdir() issue, see ActiveState bug #74552:
-http://bugs.activestate.com/show_bug.cgi?id=74552
+Lhttp://bugs.activestate.com/show_bug.cgi?id=74552
 
 Therefore, DACLs should be checked both for consistency across CRTs and for
 the correct answer.
@@ -748,7 +747,7 @@ of running Perl code inside the signal handler context. 
(With all the dangers
 of things like Cmalloc corruption that that currently offers us)
 
 For more information see the thread starting with this message:
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00305.html
+Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00305.html
 
 =head2 autovivification
 
@@ -929,7 +928,7 @@ C; is parsed where it is not legal as a statement 
terminator (ie inside
 C{} used as a hashref, C[] or C()) it issues an error something like
 I';' isn't legal inside an expression - if you need multiple statements use a
 do {...} block. See the thread starting at
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html
+Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html
 
 =head2 lexicals used only once
 
@@ -1027,7 +1026,8 @@ arrays as alternations. With it, C/P/w would be roughly 
equivalent to:
 
 do { local $='|'; /\b(?:P)\b/ }
 
-See 
Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-01/msg00400.html
+See
+Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-01/msg00400.html
 for the discussion.
 
 =head2 optional optimizer
@@ -1105,7 +1105,8 @@ See also L/Extend PerlIO and PerlIO::Scalar.
 
 The peephole optimiser converts constants used for hash key lookups to shared
 hash key scalars. Under ithreads, something is undoing this work.
-See 
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-09/msg00793.html
+See
+Lhttp://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-09/msg00793.html
 
 =head2 Store the current pad in the OP slab allocator
 
@@ -1134,7 +1135,8 @@ Note that the slab allocator allocates ops downwards in 
memory, so one would
 have to actually allocate the ops in reverse-execution order to get them
 contiguous in memory in execution order.
 
-See http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131975.html
+See
+Lhttp://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131975.html
 
 Note that running this copy, and then freeing all the old location ops would
 cause their slabs to be freed, which would eliminate possible memory wastage if

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-500-g2e0cfa1

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit 2e0cfa16dea85dd33fe3cbf38f3324f4a8418181
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Feb 15 16:33:24 2011 -0800

[perl #78494] Pipes cause threads to hang on join()

or on close() in either thread.

close() in one thread blocks until close() is called in the other
thread, because both closes are waiting for the child process to end.

Since we have a reference-counting mechanism for the underlying
fileno, we can use that to determine whether close() should wait.

This does not solve the problem of close $OUT block when it has been
duplicated via open $OUT2,  and $OUT2 is still in scope.
---

Summary of changes:
 perlio.c |   31 +++
 perliol.h|1 +
 pod/perldiag.pod |5 +
 pod/perlfunc.pod |4 
 t/op/threads.t   |   12 +++-
 util.c   |   19 +++
 6 files changed, 67 insertions(+), 5 deletions(-)

diff --git a/perlio.c b/perlio.c
index 07e297e..6a092d0 100644
--- a/perlio.c
+++ b/perlio.c
@@ -2455,6 +2455,37 @@ PerlIOUnix_refcnt_dec(int fd)
 return cnt;
 }
 
+int
+PerlIOUnix_refcnt(int fd)
+{
+dTHX;
+int cnt = 0;
+if (fd = 0) {
+   dVAR;
+#ifdef USE_ITHREADS
+   MUTEX_LOCK(PL_perlio_mutex);
+#endif
+   if (fd = PL_perlio_fd_refcnt_size) {
+   /* diag_listed_as: refcnt: fd %d%s */
+   Perl_croak(aTHX_ refcnt: fd %d = refcnt_size %d\n,
+  fd, PL_perlio_fd_refcnt_size);
+   }
+   if (PL_perlio_fd_refcnt[fd] = 0) {
+   /* diag_listed_as: refcnt: fd %d%s */
+   Perl_croak(aTHX_ refcnt: fd %d: %d = 0\n,
+  fd, PL_perlio_fd_refcnt[fd]);
+   }
+   cnt = PL_perlio_fd_refcnt[fd];
+#ifdef USE_ITHREADS
+   MUTEX_UNLOCK(PL_perlio_mutex);
+#endif
+} else {
+   /* diag_listed_as: refcnt: fd %d%s */
+   Perl_croak(aTHX_ refcnt: fd %d  0\n, fd);
+}
+return cnt;
+}
+
 void
 PerlIO_cleanup(pTHX)
 {
diff --git a/perliol.h b/perliol.h
index 34065e5..a51f99b 100644
--- a/perliol.h
+++ b/perliol.h
@@ -279,6 +279,7 @@ PERL_EXPORT_C IVPerlIOUnix_pushed(pTHX_ PerlIO *f, 
const char *mode, SV
 PERL_EXPORT_C SSize_t   PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t 
count);
 PERL_EXPORT_C int   PerlIOUnix_refcnt_dec(int fd);
 PERL_EXPORT_C void  PerlIOUnix_refcnt_inc(int fd);
+PERL_EXPORT_C int   PerlIOUnix_refcnt(int fd);
 PERL_EXPORT_C IVPerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int 
whence);
 PERL_EXPORT_C Off_t PerlIOUnix_tell(pTHX_ PerlIO *f);
 PERL_EXPORT_C SSize_t   PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, 
Size_t count);
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 1c259ee..7a3b962 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -3906,6 +3906,11 @@ which is why it's currently left out of your copy.
 believes it found an infinite loop in the C@ISA hierarchy.  This is a
 crude check that bails out after 100 levels of C@ISA depth.
 
+=item refcnt: fd %d%s
+
+(P) Perl's I/O implementation failed an internal consistency check. If
+you see this message, something is very wrong.
+
 =item Reference found where even-sized list expected
 
 (W misc) You gave a single reference where Perl was expecting a list
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index d85b3d7..2047dd6 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -910,6 +910,10 @@ on the pipe to exit--in case you wish to look at the 
output of the pipe
 afterwards--and implicitly puts the exit status value of that command into
 C$? and C${^CHILD_ERROR_NATIVE}.
 
+If there are multiple threads running, Cclose on a filehandle from a
+piped open returns true without waiting for the child process to terminate,
+if the filehandle is still open in another thread.
+
 Closing the read end of a pipe before the process writing to it at the
 other end is done writing results in the writer receiving a SIGPIPE.  If
 the other end can't handle that, be sure to read all the data before
diff --git a/t/op/threads.t b/t/op/threads.t
index 240c00f..4b731f0 100644
--- a/t/op/threads.t
+++ b/t/op/threads.t
@@ -16,7 +16,7 @@ BEGIN {
exit 0;
  }
 
- plan(23);
+ plan(24);
 }
 
 use strict;
@@ -349,4 +349,14 @@ threads-create(
 
 EOI
 
+# [perl #78494] Pipes shared between threads block when closed
+watchdog 10;
+{
+  my $perl = which_perl;
+  $perl = qq'$perl' if $perl =~ /\s/;
+  open(my $OUT, |$perl) || die(ERROR: $!);
+  threads-create(sub { })-join;
+  ok(1, Pipes shared between threads do not block when closed);
+}
+
 # EOF
diff --git a/util.c b/util.c
index 22940dd..4b4bfe1 100644

[perl.git] branch blead, updated. v5.13.9-502-g279627b

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/279627b48dfab08c484fbbb6c05d3964fa9529d2?hp=938f3c77e2478ef3e761d215063fefeb11e4aae9

- Log -
commit 279627b48dfab08c484fbbb6c05d3964fa9529d2
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Feb 15 18:20:43 2011 -0800

perldelta entries
---

Summary of changes:
 pod/perldelta.pod |  132 +
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 527d915..e28ce51 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -112,6 +112,23 @@ your code, you should use GvGP_set() instead. (c43ae56)
 
 This function shouldn't be called from XS code. (4c2e113)
 
+=head2 Unreferenced objects in global destruction
+
+The fix for [perl #36347], which made sure that destructors were called on
+unreferenced objects, broke the tests for three CPAN modules, which
+apparently rely on the bug.
+
+To provide more time for fixing them (as this is such a minor bug), we
+have reverted the fix until after perl 5.14.0.
+
+This resolves [perl #82542] and other related tickets.
+
+=head2 Cclose on shared pipes
+
+The Cclose function no longer waits for the child process to exit if the
+underlying file descriptor is still in use by another thread, to avoid
+deadlocks. It returns true in such cases.
+
 =head1 Deprecations
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
@@ -165,6 +182,14 @@ prerequisites and version constraints as defined in the 
LCPAN::Meta::Spec.
 
 =item *
 
+CCarp has been upgraded from version 1.19 to 1.20.
+
+[perl #82854] It now avoids using regular expressions that cause perl to
+load its Unicode tables, in order to avoid the 'BEGIN not safe after
+errors' error that will ensue if there has been a syntax error.
+
+=item *
+
 CCGI has been upgraded from version 3.51 to 3.52
 
 =item *
@@ -176,6 +201,22 @@ using Digest::SHA for CPAN checksums.
 
 =item *
 
+Cdiagnostics has been upgraded from version 1.21 to 1.22.
+
+It now renders pod links slightly better, and has been taught to find
+descriptions for messages that share their descriptions with other
+messages.
+
+=item *
+
+CIO::Select has been upgraded from version 1.17 to 1.18.
+
+It now allows IO::Handle objects (and objects in derived classes) to be
+removed from an IO::Select set even if the underlying file descriptor is
+closed or invalid.
+
+=item *
+
 CIPC::Cmd has been upgraded from version 0.68 to 0.70
 
 =item *
@@ -184,6 +225,10 @@ CHTTP::Tiny has been upgraded from version 0.009 to 0.010
 
 =item *
 
+CMath::BigInt has been upgraded from version 1.99_04 to 1.991.
+
+=item *
+
 CModule::Build has been upgraded from version 0.3607 to 0.3622.
 
 A notable change is the deprecation of several modules.
@@ -202,6 +247,12 @@ CModule::Metadata has been upgraded from version 
1.03 to 1.04.
 
 =item *
 
+Coverload has been upgraded from version 1.12 to 1.13.
+
+The documentation has greatly improved. See L/Documentation below.
+
+=item *
+
 CParse::CPAN::Meta has been upgraded from version 1.40 to 1.4401.
 
 The latest Parse::CPAN::Meta can now read YAML or JSON files using
@@ -209,6 +260,12 @@ LCPAN::Meta::YAML and LJSON::PP, which are now part of 
the Perl core.
 
 =item *
 
+Cre has been upgraded from version 0.16 to 0.17.
+
+It now supports the double-a flag: Cuse re '/aa';
+
+=item *
+
 CTerm::UI has been upgraded from version 0.24 to 0.26
 
 =item *
@@ -220,6 +277,20 @@ module to the XS version.`
 
 =item *
 
+CVMS::DCLsym has been upgraded from version 1.04 to 1.05.
+
+Two bugs have been fixed [perl #84086]:
+
+The symbol table name was lost when tying a hash, due to a thinko in
+CTIEHASH. The result was that all tied hashes interacted with the
+local symbol table.
+
+Unless a symbol table name had been explicitly specified in the call
+to the constructor, querying the special key ':LOCAL' failed to
+identify objects connected to the local symbol table.
+
+=item *
+
 Added new function CUnicode::UCD::num().  This function will return the
 numeric value of the string passed it; Cundef if the string in its
 entirety has no safe numeric value.
@@ -270,6 +341,17 @@ XXX Changes which significantly change existing files in 
Fpod/ go here.
 However, any changes to Fpod/perldiag.pod should go in the L/Diagnostics
 section.
 
+=head3 Loverload
+
+=over 4
+
+=item *
+
+Loverload's documentation has practically undergone a rewrite. It
+is now much more straightforward and clear.
+
+=back
+
 =head3 Lperlhack and perlrepository
 
 =over 4
@@ -353,6 +435,12 @@ deprecated so as to reserve its use for Perl itself in a 
future release.
 C\p implies Unicode matching rules, which are likely going to be
 different than the locale's.
 
+=item panic: gp_free failed to free glob pointer - something

[perl.git] branch blead, updated. v5.13.9-504-g96090e4

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/96090e4f0acf1d24051c680595b4740bd24cb69a?hp=c05760c68edc298aadab73da2781ba0fe1cf24b6

- Log -
commit 96090e4f0acf1d24051c680595b4740bd24cb69a
Author: Apocalypse p...@0ne.us
Date:   Tue Feb 15 18:38:04 2011 -0700

Fix bad pod links found by Test::Pod::LinkCheck
---

Summary of changes:
 pod/perldata.pod |4 ++--
 pod/perldebguts.pod  |2 +-
 pod/perldebug.pod|2 +-
 pod/perldiag.pod |2 +-
 pod/perlembed.pod|4 ++--
 pod/perlfaq7.pod |3 +--
 pod/perlfaq8.pod |2 +-
 pod/perlform.pod |2 +-
 pod/perlfunc.pod |   21 -
 pod/perlglossary.pod |   11 +--
 pod/perlinterp.pod   |2 +-
 pod/perllocale.pod   |2 +-
 pod/perlmod.pod  |2 +-
 pod/perlobj.pod  |2 +-
 pod/perlperf.pod |4 ++--
 pod/perlport.pod |2 +-
 pod/perlre.pod   |4 ++--
 pod/perlreapi.pod|2 +-
 pod/perlrun.pod  |4 ++--
 pod/perlsub.pod  |2 +-
 pod/perltodo.pod |2 +-
 pod/perlvar.pod  |2 +-
 pod/perlvms.pod  |6 +++---
 23 files changed, 45 insertions(+), 44 deletions(-)

diff --git a/pod/perldata.pod b/pod/perldata.pod
index 03191b5..1b1cbf4 100644
--- a/pod/perldata.pod
+++ b/pod/perldata.pod
@@ -862,8 +862,8 @@ Cuse strict 'refs' forbids such practice.
 Another way to create anonymous filehandles is with the Symbol
 module or with the IO::Handle module and its ilk.  These modules
 have the advantage of not hiding different types of the same name
-during the local().  See the bottom of Lperlfunc/open() for an
-example.
+during the local().  See the bottom of Lperlfunc/open FILEHANDLE
+for an example.
 
 =head1 SEE ALSO
 
diff --git a/pod/perldebguts.pod b/pod/perldebguts.pod
index d6bffb1..e5970a3 100644
--- a/pod/perldebguts.pod
+++ b/pod/perldebguts.pod
@@ -151,7 +151,7 @@ after the debugger completes its own initialization.)
 After the rc file is read, the debugger reads the PERLDB_OPTS
 environment variable and uses it to set debugger options. The
 contents of this variable are treated as if they were the argument
-of an Co ... debugger command (q.v. in Lperldebug/Options).
+of an Co ... debugger command (q.v. in Lperldebug/Configurable Options).
 
 =head3 Debugger Internal Variables
 
diff --git a/pod/perldebug.pod b/pod/perldebug.pod
index 07aa302..8fbb231 100644
--- a/pod/perldebug.pod
+++ b/pod/perldebug.pod
@@ -654,7 +654,7 @@ Xdebugger option, dieLevel
 Level of verbosity.  By default, the debugger leaves your exceptions
 and warnings alone, because altering them can break correctly running
 programs.  It will attempt to print a message when uncaught INT, BUS, or
-SEGV signals arrive.  (But see the mention of signals in LBUGS below.)
+SEGV signals arrive.  (But see the mention of signals in L/BUGS below.)
 
 To disable this default safe mode, set these values to something higher
 than 0.  At a level of 1, you get backtraces upon receiving any kind
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 7a3b962..087f906 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -2413,7 +2413,7 @@ an undefined value for the length. See Lperlfunc/pack.
 =item Lexing code attempted to stuff non-Latin-1 character into Latin-1 input
 
 (F) An extension is attempting to insert text into the current parse
-(using Llex_stuff_pvn_flags|perlapi/lex_stuff_pvn_flags or similar), but 
tried to insert a character
+(using Llex_stuff_pvn|perlapi/lex_stuff_pvn or similar), but tried to insert 
a character
 that couldn't be part of the current input. This is an inherent pitfall
 of the stuffing mechanism, and one of the reasons to avoid it.  Where it
 is necessary to stuff, stuffing only plain ASCII is recommended.
diff --git a/pod/perlembed.pod b/pod/perlembed.pod
index 1144e43..8edff17 100644
--- a/pod/perlembed.pod
+++ b/pod/perlembed.pod
@@ -1109,8 +1109,8 @@ you will have to write the explicit full form
 
 Perl_warn(aTHX_ %d bottles of beer on the wall, bottlecount);
 
-(See Lperlguts/Background and PERL_IMPLICIT_CONTEXT for the explanation
-of the CaTHX_. )  Hiding the short forms is very useful for avoiding
+(See Lperlguts/Background and PERL_IMPLICIT_CONTEXT for the explanation
+of the CaTHX_. )  Hiding the short forms is very useful for avoiding
 all sorts of nasty (C preprocessor or otherwise) conflicts with other
 software packages (Perl defines about 2400 APIs with these short names,
 take or leave few hundred, so there certainly is room for conflict.)
diff --git a/pod/perlfaq7.pod b/pod/perlfaq7.pod
index 983825b..5d7a1e8 100644
--- a/pod/perlfaq7.pod
+++ b/pod/perlfaq7.pod
@@ -633,8 +633,7 @@ Why do you want to do that? :-)
 
 If you want to override a predefined function, such as open(),
 then you'll have to import the new definition from a 

[perl.git] branch blead, updated. v5.13.9-505-gb6538e4

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/b6538e4f5df9d5d432ef57d83146309a93cfe4c1?hp=96090e4f0acf1d24051c680595b4740bd24cb69a

- Log -
commit b6538e4f5df9d5d432ef57d83146309a93cfe4c1
Author: Tom Christiansen tchr...@perl.com
Date:   Tue Feb 15 21:30:06 2011 -0800

multifile patch against blead/pod/*.pod

I mostly fixed spelling mistakes, some of very long standing,
but a few files got more attentive word-smithying.  I've updated:

pod/perl.pod

pod/perldelta.pod
pod/perl592delta.pod
pod/perl5120delta.pod
pod/perl51310delta.pod
pod/perl5139delta.pod

pod/perlfunc.pod
pod/perlop.pod

pod/perlrebackslash.pod
pod/perlrecharclass.pod

pod/perlutil.pod

pod/perlhack.pod
pod/perlintern.pod
pod/perlnetware.pod
pod/perlpolicy.pod
---

Summary of changes:
 README.netware  |4 +-
 mg.c|2 +-
 pod/perl.pod|2 +-
 pod/perl5120delta.pod   |4 +-
 pod/perl5139delta.pod   |2 +-
 pod/perl592delta.pod|2 +-
 pod/perldelta.pod   |2 +-
 pod/perlfunc.pod|3 +-
 pod/perlhack.pod|2 +-
 pod/perlop.pod  |   10 +-
 pod/perlpolicy.pod  |8 +-
 pod/perlrebackslash.pod |  145 -
 pod/perlrecharclass.pod |  187 ---
 pod/perlutil.pod|2 +-
 14 files changed, 195 insertions(+), 180 deletions(-)

diff --git a/README.netware b/README.netware
index c83fc94..6720a58 100644
--- a/README.netware
+++ b/README.netware
@@ -118,8 +118,8 @@ Isys:\perl\system folder.  Copy this to Isys:\system 
folder.
 
 Example: At the command prompt Type nmake nwinstall.
   This will install NetWare Perl on the NetWare Server.
-  Similiarly if you type nmake install,
-  This will cause the binaries to be installed on the local machine.
+  Similarly, if you type nmake install,
+  this will cause the binaries to be installed on the local machine.
   (Typically under the c:\perl folder)
 
 =head1 BUILD NEW EXTENSIONS
diff --git a/mg.c b/mg.c
index cc13531..c58531e 100644
--- a/mg.c
+++ b/mg.c
@@ -1746,7 +1746,7 @@ Perl_magic_setnkeys(pTHX_ SV *sv, MAGIC *mg)
 
 Invoke a magic method (like FETCH).
 
-* sv and mg are the tied thinggy and the tie magic;
+* sv and mg are the tied thingy and the tie magic;
 * meth is the name of the method to call;
 * argc is the number of args (in addition to $self) to pass to the method;
the args themselves are any values following the argc argument.
diff --git a/pod/perl.pod b/pod/perl.pod
index 06de47e..29d0a39 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -273,7 +273,7 @@ Perl was originally a language optimized for scanning 
arbitrary
 text files, extracting information from those text files, and printing
 reports based on that information.  It quickly became a good language
 for many system management tasks. Over the years, Perl has grown into
-a general-purpose progammming language. It's widely used for everything
+a general-purpose programming language. It's widely used for everything
 from quick one-liners to full-scale application development.
 
 The language is intended to be practical (easy to use, efficient,
diff --git a/pod/perl5120delta.pod b/pod/perl5120delta.pod
index cfee564..08c4285 100644
--- a/pod/perl5120delta.pod
+++ b/pod/perl5120delta.pod
@@ -1515,7 +1515,7 @@ The documentation for C$1 in perlvar.pod has been 
clarified.
 
 =item *
 
-C\N{U+Iwide hex char} is now documented.
+C\N{U+Icode point} is now documented.
 
 =back
 
@@ -1666,7 +1666,7 @@ C\N{...} now compiles better, always forces UTF-8 
internal representation
 
 Perl's developers have fixed several problems with the recognition of
 C\N{...} constructs.  As part of this, perl will store any scalar
-or regex containing C\N{Iname} or C\N{U+Iwide hex char} in its
+or regex containing C\N{Iname} or C\N{U+Icode point} in its
 definition in UTF-8 format. (This was true previously for all occurrences
 of C\N{Iname} that did not use a custom translator, but now it's
 always true.)
diff --git a/pod/perl5139delta.pod b/pod/perl5139delta.pod
index 0a4b5e0..fb9bf36 100644
--- a/pod/perl5139delta.pod
+++ b/pod/perl5139delta.pod
@@ -486,7 +486,7 @@ structures have been removed.  These are: CRxf_Pmf_LOCALE,
 CRxf_Pmf_UNICODE, and CPMf_LOCALE.  Instead there are encodes and
 three static in-line functions for accessing the information:
 Cget_regex_charset(), Cset_regex_charset(), and 
Cget_regex_charset_name(),
-which are defined in the places where the orginal flags were.
+which are defined in the places where the original flags were.
 
 =item *
 
diff --git 

[perl.git] branch blead, updated. v5.13.9-506-g4082aca

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/4082acabd8a6084de82f764171b9b61f3fa78ba1?hp=b6538e4f5df9d5d432ef57d83146309a93cfe4c1

- Log -
commit 4082acabd8a6084de82f764171b9b61f3fa78ba1
Author: Tom Christiansen tchr...@perl.com
Date:   Tue Feb 15 21:44:15 2011 -0800

More POD corrections

[Extracted by the committer from
 nntp://nntp.perl.org/19662.1297825146@chthon]
---

Summary of changes:
 ext/B/B.pm |4 ++--
 sv.c   |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ext/B/B.pm b/ext/B/B.pm
index 8f3c975..91dc5f5 100644
--- a/ext/B/B.pm
+++ b/ext/B/B.pm
@@ -15,7 +15,7 @@ require Exporter;
 # walkoptree comes from B.xs
 
 BEGIN {
-$B::VERSION = '1.27';
+$B::VERSION = '1.28';
 
 @B::EXPORT_OK = qw(minus_c ppname save_BEGINs
   class peekop cast_I32 cstring cchar hash threadsv_names
@@ -543,7 +543,7 @@ per-thread threadsv variables.
 
 =back
 
-=head2 Exported utility variabiles
+=head2 Exported utility variables
 
 =over 4
 
diff --git a/sv.c b/sv.c
index e2cc8d8..4bd6850 100644
--- a/sv.c
+++ b/sv.c
@@ -4661,7 +4661,7 @@ we do the copy, and is also used locally. If 
CSV_COW_DROP_PV is set
 then a copy-on-write scalar drops its PV buffer (if any) and becomes
 SvPOK_off rather than making a copy. (Used where this scalar is about to be
 set to some other value.) In addition, the Cflags parameter gets passed to
-Csv_unref_flags() when unrefing. Csv_force_normal calls this function
+Csv_unref_flags() when unreffing. Csv_force_normal calls this function
 with flags set to 0.
 
 =cut

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-508-g12605ff

2011-02-15 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/12605ff99dc0b98fd730bbd2380934b87b8b32f5?hp=4082acabd8a6084de82f764171b9b61f3fa78ba1

- Log -
commit 12605ff99dc0b98fd730bbd2380934b87b8b32f5
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Feb 15 22:31:23 2011 -0800

add refcnt_inc/dec to perldiag

M   perlio.c
M   pod/perldiag.pod
M   t/porting/diag.t

commit 962bcf2846ff67ac4c58856ea567b5bf0e9fb52e
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Feb 15 22:27:47 2011 -0800

more perldelta entries

M   pod/perldelta.pod
---

Summary of changes:
 perlio.c  |5 +
 pod/perldelta.pod |9 +
 pod/perldiag.pod  |4 
 t/porting/diag.t  |5 -
 4 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/perlio.c b/perlio.c
index 6a092d0..42bdb84 100644
--- a/perlio.c
+++ b/perlio.c
@@ -2412,6 +2412,7 @@ PerlIOUnix_refcnt_inc(int fd)
 
PL_perlio_fd_refcnt[fd]++;
if (PL_perlio_fd_refcnt[fd] = 0) {
+   /* diag_listed_as: refcnt_inc: fd %d%s */
Perl_croak(aTHX_ refcnt_inc: fd %d: %d = 0\n,
   fd, PL_perlio_fd_refcnt[fd]);
}
@@ -2422,6 +2423,7 @@ PerlIOUnix_refcnt_inc(int fd)
MUTEX_UNLOCK(PL_perlio_mutex);
 #endif
 } else {
+   /* diag_listed_as: refcnt_inc: fd %d%s */
Perl_croak(aTHX_ refcnt_inc: fd %d  0\n, fd);
 }
 }
@@ -2437,10 +2439,12 @@ PerlIOUnix_refcnt_dec(int fd)
MUTEX_LOCK(PL_perlio_mutex);
 #endif
if (fd = PL_perlio_fd_refcnt_size) {
+   /* diag_listed_as: refcnt_dec: fd %d%s */
Perl_croak(aTHX_ refcnt_dec: fd %d = refcnt_size %d\n,
   fd, PL_perlio_fd_refcnt_size);
}
if (PL_perlio_fd_refcnt[fd] = 0) {
+   /* diag_listed_as: refcnt_dec: fd %d%s */
Perl_croak(aTHX_ refcnt_dec: fd %d: %d = 0\n,
   fd, PL_perlio_fd_refcnt[fd]);
}
@@ -2450,6 +2454,7 @@ PerlIOUnix_refcnt_dec(int fd)
MUTEX_UNLOCK(PL_perlio_mutex);
 #endif
 } else {
+   /* diag_listed_as: refcnt_dec: fd %d%s */
Perl_croak(aTHX_ refcnt_dec: fd %d  0\n, fd);
 }
 return cnt;
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 8b571be..ae468d1 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -192,6 +192,10 @@ prerequisites and version constraints as defined in the 
LCPAN::Meta::Spec.
 
 =item *
 
+CB has been upgraded from version 1.27 to 1.28.
+
+=item *
+
 CCarp has been upgraded from version 1.19 to 1.20.
 
 [perl #82854] It now avoids using regular expressions that cause perl to
@@ -451,6 +455,11 @@ This new error is triggered if a destructor called on an 
object in a
 typeglob that is being freed creates a new typeglob entry containing an
 object with a destructor that creates a new entry containing an object
 
+=item refcnt: fd %d%s
+
+This new error only occurs if a internal consistency check fails when a
+pipe is about to be closed.
+
 =back
 
 =head2 Changes to Existing Diagnostics
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 087f906..0187cbc 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -3906,8 +3906,12 @@ which is why it's currently left out of your copy.
 believes it found an infinite loop in the C@ISA hierarchy.  This is a
 crude check that bails out after 100 levels of C@ISA depth.
 
+=item refcnt_dec: fd %d%s
+
 =item refcnt: fd %d%s
 
+=item refcnt_inc: fd %d%s
+
 (P) Perl's I/O implementation failed an internal consistency check. If
 you see this message, something is very wrong.
 
diff --git a/t/porting/diag.t b/t/porting/diag.t
index f001d94..cc93874 100644
--- a/t/porting/diag.t
+++ b/t/porting/diag.t
@@ -459,11 +459,6 @@ Perls since %s too modern--this is %s, stopped
 ptr wrong %p != %p fl=%x nl=%p e=%p for %d
 Recompile perl with -DDEBUGGING to use -D switch (did you mean -d ?)
 Recursive call to Perl_load_module in PerlIO_find_layer
-refcnt_dec: fd %d  0
-refcnt_dec: fd %d: %d = 0
-refcnt_dec: fd %d = refcnt_size %d
-refcnt_inc: fd %d  0
-refcnt_inc: fd %d: %d = 0
 Reversed %c= operator
 Runaway prototype
 %s(%.0

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-517-gcaf70b5

2011-02-16 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit caf70b5c97d50a1b6f927d49331651d7d4bc2bff
Author: Michael Stevens mstev...@etla.org
Date:   Wed Feb 16 17:41:44 2011 +

Fix pod warnings in perlfaq4.pod
---

Summary of changes:
 pod/perlfaq4.pod |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pod/perlfaq4.pod b/pod/perlfaq4.pod
index e33c2d3..1cbea50 100644
--- a/pod/perlfaq4.pod
+++ b/pod/perlfaq4.pod
@@ -430,7 +430,7 @@ Clocaltime that returns an object:
use Time::Piece;
my $day_of_year  = localtime-yday;
my $week_of_year = localtime-week;
-   
+
 The CDate::Calc module provides two functions to calculate these too:.
 
use Date::Calc;
@@ -480,7 +480,7 @@ CTime::Seconds object:
 
my $diff = $date1 - $date2;
print The difference is , $date_diff-days,  days\n;
-   
+
 If you want to work with formatted dates, the CDate::Manip,
 CDate::Calc, or CDateTime modules can help you.
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-525-g8a50e6a

2011-02-17 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/8a50e6a352a6a680bbd1727b941e0d0101edea90?hp=14f183f169629cf524cc7708b55b1191ecf594d2

- Log -
commit 8a50e6a352a6a680bbd1727b941e0d0101edea90
Author: Father Chrysostomos spr...@cpan.org
Date:   Wed Feb 16 20:11:52 2011 -0800

Some minor perlebcdic.pod clean-up
---

Summary of changes:
 pod/perlebcdic.pod |   54 ++--
 1 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/pod/perlebcdic.pod b/pod/perlebcdic.pod
index f6cf3ba..6affdd7 100644
--- a/pod/perlebcdic.pod
+++ b/pod/perlebcdic.pod
@@ -8,7 +8,7 @@ perlebcdic - Considerations for running Perl on EBCDIC platforms
 
 An exploration of some of the issues facing Perl programmers
 on EBCDIC based computers.  We do not cover localization, 
-internationalization, or multi byte character set issues other
+internationalization, or multi-byte character set issues other
 than some discussion of UTF-8 and UTF-EBCDIC.
 
 Portions that are still incomplete are marked with XXX.
@@ -26,7 +26,7 @@ set of
 integers running from 0 to 127 (decimal) that imply character 
 interpretation by the display and other systems of computers.  
 The range 0..127 can be covered by setting the bits in a 7-bit binary 
-digit, hence the set is sometimes referred to as a 7-bit ASCII.  
+digit, hence the set is sometimes referred to as 7-bit ASCII.  
 ASCII was described by the American National Standards Institute 
 document ANSI X3.4-1986.  It was also described by ISO 646:1991 
 (with localization for currency symbols).  The full ASCII set is 
@@ -63,10 +63,10 @@ also known as CCSID 819 (or sometimes 0819 or even 00819).
 =head2 EBCDIC
 
 The Extended Binary Coded Decimal Interchange Code refers to a 
-large collection of single and multi byte coded character sets that are
+large collection of single- and multi-byte coded character sets that are
 different from ASCII or ISO 8859-1 and are all slightly different from each
 other; they typically run on host computers.  The EBCDIC encodings derive from
-8 bit byte extensions of Hollerith punched card encodings.  The layout on the
+8-bit byte extensions of Hollerith punched card encodings.  The layout on the
 cards was such that high bits were set for the upper and lower case alphabet
 characters [a-z] and [A-Z], but there were gaps within each Latin alphabet
 range.
@@ -239,7 +239,7 @@ s/CAPITAL LETTER// in some cases, and s/SMALL LETTER 
([A-Z])/\l$1/
 in some other cases.  The names of the controls listed here are 
 the Unicode Version 1 names, except for the few that don't have names, in which
 case the names in the Wikipedia article were used
-(Lhttp://en.wikipedia.org/wiki/C0_and_C1_control_codes.
+(Lhttp://en.wikipedia.org/wiki/C0_and_C1_control_codes).
 The differences between the 0037 and 1047 sets are 
 flagged with ***.  The differences between the 1047 and POSIX-BC sets 
 are flagged with ###.  All ord() numbers listed are decimal.  If you 
@@ -673,7 +673,7 @@ However, it would be unwise to write tests such as:
 Obviously the first of these will fail to distinguish most ASCII platforms
 from either a CCSID 0037, a 1047, or a POSIX-BC EBCDIC platform since \r eq 
 chr(13) under all of those coded character sets.  But note too that 
-because \n is chr(13) and \r is chr(10) on the MacIntosh (which is an 
+because \n is chr(13) and \r is chr(10) on the Macintosh (which is an 
 ASCII platform) the second C$is_ascii test will lead to trouble there.
 
 To determine whether or not perl was built under an EBCDIC 
@@ -690,7 +690,7 @@ In order to convert a string of characters from one 
character set to
 another a simple list of numbers, such as in the right columns in the
 above table, along with perl's tr/// operator is all that is needed.  
 The data in the table are in ASCII/Latin1 order, hence the EBCDIC columns
-provide easy to use ASCII/Latin1 to EBCDIC operations that are also easily 
+provide easy-to-use ASCII/Latin1 to EBCDIC operations that are also easily 
 reversed.
 
 For example, to convert ASCII/Latin1 to code page 037 take the output of the
@@ -750,11 +750,11 @@ or the inverse map:
 # OS/390 or z/OS example
 $ebcdic_data = `echo '$ascii_data'| iconv -f ISO8859-1 -t IBM-1047`
 
-For other perl based conversion options see the Convert::* modules on CPAN.
+For other perl-based conversion options see the Convert::* modules on CPAN.
 
 =head2 C RTL
 
-The OS/390 and z/OS C run time libraries provide _atoe() and _etoa() functions.
+The OS/390 and z/OS C run-time libraries provide _atoe() and _etoa() functions.
 
 =head1 OPERATOR DIFFERENCES
 
@@ -908,7 +908,7 @@ See the discussion of pack() above.
 
 =head1 REGULAR EXPRESSION DIFFERENCES
 
-As of perl 5.005_03 the letter range regular expression such as 
+As of perl 5.005_03

[perl.git] branch blead, updated. v5.13.9-526-gb5a55c7

2011-02-17 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/b5a55c7b393b19f953ebad5b08181d6af1a77b63?hp=8a50e6a352a6a680bbd1727b941e0d0101edea90

- Log -
commit b5a55c7b393b19f953ebad5b08181d6af1a77b63
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 17 06:28:47 2011 -0800

Minor correction to perldelta
---

Summary of changes:
 pod/perldelta.pod |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 3ecd7b6..d94a300 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -750,7 +750,8 @@ compiled (d1bfb64, 2df5bdd, 0d311cd and 6012dc8)
 
 =item *
 
-[perl #81750] When strict 'refs' mode is off, C%{...} returns Cundef if
+[perl #81750] When strict 'refs' mode is off,
+C%{...} in rvalue context returns Cundef if
 its argument is undefined. An optimisation introduced in perl 5.12.0 to
 make Ckeys %{...} faster when used as a boolean did not take this into
 account, causing Ckeys %{+undef} (and Ckeys %$foo when C$foo is

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-531-gc22d665

2011-02-17 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/c22d665b55f24cd837419195a9ef11b09877c9cf?hp=3acb769b7e0a362f74c892536b04646fe37d0929

- Log -
commit c22d665b55f24cd837419195a9ef11b09877c9cf
Author: Leon Timmermans faw...@gmail.com
Date:   Sat Feb 12 22:19:57 2011 +0100

Unblock signal-mask on error for unsafe signals
---

Summary of changes:
 mg.c   |   16 ++--
 t/op/sigdispatch.t |8 +++-
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/mg.c b/mg.c
index c58531e..5b6b339 100644
--- a/mg.c
+++ b/mg.c
@@ -3106,15 +3106,27 @@ Perl_sighandler(int sig)
 
 POPSTACK;
 if (SvTRUE(ERRSV)) {
-#if !defined(PERL_MICRO)  !defined(HAS_SIGPROCMASK)
+#ifndef PERL_MICRO
/* Handler died, for example to get out of a restart-able read().
 * Before we re-do that on its behalf re-enable the signal which was
 * blocked by the system when we entered.
 */
+#ifdef HAS_SIGPROCMASK
+#ifdef HAS_SIGACTION
+   if (sip)
+#endif
+   {
+   sigset_t set;
+   sigemptyset(set);
+   sigaddset(set,sig);
+   sigprocmask(SIG_UNBLOCK, set, NULL);
+   }
+#else
/* Not clear if this will work */
(void)rsignal(sig, SIG_IGN);
(void)rsignal(sig, PL_csighandlerp);
-#endif /* !PERL_MICRO  !HAS_SIGPROCMASK*/
+#endif
+#endif /* !PERL_MICRO */
die_sv(ERRSV);
 }
 cleanup:
diff --git a/t/op/sigdispatch.t b/t/op/sigdispatch.t
index e3c8fdb..5a5fc14 100644
--- a/t/op/sigdispatch.t
+++ b/t/op/sigdispatch.t
@@ -9,7 +9,7 @@ BEGIN {
 use strict;
 use Config;
 
-plan tests = 12;
+plan tests = 13;
 
 watchdog(10);
 
@@ -70,4 +70,10 @@ SKIP: {
 POSIX::sigprocmask(POSIX::SIG_UNBLOCK, $new, $old);
 ok $old-ismember(POSIX::SIGUSR1), 'SIGUSR1 was still blocked';
 is $gotit, 2, 'Received fifth signal';
+
+# test unsafe signal handlers in combination with exceptions
+my $action = POSIX::SigAction-new(sub { $gotit--, die }, 
POSIX::SigSet-new, 0);
+POSIX::sigaction(POSIX::SIGUSR1, $action);
+eval { kill SIGUSR1, $$ } for 1..2;
+is $gotit, 0, 'Received both signals';
 }

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-541-gc905bd8

2011-02-17 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit c905bd843b0efcc77642a18ccc9f576600597f18
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 17 18:28:42 2011 -0800

Some missing hyphens in perlfaq*

M   pod/perlfaq.pod
M   pod/perlfaq4.pod
M   pod/perlfaq6.pod

commit 0a0b6c96e6042658aa123b3990724be593a2bb63
Author: Leon Timmermans faw...@gmail.com
Date:   Thu Feb 17 18:04:00 2011 -0800

[perl #84358] Removing AutoLoader from DynaLoader

DynaLoader currently uses Autoloader. This was an optimization going
back to perl 5.000 in 1994. However, this implementation detail leaks in
a rather troublesome way.

DynaLoader is used by subclassing it. Because of this, when you call
some undefined method on an instance of any class that derives from
DynaLoader (directly or indirectly) you do not get this error message:

Can't locate object method undefined_method via package Foo

But this rather cryptic error:

Can't locate auto/Foo/undefined_m.al in @INC (@INC contains:
/etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10
/usr/local/lib/site_perl .)

This is totally incomprehensible for anyone who isn't familiar with
what's going on. It was rather a premature optimization anyway if you
ask me, on my machine it's just 66 non-empty lines of code that are
being autoloaded.

Therefore, I think AutoLoader should be removed from DynaLoader.

M   ext/DynaLoader/DynaLoader_pm.PL
---

Summary of changes:
 ext/DynaLoader/DynaLoader_pm.PL |   18 ++
 pod/perlfaq.pod |4 ++--
 pod/perlfaq4.pod|2 +-
 pod/perlfaq6.pod|2 +-
 4 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
index a86557e..9ea8343 100644
--- a/ext/DynaLoader/DynaLoader_pm.PL
+++ b/ext/DynaLoader/DynaLoader_pm.PL
@@ -88,9 +88,6 @@ BEGIN {
 $VERSION = '1.12';
 }
 
-require AutoLoader;
-*AUTOLOAD = \AutoLoader::AUTOLOAD;
-
 use Config;
 
 # enable debug/trace messages from DynaLoader perl code
@@ -389,19 +386,6 @@ sub bootstrap {
 $xs(@args);
 }
 
-
-#sub _check_file {   # private utility to handle dl_expandspec vs -f tests
-#my($file) = @_;
-#return $file if (!$do_expand  -f $file); # the common case
-#return $file if ( $do_expand  ($file=dl_expandspec($file)));
-#return undef;
-#}
-
-
-# Let autosplit and the autoloader deal with these functions:
-__END__
-
-
 sub dl_findfile {
 # Read ext/DynaLoader/DynaLoader.doc for detailed information.
 # This function does not automatically consider the architecture
@@ -538,6 +522,8 @@ sub dl_find_symbol_anywhere
 return undef;
 }
 
+__END__
+
 =head1 NAME
 
 DynaLoader - Dynamically load C libraries into Perl code
diff --git a/pod/perlfaq.pod b/pod/perlfaq.pod
index 5e73ca5..09b40cf 100644
--- a/pod/perlfaq.pod
+++ b/pod/perlfaq.pod
@@ -512,7 +512,7 @@ How do I capitalize all the words on one line?
 
 =item *
 
-How can I split a [character] delimited string except when inside [character]?
+How can I split a [character]-delimited string except when inside [character]?
 
 =item *
 
@@ -934,7 +934,7 @@ What is C/o really for?
 
 =item *
 
-How do I use a regular expression to strip C style comments from a file?
+How do I use a regular expression to strip C-style comments from a file?
 
 =item *
 
diff --git a/pod/perlfaq4.pod b/pod/perlfaq4.pod
index 1cbea50..71ab290 100644
--- a/pod/perlfaq4.pod
+++ b/pod/perlfaq4.pod
@@ -900,7 +900,7 @@ that Cs after the apostrophe? You could try a regular 
expression:
 Now, what if you don't want to capitalize that and? Just use
 LText::Autoformat and get on with the next problem. :)
 
-=head2 How can I split a [character] delimited string except when inside 
[character]?
+=head2 How can I split a [character]-delimited string except when inside 
[character]?
 
 Several modules can handle this sort of parsing--CText::Balanced,
 CText::CSV, CText::CSV_XS, and CText::ParseWords, among others.
diff --git a/pod/perlfaq6.pod b/pod/perlfaq6.pod
index a705988..1a37978 100644
--- a/pod/perlfaq6.pod
+++ b/pod/perlfaq6.pod
@@ -436,7 +436,7 @@ later, you should only see Cre report that for the first 
iteration.
print STDERR \t$_ is good!\n if m/$regex/;
}
 
-=head2 How do I use a regular expression to strip C style comments from a file?
+=head2 How do I use a regular expression to strip C-style comments from a file?
 
 While this actually can be done, it's much harder than you'd think

[perl.git] branch blead, updated. v5.13.9-544-g4b178c0

2011-02-17 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit 4b178c09f7e88a77c551b208c1e5e852b214ba2f
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 17 20:39:51 2011 -0800

perldelta: subject-verb agreement

M   pod/perldelta.pod

commit 6b0747ad218db97bbb166797021aefec361532cb
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 17 20:38:21 2011 -0800

Mention DynaLoader changes in perldelta

M   pod/perldelta.pod

commit b8f751a32bbecc1a4afe189a503742be479dcaad
Author: Father Chrysostomos spr...@cpan.org
Date:   Thu Feb 17 20:35:17 2011 -0800

Increase DynaLoader’s version

M   ext/DynaLoader/DynaLoader_pm.PL
---

Summary of changes:
 ext/DynaLoader/DynaLoader_pm.PL |2 +-
 pod/perldelta.pod   |   10 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
index 9ea8343..0088851 100644
--- a/ext/DynaLoader/DynaLoader_pm.PL
+++ b/ext/DynaLoader/DynaLoader_pm.PL
@@ -85,7 +85,7 @@ package DynaLoader;
 # tim.bu...@ig.co.uk, August 1994
 
 BEGIN {
-$VERSION = '1.12';
+$VERSION = '1.13';
 }
 
 use Config;
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 56c3e88..cbae795 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -240,11 +240,19 @@ messages.
 CDevel::DProf has been upgraded from version 20080331.00 to 20110217.00.
 
 Merely loading CDevel::DProf now no longer triggers profiling to start.
-Cuse Devel::DProf and Cperl -d:DProf ... still behaves as before and starts
+Cuse Devel::DProf and Cperl -d:DProf ... still behave as before and start
 the profiler.
 
 =item *
 
+CDynaLoader has been upgraded from version 1.12 to 1.13.
+
+[perl #84358] It no longer inherits from AutoLoader; hence it no longer
+produces weird error messages for unsuccessful method calls on classes that
+inherit from DynaLoader.
+
+=item *
+
 CIO::Select has been upgraded from version 1.17 to 1.18.
 
 It now allows IO::Handle objects (and objects in derived classes) to be

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-559-gbd0e971

2011-02-18 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/bd0e971a15332cc9726bb012b97be7b0f6cadd6f?hp=91efc02cbc4d0e28f0ce8f3911c9a798e859f754

- Log -
commit bd0e971a15332cc9726bb012b97be7b0f6cadd6f
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 18 07:28:46 2011 -0800

Reflow ‘Having no space’ in perldiag
---

Summary of changes:
 pod/perldiag.pod |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 1102b55..e1660fc 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1995,12 +1995,12 @@ Further error messages would likely be uninformative.
 
 (D syntax)
 
-You had a word that isn't a regex modifier immediately following a pattern
-without an intervening space or you used one of the regex modifiers
-(a, d, l, and u) that in 5.14 are disallowed as suffixes.
-In that case, use the infix form, like C/(?a:...)/.  In the other case,
-add white space between the pattern and following word.  As an example of the
-latter, the two constructs:
+You had a word that isn't a regex modifier immediately following a
+pattern without an intervening space or you used one of the regex
+modifiers (a, d, l, and u) that in 5.14 are disallowed as
+suffixes. In that case, use the infix form, like C/(?a:...)/.  In the
+other case, add white space between the pattern and following word.
+As an example of the latter, the two constructs:
 
  $a =~ m/$foo/sand $bar
  $a =~ m/$foo/s and $bar

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-560-gde1ac46

2011-02-18 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit de1ac46b8df09e847eed38152e03f6742b4af9de
Author: Peter John Acklam pjack...@online.no
Date:   Fri Feb 18 07:39:40 2011 -0800

Update Math::BigInt to CPAN version 1.992

dist/Math-BigInt/lib/Math/BigFloat.pm:
 - Increment version number.

dist/Math-BigInt/lib/Math/BigInt.pm:
 - Increment version number.
 - Make from_hex(), from_oct(), and behave more like hex() and oct()
   in the Perl core, and make from_bin() consistent with from_hex()
   and from_oct(). This is related to RT #58954.

dist/Math-BigInt/lib/Math/BigInt/Calc.pm:
 - Increment version number.
 - Make _rem() modify first input arg always, not just sometimes.
 - Make _modinv() more consistent with the _modinv() method in other
   libraries (Math::BigInt::GMP, etc.)
 - In _nok(), use symmetry property nok(n,k) = nok(n,n-k). This cuts
   computation time tremendously when n and k are large.
 - In _gcd(), quickly handle zero cases, avoid code duplication, and
   always modify the first input argument in-place.
 - Clean up code and add more code comments.
 - Fix typos.

dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm:
 - Increment version number.

dist/Math-BigInt/t/bigintpm.inc:
 - Modify tests to something that still fails.

dist/Math-BigInt/t/upgrade.inc:
 - Modify tests to something that still fails.
---

Summary of changes:
 dist/Math-BigInt/lib/Math/BigFloat.pm   |2 +-
 dist/Math-BigInt/lib/Math/BigInt.pm |  194 --
 dist/Math-BigInt/lib/Math/BigInt/Calc.pm|  202 ++-
 dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm |2 +-
 dist/Math-BigInt/t/bigintpm.inc |4 +-
 dist/Math-BigInt/t/upgrade.inc  |4 +-
 6 files changed, 264 insertions(+), 144 deletions(-)

diff --git a/dist/Math-BigInt/lib/Math/BigFloat.pm 
b/dist/Math-BigInt/lib/Math/BigFloat.pm
index 20045a6..a39d786 100644
--- a/dist/Math-BigInt/lib/Math/BigFloat.pm
+++ b/dist/Math-BigInt/lib/Math/BigFloat.pm
@@ -12,7 +12,7 @@ package Math::BigFloat;
 #   _a : accuracy
 #   _p : precision
 
-$VERSION = '1.991';
+$VERSION = '1.992';
 require 5.006002;
 
 require Exporter;
diff --git a/dist/Math-BigInt/lib/Math/BigInt.pm 
b/dist/Math-BigInt/lib/Math/BigInt.pm
index 9ce39f4..a9de794 100644
--- a/dist/Math-BigInt/lib/Math/BigInt.pm
+++ b/dist/Math-BigInt/lib/Math/BigInt.pm
@@ -18,7 +18,7 @@ package Math::BigInt;
 my $class = Math::BigInt;
 use 5.006002;
 
-$VERSION = '1.991';
+$VERSION = '1.992';
 
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(objectify bgcd blcm); 
@@ -2854,93 +2854,145 @@ sub import
   # import done
   }
 
-sub from_hex
-  {
-  # create a bigint from a hexadecimal string
-  my ($self, $hs) = @_;
+sub from_hex {
+# Create a bigint from a hexadecimal string.
 
-  my $rc = __from_hex($hs);
+my ($self, $str) = @_;
 
-  return $self-bnan() unless defined $rc;
+if ($str =~ s/
+ ^
+ ( [+-]? )
+ (0?x)?
+ (
+ [0-9a-fA-F]*
+ ( _ [0-9a-fA-F]+ )*
+ )
+ $
+ //x)
+{
+# Get a clean version of the string, i.e., non-emtpy and with no
+# underscores or invalid characters.
 
-  $rc;
-  }  
+my $sign = $1;
+my $chrs = $3;
+$chrs =~ tr/_//d;
+$chrs = '0' unless CORE::length $chrs;
 
-sub from_bin
-  {
-  # create a bigint from a hexadecimal string
-  my ($self, $bs) = @_;
+# Initialize output.
 
-  my $rc = __from_bin($bs);
+my $x = Math::BigInt-bzero();
 
-  return $self-bnan() unless defined $rc;
+# The library method requires a prefix.
 
-  $rc;
-  }  
+$x-{value} = $CALC-_from_hex('0x' . $chrs);
 
-sub from_oct
-  {
-  # create a bigint from a hexadecimal string
-  my ($self, $os) = @_;
+# Place the sign.
 
-  my $x = $self-bzero();
-  
-  # strip underscores
-  $os =~ s/([0-7])_([0-7])/$1$2/g; 
-  $os =~ s/([0-7])_([0-7])/$1$2/g; 
-  
-  return $x-bnan() if $os !~ /^[\-\+]?0[0-7]+\z/;
+if ($sign eq '-'  ! $CALC-_is_zero($x-{value})) {
+$x-{sign} = '-';
+}
 
-  my $sign = '+'; $sign = '-' if $os =~ /^-/;
+return $x;
+}
 
-  $os =~ s/^[+-]//;# strip sign
-  $x-{value} = $CALC-_from_oct($os);
-  $x-{sign} = $sign unless $CALC-_is_zero($x-{value});  # no '-0'
-  $x;
-  }
+# CORE::hex() parses as much as it can, and ignores any trailing garbage.
+# For backwards compatibility, we return 

[perl.git] branch blead, updated. v5.13.9-561-gf1f02a6

2011-02-18 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit f1f02a6bf0c575b824780c093aa71d968aaea66e
Author: David Leadbeater d...@dgl.cx
Date:   Thu Feb 17 23:31:08 2011 +

Avoid segfault in re::regmust with pluggable RE engines

re::regmust would segfault if called on a Regexp belonging to a
pluggable regexp engine, only allow on the core and debugging engine.
Also correctly moralize the return values to avoid leaking.
---

Summary of changes:
 ext/re/re.xs |   13 -
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/ext/re/re.xs b/ext/re/re.xs
index 8bc305e..f40e16c 100644
--- a/ext/re/re.xs
+++ b/ext/re/re.xs
@@ -78,19 +78,22 @@ PREINIT:
 REGEXP *re;
 PPCODE:
 {
-if ((re = SvRX(sv))) /* assign deliberate */
+if ((re = SvRX(sv)) /* assign deliberate */
+   /* only for re engines we know about */
+(RX_ENGINE(re) == my_reg_engine
+   || RX_ENGINE(re) == PL_core_reg_engine))
 {
 SV *an = PL_sv_no;
 SV *fl = PL_sv_no;
 if (RX_ANCHORED_SUBSTR(re)) {
-an = newSVsv(RX_ANCHORED_SUBSTR(re));
+an = sv_2mortal(newSVsv(RX_ANCHORED_SUBSTR(re)));
 } else if (RX_ANCHORED_UTF8(re)) {
-an = newSVsv(RX_ANCHORED_UTF8(re));
+an = sv_2mortal(newSVsv(RX_ANCHORED_UTF8(re)));
 }
 if (RX_FLOAT_SUBSTR(re)) {
-fl = newSVsv(RX_FLOAT_SUBSTR(re));
+fl = sv_2mortal(newSVsv(RX_FLOAT_SUBSTR(re)));
 } else if (RX_FLOAT_UTF8(re)) {
-fl = newSVsv(RX_FLOAT_UTF8(re));
+fl = sv_2mortal(newSVsv(RX_FLOAT_UTF8(re)));
 }
 XPUSHs(an);
 XPUSHs(fl);

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-564-g411c557

2011-02-18 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/411c557297fce888191c9934f2eee1dfd34146e0?hp=f1f02a6bf0c575b824780c093aa71d968aaea66e

- Log -
commit 411c557297fce888191c9934f2eee1dfd34146e0
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 18 10:16:06 2011 -0800

perldelta for f1f02a6

M   pod/perldelta.pod

commit 761f3ec61cbdbefc01374b8aedc2ca80d6bbf4b1
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 18 10:13:30 2011 -0800

Minor perlfaq\d tweaks

M   pod/perlfaq2.pod
M   pod/perlfaq3.pod

commit cf64c7fa70d06570768bf9b90bd440dcc342b77d
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 18 09:46:13 2011 -0800

Note the Math::BigInt upgrade

M   pod/perldelta.pod
---

Summary of changes:
 pod/perldelta.pod |7 ++-
 pod/perlfaq2.pod  |8 
 pod/perlfaq3.pod  |   19 ++-
 3 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 41f3299..a1691fb 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -279,7 +279,7 @@ CHTTP::Tiny has been upgraded from version 0.009 to 0.010
 
 =item *
 
-CMath::BigInt has been upgraded from version 1.99_04 to 1.991.
+CMath::BigInt has been upgraded from version 1.99_04 to 1.992.
 
 =item *
 
@@ -323,6 +323,11 @@ Cre has been upgraded from version 0.16 to 0.17.
 
 It now supports the double-a flag: Cuse re '/aa';
 
+The Cregmust function used to crash when called on a regular expression
+belonging to a pluggable engine. Now it has been disabled for those.
+
+Cregmust no longer leaks memory.
+
 =item *
 
 CTerm::UI has been upgraded from version 0.24 to 0.26
diff --git a/pod/perlfaq2.pod b/pod/perlfaq2.pod
index 9a716ae..4e891a6 100644
--- a/pod/perlfaq2.pod
+++ b/pod/perlfaq2.pod
@@ -165,7 +165,7 @@ complete documentation in HTML and PDF format.
 Many good books have been written about Perl--see the section later in
 Lperlfaq2 for more details.
 
-Tutorial documents are included in current or upcoming Perl releases
+Tutorial documents included in current or upcoming Perl releases
 include Lperltoot for objects or Lperlboot for a beginner's
 approach to objects, Lperlopentut for file opening semantics,
 Lperlreftut for managing references, Lperlretut for regular
@@ -230,7 +230,7 @@ There are many good books on Perl. See the Lperlbook 
documentation or
 
 IThe Perl Review ( http://www.theperlreview.com ) focuses on Perl
 almost completely (although it sometimes sneaks in an article about
-another language). There's also I$foo Magazin, a german magazine
+another language). There's also I$foo Magazin, a German magazine
 dedicated to Perl, at ( http://www.foo-magazin.de ).
 
 The IPerl-Zeitung is a German-speaking magazine for Perl beginners
@@ -256,7 +256,7 @@ Contest and the Perl Poetry Contests. Beginning in November 
2002, ITPJ
 moved to a reader-supported monthly e-zine format in which subscribers
 can download issues as PDF documents. In 2006, ITPJ merged with Dr.
 Dobbs Journal (online edition). To read old ITPJ articles, see
-http://www.ddj.com/ , brian d foy's index of online TPJ content
+http://www.ddj.com/ or brian d foy's index of online TPJ content
 ( http://www.perlmonks.org/index.pl?node_id=711609 ).
 
 =head2 What mailing lists are there for Perl?
@@ -265,7 +265,7 @@ Most of the major modules (CTk, CCGI, Clibwww-perl) 
have their own
 mailing lists. Consult the documentation that came with the module for
 subscription information.
 
-A comprehensive list of Perl related mailing lists can be found at:
+A comprehensive list of Perl-related mailing lists can be found at:
 
http://lists.perl.org/
 
diff --git a/pod/perlfaq3.pod b/pod/perlfaq3.pod
index 66c3272..3093d36 100644
--- a/pod/perlfaq3.pod
+++ b/pod/perlfaq3.pod
@@ -44,7 +44,7 @@ operations typically found in symbolic debuggers.
 
 The Cpsh (Perl sh) is currently at version 1.8. The Perl Shell is a shell
 that combines the interactive nature of a Unix shell with the power of
-Perl. The goal is a full featured shell that behaves as expected for
+Perl. The goal is a full-featured shell that behaves as expected for
 normal shell activity and uses Perl syntax and functionality for
 control-flow statements and other things. You can get Cpsh at
 http://sourceforge.net/projects/psh/ .
@@ -113,7 +113,7 @@ with CFile::Find which is part of the standard library:
 
print join \n, @files;
 
-If you simply need to quickly check to see if a module is
+If you simply need to check quickly to see if a module is
 available, you can check for its documentation.  If you can
 read the documentation the module is most likely installed.
 If you cannot read the documentation, the module might not
@@ -243,7 +243,7 @@ as you write it will help prevent bugs.  Your editor can 
and should
 help you

[perl.git] branch blead, updated. v5.13.9-574-g5b219c2

2011-02-18 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/5b219c2825773039fdec6421408763c286c41871?hp=ade33ac2954f9478493dc04eb7bfa173aebcc1bc

- Log -
commit 5b219c2825773039fdec6421408763c286c41871
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 18 14:27:54 2011 -0800

Minor perlfaq4 tweaks
---

Summary of changes:
 pod/perlfaq4.pod |   47 +--
 1 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/pod/perlfaq4.pod b/pod/perlfaq4.pod
index 71ab290..99668d5 100644
--- a/pod/perlfaq4.pod
+++ b/pod/perlfaq4.pod
@@ -25,8 +25,8 @@ Lperlnumber shows the gory details of number 
representations and
 conversions.
 
 To limit the number of decimal places in your numbers, you can use the
-Cprintf or Csprintf function.  See the LFloating Point
-Arithmetic|perlop for more details.
+Cprintf or Csprintf function.  See
+Lperlop/Floating Point Arithmetic for more details.
 
printf %.2f, 10/3;
 
@@ -117,8 +117,8 @@ the real axis into the complex plane, for example the 
inverse sine of
 
 Rounding in financial applications can have serious implications, and
 the rounding method used should be specified precisely.  In these
-cases, it probably pays not to trust whichever system rounding is
-being used by Perl, but to instead implement the rounding function you
+cases, it probably pays not to trust whichever system of rounding is
+being used by Perl, but instead to implement the rounding function you
 need yourself.
 
 To see why, notice how you'll still have an issue on half-way-point
@@ -131,7 +131,7 @@ alternation:
 
 Don't blame Perl.  It's the same as in C.  IEEE says we have to do
 this. Perl numbers whose absolute values are integers under 2**31 (on
-32 bit machines) will work pretty much like mathematical integers.
+32-bit machines) will work pretty much like mathematical integers.
 Other numbers are not guaranteed.
 
 =head2 How do I convert between numeric representations/bases/radixes?
@@ -143,7 +143,7 @@ exhaustive.
 
 Some of the examples later in Lperlfaq4 use the CBit::Vector
 module from CPAN. The reason you might choose CBit::Vector over the
-perl built in functions is that it works with numbers of ANY size,
+perl built-in functions is that it works with numbers of ANY size,
 that it is optimized for speed on some operations, and for at least
 some programmers the notation might be familiar.
 
@@ -244,7 +244,7 @@ Using Cpack and Cunpack for larger strings:
substr(0 x 32 . 01010110110101110, -32)));
$dec = sprintf(%d, $int);
 
-   # substr() is used to left pad a 32 character string with zeros.
+   # substr() is used to left-pad a 32-character string with zeros.
 
 Using CBit::Vector:
 
@@ -285,7 +285,9 @@ C3).  Saying C11  3 performs the and operation 
on strings
 (yielding C1).
 
 Most problems with C and C| arise because the programmer thinks
-they have a number but really it's a string.  The rest arise because
+they have a number but really it's a string or vice versa.  To avoid this,
+stringify the arguments explicitly (using C or Cqq()) or convert them
+to numbers explicitly (using C0+$arg). The rest arise because
 the programmer says:
 
if (\020\020  \101\101) {
@@ -326,7 +328,7 @@ To call a function on each integer in a (small) range, you 
Bcan use:
 
@results = map { some_func($_) } (5 .. 25);
 
-but you should be aware that the C.. operator creates an array of
+but you should be aware that the C.. operator creates a list of
 all integers in the range.  This can take a lot of memory for large
 ranges.  Instead use:
 
@@ -360,7 +362,7 @@ call Csrand more than once--you make your numbers less 
random,
 rather than more.
 
 Computers are good at being predictable and bad at being random
-(despite appearances caused by bugs in your programs :-).  see the
+(despite appearances caused by bugs in your programs :-).  The
 Frandom article in the Far More Than You Ever Wanted To Know
 collection in Lhttp://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz, courtesy
 of Tom Phoenix, talks more about this.  John von Neumann said, Anyone
@@ -405,7 +407,8 @@ integers (inclusive), For example: 
Crandom_int_between(50,120).
 
 =head2 How do I find the day or week of the year?
 
-The Clocaltime function returns the day of the year.  Without an
+The day of the year is in the list returned
+by the Clocaltime function. Without an
 argument Clocaltime uses the current time.
 
my $day_of_year = (localtime)[7];
@@ -431,7 +434,7 @@ Clocaltime that returns an object:
my $day_of_year  = localtime-yday;
my $week_of_year = localtime-week;
 
-The CDate::Calc module provides two functions to calculate these too:.
+The CDate::Calc module provides two functions to calculate these, too:
 
use Date::Calc;
my

[perl.git] branch blead, updated. v5.13.9-581-ga3cdda9

2011-02-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/a3cdda958864a31cda0f11d63006f3591e345b7e?hp=1f0fc1c94b0da3182a0963953d7c62e0b6a20afe

- Log -
commit a3cdda958864a31cda0f11d63006f3591e345b7e
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 07:05:36 2011 -0800

Minor perlfaq6 tweaks

M   pod/perlfaq.pod
M   pod/perlfaq6.pod

commit 5c121ae8f85c7837608b02373917934b2997b0c1
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 06:46:36 2011 -0800

Re-order ‘How can I read in an entire file all at once?’

This entry has been edited about five times in the past without regard
to the way the text flows. Each new bit has been slapped on to the
top, so parts of it are now repetitive.

M   pod/perlfaq5.pod

commit 09c1cbc255467ec821a618561761fdb554dc0f55
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 06:15:04 2011 -0800

Minor perlfaq5 tweaks

M   pod/perlfaq5.pod
---

Summary of changes:
 pod/perlfaq.pod  |2 +-
 pod/perlfaq5.pod |   80 +++---
 pod/perlfaq6.pod |4 +-
 3 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/pod/perlfaq.pod b/pod/perlfaq.pod
index 09b40cf..614ff56 100644
--- a/pod/perlfaq.pod
+++ b/pod/perlfaq.pod
@@ -914,7 +914,7 @@ I put a regular expression into $/ but it didn't work. 
What's wrong?
 
 =item *
 
-How do I substitute case insensitively on the LHS while preserving case on the 
RHS?
+How do I substitute case-insensitively on the LHS while preserving case on the 
RHS?
 
 =item *
 
diff --git a/pod/perlfaq5.pod b/pod/perlfaq5.pod
index 1866a03..76b6d3e 100644
--- a/pod/perlfaq5.pod
+++ b/pod/perlfaq5.pod
@@ -494,8 +494,8 @@ Berkeley-style ps:
}
 
 We've used a hash slice in order to easily handle the fields of each row.
-Storing the keys in an array means it's easy to operate on them as a
-group or loop over them with for. It also avoids polluting the program
+Storing the keys in an array makes it easy to operate on them as a
+group or loop over them with Cfor. It also avoids polluting the program
 with global variables and using symbolic references.
 
 =head2 How can I make a filehandle local to a subroutine?  How do I pass 
filehandles between subroutines?  How do I make an array of filehandles?
@@ -542,7 +542,7 @@ check out the Symbol or IO::Handle modules.
 =head2 How can I use a filehandle indirectly?
 Xfilehandle, indirect
 
-An indirect filehandle is using something other than a symbol
+An indirect filehandle is the use of something other than a symbol
 in a place that a filehandle is expected. Here are ways
 to get indirect filehandles:
 
@@ -553,8 +553,7 @@ to get indirect filehandles:
$fh =  *SOME_FH{IO};   # blessed IO::Handle from *SOME_FH typeglob
 
 Or, you can use the Cnew method from one of the IO::* modules to
-create an anonymous filehandle, store that in a scalar variable,
-and use it as though it were a normal filehandle.
+create an anonymous filehandle and store that in a scalar variable.
 
use IO::Handle; # 5.004 or higher
my $fh = IO::Handle-new();
@@ -843,7 +842,7 @@ be an atomic operation over NFS. That is, two processes 
might both
 successfully create or unlink the same file! Therefore O_EXCL
 isn't as exclusive as you might wish.
 
-See also the new Lperlopentut.
+See also Lperlopentut.
 
 =head2 Why do I sometimes get an Argument list too long when I use 
Elt*Egt?
 Xargument list too long
@@ -873,13 +872,13 @@ Xfilename, special characters
 
 (contributed by Brian McCauley)
 
-The special two argument form of Perl's open() function ignores
+The special two-argument form of Perl's open() function ignores
 trailing blanks in filenames and infers the mode from certain leading
 characters (or a trailing |). In older versions of Perl this was the
 only version of open() and so it is prevalent in old code and books.
 
-Unless you have a particular reason to use the two argument form you
-should use the three argument form of open() which does not treat any
+Unless you have a particular reason to use the two-argument form you
+should use the three-argument form of open() which does not treat any
 characters in the filename as special.
 
open my $fh, ,   file  ;  # filename isfile   
@@ -998,7 +997,7 @@ Xappend Xfile, append
 If you are on a system that correctly implements Cflock and you use
 the example appending code from perldoc -f flock everything will be
 OK even if the OS you are on doesn't implement append mode correctly
-(if such a system exists.) So if you are happy to restrict yourself to
+(if such a system exists). So if you are happy to restrict yourself to
 OSs that implement Cflock (and that's not really much of a
 restriction) then that is what you should do

[perl.git] branch blead, updated. v5.13.9-601-g42993a5

2011-02-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/42993a5c4912d5546ce7c95cae4169e1e613106c?hp=da36747dd51a927ea304a8bfab181c8e794b1e17

- Log -
commit 42993a5c4912d5546ce7c95cae4169e1e613106c
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 17:40:37 2011 -0800

Minor perlfaq9 tweaks

M   pod/perlfaq9.pod

commit c315a7016f1af4812d86126359e5bc25697ef208
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 17:30:45 2011 -0800

Minor perlfaq8 tweaks

M   pod/perlfaq8.pod

commit b056a7aa384a2137a7ce032755b4cf7e334b6d61
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 11:50:34 2011 -0800

perlfaq7: simple hash keys are always quoted

M   pod/perlfaq7.pod

commit 4c7f4b6b5392d642007d0850a1b9fed1b2a678b6
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 11:49:31 2011 -0800

Minor perlfaq7 tweaks

M   pod/perlfaq7.pod
---

Summary of changes:
 pod/perlfaq7.pod |   25 +
 pod/perlfaq8.pod |   16 
 pod/perlfaq9.pod |8 
 3 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/pod/perlfaq7.pod b/pod/perlfaq7.pod
index 5d7a1e8..fcf270d 100644
--- a/pod/perlfaq7.pod
+++ b/pod/perlfaq7.pod
@@ -29,7 +29,8 @@ They are type specifiers, as detailed in Lperldata:
* for all types of that symbol name.  In version 4 you used them like
  pointers, but in modern perls you can just use references.
 
-There are couple of other symbols that you're likely to encounter that aren't
+There are a couple of other symbols that
+you're likely to encounter that aren't
 really type specifiers:
 
 are used for inputting a record from a filehandle.
@@ -48,8 +49,8 @@ Inot use the brackets.  These are correct: Ceof(FH), 
Cseek(FH, 0,
 
 Normally, a bareword doesn't need to be quoted, but in most cases
 probably should be (and must be under Cuse strict).  But a hash key
-consisting of a simple word (that isn't the name of a defined
-subroutine) and the left-hand operand to the C =  operator both
+consisting of a simple word and the left-hand
+operand to the C =  operator both
 count as though they were quoted:
 
Thisis like this
@@ -332,7 +333,7 @@ package:
sub next_id { ++$id }
}
 
-This is discussed in more detail in Lperlsub, see the entry on
+This is discussed in more detail in Lperlsub; see the entry on
 IPersistent Private Variables.
 
 =head2 What is variable suicide and how can I prevent it?
@@ -553,7 +554,7 @@ For instance:
 
 Notice how at no point does the value private get printed.  That's
 because $var only has that value within the block of the lexical()
-function, and it is hidden from called subroutine.
+function, and it is hidden from the called subroutine.
 
 In summary, local() doesn't make what you think of as private, local
 variables.  It gives a global variable a temporary value.  my() is
@@ -796,7 +797,7 @@ out Lperltoot for details about any of the above cases.  
You may
 also use Cprint ref($object) to find out the class C$object was
 blessed into.
 
-Another possible reason for problems is because you've used the
+Another possible reason for problems is that you've used the
 indirect object syntax (eg, Cfind Guru Samy) on a class name
 before Perl has seen that such a package exists.  It's wisest to make
 sure your packages are all defined before you start using them, which
@@ -942,8 +943,8 @@ altogether.  Global variables are bad because they can 
easily collide
 accidentally and in general make for non-scalable and confusing code.
 
 Symbolic references are forbidden under the Cuse strict pragma.
-They are not true references and consequently are not reference counted
-or garbage collected.
+They are not true references and consequently are not reference-counted
+or garbage-collected.
 
 The other reason why using a variable to hold the name of another
 variable is a bad idea is that the question often stems from a lack of
@@ -980,7 +981,7 @@ make it less confusing, like bracketed percent symbols, etc.
$str =~ s/%(\w+)%/$USER_VARS{$1}/g;   # no /e here at all
 
 Another reason that folks sometimes think they want a variable to
-contain the name of a variable is because they don't know how to build
+contain the name of a variable is that they don't know how to build
 proper data structures using hashes.  For example, let's say they
 wanted two hashes in their program: %fred and %barney, and that they
 wanted to use another scalar variable to refer to those by name.
@@ -1001,7 +1002,7 @@ And just use a multilevel hash to start with.
 
 The only times that you absolutely Imust use symbolic references are
 when you really must refer to the symbol table.  This may be because it's
-something that can't take a real reference

[perl.git] branch blead, updated. v5.13.9-602-g8eef697

2011-02-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/8eef6978dfd4059fb861f5604b6109cffa2cebee?hp=42993a5c4912d5546ce7c95cae4169e1e613106c

- Log -
commit 8eef6978dfd4059fb861f5604b6109cffa2cebee
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 18:01:42 2011 -0800

perlfilter tweaks
---

Summary of changes:
 pod/perlfilter.pod |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/pod/perlfilter.pod b/pod/perlfilter.pod
index ca5cfd9..2706188 100644
--- a/pod/perlfilter.pod
+++ b/pod/perlfilter.pod
@@ -217,7 +217,7 @@ difficult for the potential cracker. The most important: 
Write your
 decryption filter in C and statically link the decryption module into
 the Perl binary. For further tips to make life difficult for the
 potential cracker, see the file Idecrypt.pm in the source filters
-module.
+distribution.
 
 =back
 
@@ -234,7 +234,7 @@ The source filter distribution includes two modules that 
simplify this
 task: CFilter::exec and CFilter::sh. Both allow you to run any
 external executable. Both use a coprocess to control the flow of data
 into and out of the external executable. (For details on coprocesses,
-see Stephens, W.R. Advanced Programming in the UNIX Environment.
+see Stephens, W.R., Advanced Programming in the UNIX Environment.
 Addison-Wesley, ISBN 0-210-56317-7, pages 441-445.) The difference
 between them is that CFilter::exec spawns the external command
 directly, while CFilter::sh spawns a shell to execute the external
@@ -388,9 +388,9 @@ Two special marker lines will bracket debugging code, like 
this:
 }
 ## DEBUG_END
 
-When the CDEBUG environment variable exists, the filter ensures that
-Perl parses only the code between the CDEBUG_BEGIN and CDEBUG_END
-markers. That means that when CDEBUG does exist, the code above
+The filter ensures that Perl parses the code between the DEBUG_BEGIN
+and CDEBUG_END markers only when the CDEBUG environment variable
+exists. That means that when CDEBUG does exist, the code above
 should be passed through the filter unchanged. The marker lines can
 also be passed through as-is, because the Perl parser will see them as
 comment lines. When CDEBUG isn't set, we need a way to disable the

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-603-g6eecded

2011-02-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/6eecded3077c953679e6e6139fd5d033bfd9eeac?hp=8eef6978dfd4059fb861f5604b6109cffa2cebee

- Log -
commit 6eecded3077c953679e6e6139fd5d033bfd9eeac
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 18:43:06 2011 -0800

perlfork tweaks
---

Summary of changes:
 pod/perlfork.pod |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pod/perlfork.pod b/pod/perlfork.pod
index c09433f..e7bcff4 100644
--- a/pod/perlfork.pod
+++ b/pod/perlfork.pod
@@ -37,7 +37,7 @@ thread that implements this child process as the 
pseudo-process.
 
 To the Perl program that called fork(), all this is designed to be
 transparent.  The parent returns from the fork() with a pseudo-process
-ID that can be subsequently used in any process manipulation functions;
+ID that can be subsequently used in any process-manipulation functions;
 the child returns from the fork() with a value of C0 to signify that
 it is the child pseudo-process.
 
@@ -141,7 +141,7 @@ A way to mark a pseudo-processes as running detached from 
their parent (so
 that the parent would not have to wait() for them if it doesn't want to)
 will be provided in future.
 
-=head2 CAVEATS AND LIMITATIONS
+=head1 CAVEATS AND LIMITATIONS
 
 =over 8
 
@@ -192,7 +192,7 @@ on this.
 Perl will completely read from all open directory handles until they
 reach the end of the stream.  It will then seekdir() back to the
 original location and all future readdir() requests will be fulfilled
-from the cache buffer.  That means that neither directory handle held
+from the cache buffer.  That means that neither the directory handle held
 by the parent process nor the one held by the child process will see
 any changes made to the directory after the fork() call.
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-604-g6dd37eb

2011-02-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/6dd37ebe0d5c3ac968db801a6af200bb7f252ffb?hp=6eecded3077c953679e6e6139fd5d033bfd9eeac

- Log -
commit 6dd37ebe0d5c3ac968db801a6af200bb7f252ffb
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 19:04:24 2011 -0800

perlform tweaks
---

Summary of changes:
 pod/perlform.pod |   14 +++---
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/pod/perlform.pod b/pod/perlform.pod
index 6a6a83a..a2aa658 100644
--- a/pod/perlform.pod
+++ b/pod/perlform.pod
@@ -65,7 +65,7 @@ X@* X^* X~ X~~
pad character for left justification
|pad character for centering
pad character for right justification
-   #pad character for a right justified numeric field
+   #pad character for a right-justified numeric field
0instead of first #: pad number with leading zeroes
.decimal point within a numeric field
...  terminate a text field, show ... as truncation evidence
@@ -122,7 +122,7 @@ filled with # as overflow evidence.
 42   3.142 0.000 0   
 
 
-=head2 The Field @* for Variable Width Multi-Line Text
+=head2 The Field @* for Variable-Width Multi-Line Text
 X@*
 
 The field @* can be used for printing multi-line, nontruncated
@@ -130,10 +130,10 @@ values; it should (but need not) appear by itself on a 
line. A final
 line feed is chomped off, but all other characters are emitted verbatim.
 
 
-=head2 The Field ^* for Variable Width One-line-at-a-time Text
+=head2 The Field ^* for Variable-Width One-line-at-a-time Text
 X^*
 
-Like @*, this is a variable width field. The value supplied must be a 
+Like @*, this is a variable-width field. The value supplied must be a 
 scalar variable. Perl puts the first line (up to the first \n) of the 
 text into the field, and then chops off the front of the string so that 
 the next time the variable is referenced, more of the text can be printed. 
@@ -182,7 +182,7 @@ the field, and then chops off the front of the string so 
that the next time
 the variable is referenced, more of the text can be printed.  (Yes, this
 means that the variable itself is altered during execution of the write()
 call, and is not restored.)  The next portion of text is determined by
-a crude line breaking algorithm. You may use the carriage return character
+a crude line-breaking algorithm. You may use the carriage return character
 (C\r) to force a line break. You can change which characters are legal 
 to break on by changing the variable C$: (that's 
 $FORMAT_LINE_BREAK_CHARACTERS if you're using the English module) to a 
@@ -291,7 +291,7 @@ one to affect them:
 Pretty ugly, eh?  It's a common idiom though, so don't be too surprised
 when you see it.  You can at least use a temporary variable to hold
 the previous filehandle: (this is a much better approach in general,
-because not only does legibility improve, you now have intermediary
+because not only does legibility improve, you now have an intermediary
 stage in the expression to single-step the debugger through):
 
 $ofh = select(OUTF);
@@ -448,7 +448,7 @@ to specify the decimal point character in formatted output. 
 Formatted
 output cannot be controlled by Cuse locale at the time when write()
 is called. See Lperllocale for further discussion of locale handling.
 
-Within strings that are to be displayed in a fixed length text field,
+Within strings that are to be displayed in a fixed-length text field,
 each control character is substituted by a space. (But remember the
 special meaning of C\r when using fill mode.) This is done to avoid
 misalignment when control characters disappear on some output media.

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.9-609-g4fb6793

2011-02-19 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/4fb67938d761c2c60668d0aa0ff50b0f31fe2b26?hp=858a358bdd94da8251cdb2210d9bec7c1bbe7464

- Log -
commit 4fb67938d761c2c60668d0aa0ff50b0f31fe2b26
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 20:25:44 2011 -0800

perlfunc/-X: rearrange slightly and note llafr exemption

The paragraphs explaining -x -r -w and -T -B have grown over time,
obscuring the bit about the syntax, so I’ve moved it up.

I have also expanded it to note its exemption from the ‘looks like a
function’ rule (which is currently mentioned only in perlop, if I
remember correctly).

M   pod/perlfunc.pod

commit 5dac7880bdc477876b4ad267f3889e0371bfc070
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 19:19:18 2011 -0800

perlfunc tweaks

Notable changes, apart from grammar and punctuation:
• ‘In general’ in conjunction with ‘all’ is slightly 
contradictory
• wait, waitpid, and syscall are not the only functions that do not
  return undef on failure

M   pod/perlfunc.pod
---

Summary of changes:
 pod/perlfunc.pod |   30 --
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 8a486a8..309e577 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -79,10 +79,10 @@ there, not the list construction version of the comma.  
That means it
 was never a list to start with.
 
 In general, functions in Perl that serve as wrappers for system calls 
(syscalls)
-of the same name (like chown(2), fork(2), closedir(2), etc.) all return
+of the same name (like chown(2), fork(2), closedir(2), etc.) return
 true when they succeed and Cundef otherwise, as is usually mentioned
 in the descriptions below.  This is different from the C interfaces,
-which return C-1 on failure.  Exceptions to this rule are Cwait,
+which return C-1 on failure.  Exceptions to this rule include Cwait,
 Cwaitpid, and Csyscall.  System calls also set the special C$!
 variable on failure.  Other functions do not, except accidentally.
 
@@ -146,7 +146,7 @@ Creaddir, Crewinddir, Csay, Cseek, Cseekdir, 
Cselect, Csyscall,
 Csysread, Csysseek, Csyswrite, Ctell, Ctelldir, Ctruncate,
 Cwarn, Cwrite
 
-=item Functions for fixed length data or records
+=item Functions for fixed-length data or records
 
 Cpack, Cread, Csyscall, Csysread, Csyswrite, Cunpack, Cvec
 
@@ -349,6 +349,20 @@ Example:
 #...
 }
 
+Note that C-s/a/b/ does not do a negated substitution.  Saying
+C-exp($foo) still works as expected, however: only single letters
+following a minus are interpreted as file tests.
+
+These operators are exempt from the looks like a function rule described
+above. That is, an opening parenthesis after the operator does not affect
+how much of the following code constitutes the argument. Put the opening
+parentheses before the operator to separate it from code that follows (this
+applies only to operators with higher precedence than unary operators, of
+course):
+
+-s($file) + 1024   # probably wrong; same as -s($file + 1024)
+(-s $file) + 1024  # correct
+
 The interpretation of the file permission operators C-r, C-R,
 C-w, C-W, C-x, and C-X is by default based solely on the mode
 of the file and the uids and gids of the user.  There may be other
@@ -367,8 +381,8 @@ or temporarily set their effective uid to something else.
 
 If you are using ACLs, there is a pragma called Cfiletest that may
 produce more accurate results than the bare stat() mode bits.
-When under the Cuse filetest 'access' the above-mentioned filetests
-test whether the permission can (not) be granted using the
+When under Cuse filetest 'access' the above-mentioned filetests
+test whether the permission can(not) be granted using the
 access(2) family of system calls.  Also note that the C-x and C-X may
 under this pragma return true even if there are no execute permission
 bits set (nor any extra execute permission ACLs).  This strangeness is
@@ -378,10 +392,6 @@ filehandle won't cache the results of the file tests when 
this pragma is
 in effect.  Read the documentation for the Cfiletest pragma for more
 information.
 
-Note that C-s/a/b/ does not do a negated substitution.  Saying
-C-exp($foo) still works as expected, however: only single letters
-following a minus are interpreted as file tests.
-
 The C-T and C-B switches work as follows.  The first block or so of the
 file is examined for odd characters such as strange control codes or
 characters with the high bit set.  If too many strange characters (30%)
@@ -393,7 +403,7 @@ file, or a file at EOF when testing a filehandle.  Because 
you have to
 read a file to do the C-T test, on most occasions you want to use a C-f
 against the file first

[perl.git] branch blead, updated. v5.13.10-10-gb6fa137

2011-02-20 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

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

- Log -
commit b6fa137b2c9fea23677e2533d7f563bb9f49db0a
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 20 14:17:19 2011 -0800

Update docs for postfix /dual flags

M   pod/perldiag.pod
M   pod/perlop.pod
M   pod/perlre.pod

commit d7a0d798cfc5c243cb147b827ff253e49f9bd57f
Author: Father Chrysostomos spr...@cpan.org
Date:   Sat Feb 19 22:06:27 2011 -0800

more perlfunc tweaks

M   pod/perlfunc.pod
---

Summary of changes:
 pod/perldiag.pod |9 +--
 pod/perlfunc.pod |   16 +++---
 pod/perlop.pod   |   23 
 pod/perlre.pod   |  177 --
 4 files changed, 115 insertions(+), 110 deletions(-)

diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 2d9a9ac..4421064 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -2008,11 +2008,10 @@ Further error messages would likely be uninformative.
 (D syntax)
 
 You had a word that isn't a regex modifier immediately following a
-pattern without an intervening space or you used one of the regex
-modifiers (a, d, l, and u) that in 5.14 are disallowed as
-suffixes. In that case, use the infix form, like C/(?a:...)/.  In the
-other case, add white space between the pattern and following word.
-As an example of the latter, the two constructs:
+pattern without an intervening space.  If you are trying to use the C/le
+flags on a substitution, use C/el instead.  Otherwise, add white space
+between the pattern and following word to eliminate the warning. As an
+example of the latter, the two constructs:
 
  $a =~ m/$foo/sand $bar
  $a =~ m/$foo/s and $bar
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 309e577..d59e326 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -534,16 +534,16 @@ otherwise it returns Cundef and sets C$! (errno).
 
 On some systems (in general, DOS and Windows-based systems) binmode()
 is necessary when you're not working with a text file.  For the sake
-of portability it is a good idea to always use it when appropriate,
-and to never use it when it isn't appropriate.  Also, people can
+of portability it is a good idea always to use it when appropriate,
+and never to use it when it isn't appropriate.  Also, people can
 set their I/O to be by default UTF-8 encoded Unicode, not bytes.
 
 In other words: regardless of platform, use binmode() on binary data,
-like for example images.
+like images, for example.
 
 If LAYER is present it is a single string, but may contain multiple
 directives. The directives alter the behaviour of the filehandle.
-When LAYER is present using binmode on a text file makes sense.
+When LAYER is present, using binmode on a text file makes sense.
 
 If LAYER is omitted or specified as C:raw the filehandle is made
 suitable for passing binary data. This includes turning off possible CRLF
@@ -574,7 +574,7 @@ In general, binmode() should be called after open() but 
before any I/O
 is done on the filehandle.  Calling binmode() normally flushes any
 pending buffered output data (and perhaps pending input data) on the
 handle.  An exception to this is the C:encoding layer that
-changes the default character encoding of the handle, see Lopen.
+changes the default character encoding of the handle; see L/open.
 The C:encoding layer sometimes needs to be called in
 mid-stream, and it doesn't flush the stream.  The C:encoding
 also implicitly pushes on top of itself the C:utf8 layer because
@@ -601,8 +601,8 @@ you want for text files, but it can be disastrous for 
binary files.
 
 Another consequence of using binmode() (on some systems) is that
 special end-of-file markers will be seen as part of the data stream.
-For systems from the Microsoft family this means that if your binary
-data contains C\cZ, the I/O subsystem will regard it as the end of
+For systems from the Microsoft family this means that, if your binary
+data contain C\cZ, the I/O subsystem will regard it as the end of
 the file, unless you use binmode().
 
 binmode() is important not only for readline() and print() operations,
@@ -699,7 +699,7 @@ subroutine makes to C@_ or its contents, not the original 
values at call
 time. C@DB::args, like C@_, does not hold explicit references to its
 elements, so under certain cases its elements may have become freed and
 reallocated for other variables or temporary values. Finally, a side effect
-of the current implementation means that the effects of Cshift @_ can
+of the current implementation is that the effects of Cshift @_ can
 Inormally be undone (but not Cpop @_ or other splicing, and not if a
 reference to C@_ has been taken, and subject to the caveat about reallocated
 elements), so C@DB::args is actually

[perl.git] branch blead, updated. v5.13.10-14-g1f0d8f9

2011-02-20 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/1f0d8f98440c01382cb8734270b0c93d66cf2f4f?hp=b6fa137b2c9fea23677e2533d7f563bb9f49db0a

- Log -
commit 1f0d8f98440c01382cb8734270b0c93d66cf2f4f
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 20 21:37:07 2011 -0800

perlfunc/eval: note the discrepancy in list context retvals

M   pod/perlfunc.pod

commit bede3d72c0bcc7540f7901cb14794032145ac4a5
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 20 21:33:51 2011 -0800

Increase CoreList’s version

to silence cmp_version.t

M   dist/Module-CoreList/lib/Module/CoreList.pm

commit 51124b831bc94c74d7199e47be33276eec615c10
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 20 18:40:24 2011 -0800

perlfunc: do SUBROUTINE(LIST)

perlsub does not mention this anymore.

Even though it’s deprecated, it should still be documented properly

M   pod/perlfunc.pod

commit 341698879912164294afa4e7717eeaf7fe4fdfea
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 20 18:38:43 2011 -0800

Even more perlfunc tweaks

M   pod/perlfunc.pod
---

Summary of changes:
 dist/Module-CoreList/lib/Module/CoreList.pm |2 +-
 pod/perlfunc.pod|   26 +++---
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm 
b/dist/Module-CoreList/lib/Module/CoreList.pm
index 57e320f..448f627 100644
--- a/dist/Module-CoreList/lib/Module/CoreList.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList.pm
@@ -2,7 +2,7 @@ package Module::CoreList;
 use strict;
 use vars qw/$VERSION %released %version %families %upstream
%bug_tracker %deprecated/;
-$VERSION = '2.45';
+$VERSION = '2.46';
 
 =head1 NAME
 
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index d59e326..5a0ecbf 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -724,7 +724,7 @@ neither is set, Cchdir does nothing. It returns true on 
success,
 false otherwise. See the example under Cdie.
 
 On systems that support fchdir(2), you may pass a filehandle or
-directory handle as argument.  On systems that don't support fchdir(2),
+directory handle as the argument.  On systems that don't support fchdir(2),
 passing handles raises an exception.
 
 =item chmod LIST
@@ -774,7 +774,7 @@ remove the newline from the end of an input record when 
you're worried
 that the final record may be missing its newline.  When in paragraph
 mode (C$/ = ), it removes all trailing newlines from the string.
 When in slurp mode (C$/ = undef) or fixed-length record mode (C$/ is
-a reference to an integer or the like, see Lperlvar) chomp() won't
+a reference to an integer or the like; see Lperlvar) chomp() won't
 remove anything.
 If VARIABLE is omitted, it chomps C$_.  Example:
 
@@ -1001,7 +1001,7 @@ Xcos Xcosine Xacos Xarccosine
 =item cos
 
 Returns the cosine of EXPR (expressed in radians).  If EXPR is omitted,
-takes cosine of C$_.
+takes the cosine of C$_.
 
 For the inverse cosine operation, you may use the CMath::Trig::acos()
 function, or use this relation:
@@ -1016,7 +1016,7 @@ Creates a digest string exactly like the crypt(3) 
function in the C
 library (assuming that you actually have a version there that has not
 been extirpated as a potential munition).
 
-crypt() is a one-way hash function.  The PLAINTEXT and SALT is turned
+crypt() is a one-way hash function.  The PLAINTEXT and SALT are turned
 into a short string, called a digest, which is returned.  The same
 PLAINTEXT and SALT will always return the same string, but there is no
 (known) way to get the original PLAINTEXT from the hash.  Small
@@ -1031,7 +1031,7 @@ having to transmit or store the text itself.  An example 
is checking
 if a correct password is given.  The digest of the password is stored,
 not the password itself.  The user types in a password that is
 crypt()'d with the same salt as the stored digest.  If the two digests
-match the password is correct.
+match, the password is correct.
 
 When verifying an existing digest string you should use the digest as
 the salt (like Ccrypt($plain, $digest) eq $digest).  The SALT used
@@ -1082,7 +1082,7 @@ back.  Look at the LDigest module for more robust 
algorithms.
 
 If using crypt() on a Unicode string (which Ipotentially has
 characters with codepoints above 255), Perl tries to make sense
-of the situation by trying to downgrade (a copy of the string)
+of the situation by trying to downgrade (a copy of)
 the string back to an eight-bit byte string before calling crypt()
 (on that copy).  If that works, good.  If not, crypt() dies with
 CWide character in crypt.
@@ -1164,7 +1164,7 @@ makes it spring into existence the first time that it is 
called; see
 Lperlsub.
 
 Use of Cdefined on aggregates (hashes and arrays

[perl.git] branch blead, updated. v5.13.10-37-ge638587

2011-02-21 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/e638587ce5c7e6f5bb569dca7be9a47a83a97b9d?hp=27f6057fa630656e7f6095d2c0e94976a2363b33

- Log -
commit e638587ce5c7e6f5bb569dca7be9a47a83a97b9d
Author: Vadim Konovalov vadim.konova...@alcatel-lucent.com
Date:   Mon Feb 21 22:01:26 2011 -0800

genmake mention from perlembed.pod is bogus

it appears that chunk of explanations in perlembed.pod is repeating
some facts that already present in README.win32, yet they are now
old and mostly questionable: no special care should be taken on Win32
nowadays.
---

Summary of changes:
 pod/perlembed.pod |   28 
 1 files changed, 0 insertions(+), 28 deletions(-)

diff --git a/pod/perlembed.pod b/pod/perlembed.pod
index 8edff17..1b2e0c1 100644
--- a/pod/perlembed.pod
+++ b/pod/perlembed.pod
@@ -1069,34 +1069,6 @@ BExtUtils::Embed can also automate writing the 
Ixs_init glue code.
 
 Consult Lperlxs, Lperlguts, and Lperlapi for more details.
 
-=head1 Embedding Perl under Win32
-
-In general, all of the source code shown here should work unmodified under
-Windows.
-
-However, there are some caveats about the command-line examples shown.
-For starters, backticks won't work under the Win32 native command shell.
-The ExtUtils::Embed kit on CPAN ships with a script called
-Bgenmake, which generates a simple makefile to build a program from
-a single C source file.  It can be used like this:
-
- C:\ExtUtils-Embed\eg perl genmake interp.c
- C:\ExtUtils-Embed\eg nmake
- C:\ExtUtils-Embed\eg interp -e print qq{I'm embedded in Win32!\n}
-
-You may wish to use a more robust environment such as the Microsoft
-Developer Studio.  In this case, run this to generate perlxsi.c:
-
- perl -MExtUtils::Embed -e xsinit
-
-Create a new project and Insert - Files into Project: perlxsi.c,
-perl.lib, and your own source files, e.g. interp.c.  Typically you'll
-find perl.lib in BC:\perl\lib\CORE, if not, you should see the
-BCORE directory relative to Cperl -V:archlib.  The studio will
-also need this path so it knows where to find Perl include files.
-This path can be added via the Tools - Options - Directories menu.
-Finally, select Build - Build interp.exe and you're ready to go.
-
 =head1 Hiding Perl_
 
 If you completely hide the short forms of the Perl public API,

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.10-50-g887d89f

2011-02-22 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/887d89fd5842000f9496b15d677ad5b89e1ec428?hp=445b09e5977082e9918069b18050f72d1f90ab44

- Log -
commit 887d89fd5842000f9496b15d677ad5b89e1ec428
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Feb 22 18:09:36 2011 -0800

perlfunc/goto: Note the llafr exemption

M   pod/perlfunc.pod

commit a3390c9f44e2dc001867e734d214202d55e60441
Author: Father Chrysostomos spr...@cpan.org
Date:   Tue Feb 22 18:08:08 2011 -0800

Yet more perlfunc tweaks

M   pod/perlfunc.pod
---

Summary of changes:
 pod/perlfunc.pod |   27 ---
 1 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 67c7255..e74e75f 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -2139,7 +2139,7 @@ is left as an exercise to the reader.
 
 The CPOSIX::getattr function can do this more portably on
 systems purporting POSIX compliance.  See also the CTerm::ReadKey
-module from your nearest CPAN site; details on CPAN can be found on
+module from your nearest CPAN site; details on CPAN can be found under
 Lperlmodlib/CPAN.
 
 =item getlogin
@@ -2157,7 +2157,8 @@ secure as Cgetpwuid.
 =item getpeername SOCKET
 Xgetpeername Xpeer
 
-Returns the packed sockaddr address of other end of the SOCKET connection.
+Returns the packed sockaddr address of the other end of the SOCKET
+connection.
 
 use Socket;
 $hersockaddr= getpeername(SOCK);
@@ -2171,8 +2172,8 @@ Xgetpgrp Xgroup
 Returns the current process group for the specified PID.  Use
 a PID of C0 to get the current process group for the
 current process.  Will raise an exception if used on a machine that
-doesn't implement getpgrp(2).  If PID is omitted, returns process
-group of current process.  Note that the POSIX version of Cgetpgrp
+doesn't implement getpgrp(2).  If PID is omitted, returns the process
+group of the current process.  Note that the POSIX version of Cgetpgrp
 does not accept a PID argument, so only CPID==0 is truly portable.
 
 =item getppid
@@ -2280,7 +2281,7 @@ information pertaining to the user.  Beware, however, 
that in many
 system users are able to change this information and therefore it
 cannot be trusted and therefore the $gcos is tainted (see
 Lperlsec).  The $passwd and $shell, user's encrypted password and
-login shell, are also tainted, because of the same reason.
+login shell, are also tainted, for the same reason.
 
 In scalar context, you get the name, unless the function was a
 lookup by name, in which case you get the other thing, whatever it is.
@@ -2313,10 +2314,10 @@ files are supported only if your vendor has implemented 
them in the
 intuitive fashion that calling the regular C library routines gets the
 shadow versions if you're running under privilege or if there exists
 the shadow(3) functions as found in System V (this includes Solaris
-and Linux.)  Those systems that implement a proprietary shadow password
+and Linux).  Those systems that implement a proprietary shadow password
 facility are unlikely to be supported.
 
-The $members value returned by Igetgr*() is a space separated list of
+The $members value returned by Igetgr*() is a space-separated list of
 the login names of the members of the group.
 
 For the Igethost*() functions, if the Ch_errno variable is supported in
@@ -2361,7 +2362,7 @@ for each field.  For example:
use User::pwent;
$is_his = (stat($filename)-uid == pwent($whoever)-uid);
 
-Even though it looks like they're the same method calls (uid),
+Even though it looks as though they're the same method calls (uid),
 they aren't, because a CFile::stat object is different from
 a CUser::pwent object.
 
@@ -2393,7 +2394,7 @@ number of TCP, which you can get using Cgetprotobyname.
 
 The function returns a packed string representing the requested socket
 option, or Cundef on error, with the reason for the error placed in
-C$!). Just what is in the packed string depends on LEVEL and OPTNAME;
+C$!. Just what is in the packed string depends on LEVEL and OPTNAME;
 consult getsockopt(2) for details.  A common case is that the option is an
 integer, in which case the result is a packed integer, which you can decode
 using Cunpack with the Ci (or CI) format.
@@ -2448,8 +2449,8 @@ Xgmtime XUTC XGreenwich
 Works just like Llocaltime but the returned values are
 localized for the standard Greenwich time zone.
 
-Note: when called in list context, $isdst, the last value
-returned by gmtime is always C0.  There is no
+Note: When called in list context, $isdst, the last value
+returned by gmtime, is always C0.  There is no
 Daylight Saving Time in GMT.
 
 See Lperlport/gmtime for portability concerns.
@@ -2477,6 +2478,10 @@ necessarily recommended if you're optimizing for 
maintainability:
 
 goto (FOO, BAR, GLARCH

[perl.git] branch blead, updated. v5.13.10-99-gfd4be6f

2011-02-25 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/fd4be6f07df0e6a021290ef721c5d73550e0248c?hp=84193928209d94622b4501beec2498f435ef3cbf

- Log -
commit fd4be6f07df0e6a021290ef721c5d73550e0248c
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 25 20:45:08 2011 -0800

[perl #84746] Accessing $2 causes the interpreter to crash

Actually, it doesn’t. The original test case was:

#!/usr/bin/perl

my $rx = qr'\$ (?| {(.+?)} | (.+?); | (.+?)(\s) )'x;
my $test = '/home/$USERNAME ';
die unless $test =~ $rx;
print 1: $1\n;
print 2: $2\n if defined $2;

This crashes even if I put an ‘exit’ right after the pattern match.

What’s happening is that regcomp miscounts the number of capturing
parenthesis pairs (cf. [perl #59734]), so the execution of the regular
expression causes a buffer overflow which overwrites the op_sibling
field of the regcreset op, causing a crash when the op is freed. (The
exact failure may differ between builds, platforms, etc., of course.)

S_reg in regcomp.c keeps a count of the parenthesised groups in a
(?|...) construct, which it updates after each branch, if that branch
has more captures than any previous branch. But it was not updating
the count after the last branch.

So this bug would occur if the last branch had more capturing paren-
theses than any previous branch.

Commit ee91d26, which fixed bug #59734, only solved the problem when
there was just one branch (by updating the count before the loop that
deals with subsequent branches was entered).

This commit changes the code at the end of S_reg to take into account
that RExC_npar (the current paren count) might have been increased by
the last branch.

Since the loop to deal with subsequent branches resets the count
*before* each branch, the code that commit ee91d26 added is no longer
necessary, so this commit removes it.
---

Summary of changes:
 regcomp.c |8 +---
 t/re/re_tests |3 +++
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/regcomp.c b/regcomp.c
index 96a825c..932da1a 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -7097,12 +7097,6 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 
*flagp,U32 depth)
 parse_start = RExC_parse;   /* MJD */
 br = regbranch(pRExC_state, flags, 1,depth+1);
 
-if (freeze_paren) {
-if (RExC_npar  after_freeze)
-after_freeze = RExC_npar;
-RExC_npar = freeze_paren;
-}
-
 /* branch_len = (paren != 0); */
 
 if (br == NULL)
@@ -7246,7 +7240,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 
*flagp,U32 depth)
 if (RExC_in_lookbehind) {
RExC_in_lookbehind--;
 }
-if (after_freeze)
+if (after_freeze  RExC_npar)
 RExC_npar = after_freeze;
 return(ret);
 }
diff --git a/t/re/re_tests b/t/re/re_tests
index 5441437..924434c 100644
--- a/t/re/re_tests
+++ b/t/re/re_tests
@@ -1329,6 +1329,9 @@ X(\w+)(?=\s)|X(\w+)   Xab y   [$1-$2] [-ab]
 (?|(?foox)|(?bary))x   yM  $+{foo} x   miniperl cannot 
load Tie::Hash::NamedCapture
 (?|(?bary)|(?foox))x   yM  $+{foo} x   miniperl cannot 
load Tie::Hash::NamedCapture
 (?bar)(?|(?foox))  x   yM  $+{foo} x   miniperl cannot load 
Tie::Hash::NamedCapture
+# Used to crash, because the last branch was ignored when the parens
+# were counted:
+(?|(b)|()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
 ... [181 chars truncated]
 
 #Bug #41492
 (?(DEFINE)(?A(?B)+)(?Ba))(?A)a   y   $  a

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.10-102-g26f1b91

2011-02-25 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/26f1b91d75f251f6a9847512a8afeebac61b55da?hp=fd4be6f07df0e6a021290ef721c5d73550e0248c

- Log -
commit 26f1b91d75f251f6a9847512a8afeebac61b55da
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 25 21:52:22 2011 -0800

Reword perltie/READLINE and correct example

M   pod/perltie.pod

commit 2207fa4e5a04c326c157fe8acb453ee4b447205a
Author: Kevin Ryde use...@zip.com.au
Date:   Fri Feb 25 21:50:50 2011 -0800

[perl #84942] perltie.pod READLINE list context

In perltie.pod the handle READLINE says

The method should return undef when there is no more data.

which made me think that's what it should always do, and didn't need to
pay attention to wantarray().

If I'm not mistaken in list context READLINE should return empty list
for no more data.  It'd be good if the docs noted that, and perhaps
cross referenced to perlfunc for the gory details of what readline
should do.

Maybe something like the following, unless someone can think of a better
contrivance for the sample.

M   pod/perltie.pod

commit 662ccb34c4d4ba5f4c287f08b854fc020ea25b20
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 25 21:49:17 2011 -0800

Add Kevin Ryde to AUTHORS

M   AUTHORS
---

Summary of changes:
 AUTHORS |1 +
 pod/perltie.pod |   23 +++
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index b843b3a..e6bf1bb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -602,6 +602,7 @@ Kevin Brintnall kbr...@rufus.net
 Kevin Chasekevinch...@hotmail.com
 Kevin O'Gorman kevin.kos...@nrc.com
 Kevin Ruscoe   kevin.rus...@ubsw.com
+Kevin Ryde use...@zip.com.au
 Kevin Whiteklwh...@magnus.acs.ohio-state.edu
 Kim Frutiger
 Kingpinmth...@copper.dulles.tasc.com
diff --git a/pod/perltie.pod b/pod/perltie.pod
index d23c667..456cc60 100644
--- a/pod/perltie.pod
+++ b/pod/perltie.pod
@@ -947,10 +947,25 @@ or Csysread functions.
 =item READLINE this
 XREADLINE
 
-This method will be called when the handle is read from via HANDLE.
-The method should return undef when there is no more data.
-
-sub READLINE { $r = shift; READLINE called $$r times\n; }
+This method is called when the handle is read via CEltHANDLEEgt
+or Creadline HANDLE.
+
+As per LCreadline|perlfunc/readline, in scalar context it should return
+the next line, or Cundef for no more data.  In list context it should
+return all remaining lines, or an empty list for no more data.  The strings
+returned should include the input record separator C$/ (see Lperlvar),
+unless it is Cundef (which means slurp mode).
+
+sub READLINE {
+  my $r = shift;
+  if (wantarray) {
+return (all remaining\n,
+lines up\n,
+to eof\n);
+  } else {
+return READLINE called  . ++$$r .  times\n;
+  }
+}
 
 =item GETC this
 XGETC

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.10-106-g8f87837

2011-02-26 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/8f878375c44ca8966a9b6ee166fd9d10f631a68b?hp=08973043bcacf380545b7ccd9b9d87c39b56b75e

- Log -
commit 8f878375c44ca8966a9b6ee166fd9d10f631a68b
Author: Father Chrysostomos spr...@cpan.org
Date:   Fri Feb 25 22:31:02 2011 -0800

Stop aelemfast from crashing on GVs with null AVs

As reported at nntp://nntp.perl.org/1298599236.4753.72.camel@p100 (and
respaced for readability):

#!perl5.12.0
$r=q/
  print __FILE__;
  local *dbline = $main::{_.__FILE__};
  print $dbline[0]
/;
eval $r;'
__END__
(eval 1)
Bus error

This only seems to happen in non-threaded perls.

It can be reduced to this:

*d = *a;  print $d[0];

The $d[0] is optimised into an aelemfast op (instead of the usual aelem
with an rv2av kid). pp_aelemfast is at fault, as evidenced by the fact
that this does not crash (the ${\...} prevents the optimisation):

*d = *a;  print $d[${\0}];

pp_aelemfast uses GvAV instead of GvAVn. Usually $d[0] will autovivify
@d, but the glob assignment leaves $d[0] pointing to a glob (*d) with
no array. Then pp_alemfast passes a null pointer around.
---

Summary of changes:
 pp_hot.c |2 +-
 t/op/array.t |4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/pp_hot.c b/pp_hot.c
index 8e52c6d..852ff80 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -665,7 +665,7 @@ PP(pp_aelemfast)
 {
 dVAR; dSP;
 AV * const av = PL_op-op_flags  OPf_SPECIAL
-   ? MUTABLE_AV(PAD_SV(PL_op-op_targ)) : GvAV(cGVOP_gv);
+   ? MUTABLE_AV(PAD_SV(PL_op-op_targ)) : GvAVn(cGVOP_gv);
 const U32 lval = PL_op-op_flags  OPf_MOD;
 SV** const svp = av_fetch(av, PL_op-op_private, lval);
 SV *sv = (svp ? *svp : PL_sv_undef);
diff --git a/t/op/array.t b/t/op/array.t
index f100e2d..c5d45d7 100644
--- a/t/op/array.t
+++ b/t/op/array.t
@@ -7,7 +7,7 @@ BEGIN {
 
 require 'test.pl';
 
-plan (127);
+plan (128);
 
 #
 # @foo, @bar, and @ary are also used from tie-stdarray after tie-ing them
@@ -442,5 +442,7 @@ sub test_arylen {
  );
 }
 
+*trit = *scile;  $trit[0];
+ok(1, 'aelem_fast on a nonexistent array does not crash');
 
 We're included by lib/Tie/Array/std.t so we need to return something true;

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.10-107-g542f724

2011-02-26 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/542f72439b96cee2ffeb944ed4d6710d4396f529?hp=8f878375c44ca8966a9b6ee166fd9d10f631a68b

- Log -
commit 542f72439b96cee2ffeb944ed4d6710d4396f529
Author: Reini Urban rur...@x-ray.at
Date:   Sat Feb 26 13:55:41 2011 +0100

Modern cygwin often has empty $ENV{CYGWIN}

Fixes Use of uninitialized value $ENV{CYGWIN} in concatenation (.) or 
string
at /usr/lib/perl5/5.13.10/i686-cygwin/Config_heavy.pl line 54
---

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

diff --git a/configpm b/configpm
index 3427f36..7d6de37 100755
--- a/configpm
+++ b/configpm
@@ -203,7 +203,7 @@ sub _V {
 print   $date\n if defined $date;
 
 my @env = map { $_=\$ENV{$_}\ } sort grep {/^PERL/} keys %ENV;
-push @env, CYGWIN=\$ENV{CYGWIN}\ if $^O eq 'cygwin';
+push @env, CYGWIN=\$ENV{CYGWIN}\ if $^O eq 'cygwin' and $ENV{CYGWIN};
 
 if (@env) {
 print   \%ENV:\n;

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.10-109-g8818d40

2011-02-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/8818d4099a576554d990d17764107b1b1480bead?hp=4d919e5b5b77044f49e291c3d7df6a8cc423b9f5

- Log -
commit 8818d4099a576554d990d17764107b1b1480bead
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 27 00:35:26 2011 -0800

[perl #79442] A #line F in a string eval doesn't update *{_F}

There are two problems here.

String evals do not populate @{_...} arrays the way parsed streams
do. The lines are all put into the array before the parse. Commit
e66cf94 added the code to copy (actually alias, but whatever) the
lines into the new array when a #line directive is encountered. Inte-
restingly, the following commit (8a5ee59) wrapped that code in an
#ifndef USE_ITHREADS block, because ‘[c]hange 25409 [e66cf94] wasn’t
necessary for threaded perls’. It seems it *was* necessary for
threaded perls after all, because the lines are simply not copied.

In non-threaded perls it wasn’t working properly either. The array
in the new glob was the same array as the old (aliased), so the line
numbers would be off if the #line directive contained a line number
that differed.

This commit does three things:
• It removes the #ifndef,
• It checks whether the line number has changed and aliases the indi-
  vidual elements of the array.
• The breakpoints hash is not copied if the line number differs, as
  setting a breakpoint on (eval 1):1 (warn 1) in
eval qq{warn 1;\n#line 1 foo\nwarn 2;}
  should not also set a breakpoint on foo:1 (warn 2).
---

Summary of changes:
 t/comp/retainedlines.t |   12 +++-
 toke.c |   28 +++-
 2 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/t/comp/retainedlines.t b/t/comp/retainedlines.t
index 9a2a192..240c5b1 100644
--- a/t/comp/retainedlines.t
+++ b/t/comp/retainedlines.t
@@ -6,7 +6,7 @@
 # we've not yet verified that use works.
 # use strict;
 
-print 1..72\n;
+print 1..73\n;
 my $test = 0;
 
 sub failed {
@@ -148,3 +148,13 @@ for (0xA, 0) {
evals with BEGIN{die} are correctly cleaned up);
   }
 }
+
+# [perl #79442] A #line foo directive in a string eval was not updating
+# *{_foo} in threaded perls, and was not putting the right lines into
+# the right elements of @{_foo} in non-threaded perls.
+{
+  local $^P = 0x400|0x100|0x10;
+  eval qq{#line 42 hash-line-eval\n labadalabada()\n};
+  is $::{_hash-line-eval}[42],  labadalabada()\n,
+   '#line 42 foo in a string eval updates @{_foo}';
+}
diff --git a/toke.c b/toke.c
index 380722a..e55b4b3 100644
--- a/toke.c
+++ b/toke.c
@@ -1511,6 +1511,7 @@ S_incline(pTHX_ const char *s)
 const char *t;
 const char *n;
 const char *e;
+line_t line_num;
 
 PERL_ARGS_ASSERT_INCLINE;
 
@@ -1554,9 +1555,10 @@ S_incline(pTHX_ const char *s)
 if (*e != '\n'  *e != '\0')
return; /* false alarm */
 
+line_num = atoi(n)-1;
+
 if (t - s  0) {
const STRLEN len = t - s;
-#ifndef USE_ITHREADS
SV *const temp_sv = CopFILESV(PL_curcop);
const char *cf;
STRLEN tmplen;
@@ -1611,19 +1613,35 @@ S_incline(pTHX_ const char *s)
gv_init(gv2, PL_defstash, tmpbuf2, tmplen2, FALSE);
/* adjust ${::_newfilename} to store the new file name */
GvSV(gv2) = newSVpvn(tmpbuf2 + 2, tmplen2 - 2);
-   GvHV(gv2) = MUTABLE_HV(SvREFCNT_inc(GvHV(*gvp)));
-   GvAV(gv2) = MUTABLE_AV(SvREFCNT_inc(GvAV(*gvp)));
+   /* The line number may differ. If that is the case,
+  alias the saved lines that are in the array.
+  Otherwise alias the whole array. */
+   if (CopLINE(PL_curcop) == line_num) {
+   GvHV(gv2) = MUTABLE_HV(SvREFCNT_inc(GvHV(*gvp)));
+   GvAV(gv2) = MUTABLE_AV(SvREFCNT_inc(GvAV(*gvp)));
+   }
+   else if (GvAV(*gvp)) {
+   AV * const av = GvAV(*gvp);
+   const I32 start = CopLINE(PL_curcop)+1;
+   I32 items = AvFILLp(av) - start;
+   if (items  0) {
+   AV * const av2 = GvAVn(gv2);
+   SV **svp = AvARRAY(av) + start;
+   I32 l = (I32)line_num+1;
+   while (items--)
+   av_store(av2, l++, SvREFCNT_inc(*svp++));
+   }
+   }
}
 
if (tmpbuf2 != smallbuf) Safefree(tmpbuf2);
}
if (tmpbuf != smallbuf) Safefree(tmpbuf);
}
-#endif
CopFILE_free(PL_curcop

[perl.git] branch blead, updated. v5.13.10-110-g1c3caf3

2011-02-27 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/1c3caf3f8c1b996b57e6fd1e4eadcfb9272a4741?hp=8818d4099a576554d990d17764107b1b1480bead

- Log -
commit 1c3caf3f8c1b996b57e6fd1e4eadcfb9272a4741
Author: Father Chrysostomos spr...@cpan.org
Date:   Sun Feb 27 00:50:08 2011 -0800

[perl #76814] FETCH called twice - ||

The || case in t/op/tie_fetch_count.t is not a bug, as there are two
separate operators operating on it in the test script. In

  $dummy = $x || $y

The || does mg_get($x). If it’s true it returns it and the = does
mg_get($x). If $x is false, then $y is returned, so magic is called
once on each of $x and $y. Similarly,  will seemingly call
mg_get($x) twice if $x is false.

If you just write:

  $x || $y

then magic is only called once on $x.

This patch corrects the test.
---

Summary of changes:
 t/op/tie_fetch_count.t |   10 +++---
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/t/op/tie_fetch_count.t b/t/op/tie_fetch_count.t
index a5e652e..6e93452 100644
--- a/t/op/tie_fetch_count.t
+++ b/t/op/tie_fetch_count.t
@@ -13,8 +13,6 @@ BEGIN {
 use strict;
 use warnings;
 
-my $TODO = Bug 76814;
-
 my $count = 0;
 
 sub TIESCALAR {bless \do {my $var = $_ [1]} = $_ [0];}
@@ -84,11 +82,9 @@ $dummy  = ~$var ; check_count '~';
 
 # Logical operators
 $dummy  = !$var ; check_count '!';
-TODO: {
-local $::TODO = $TODO;
-$dummy  =  $var  ||   1 ; check_count '||';
-$dummy  = ($var  or   1); check_count 'or';
-}
+tie my $v_1, main, 0;
+$dummy  =  $v_1  ||   1 ; check_count '||';
+$dummy  = ($v_1  or   1); check_count 'or';
 $dummy  =  $var 1 ; check_count '';
 $dummy  = ($var and   1); check_count 'and';
 $dummy  = ($var xor   1); check_count 'xor';

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.13.10-207-g3068824

2011-03-05 Thread Father Chrysostomos
In perl.git, the branch blead has been updated

http://perl5.git.perl.org/perl.git/commitdiff/30688243d28f88dab0c8fe6c6e420dcf5b37a316?hp=59d6f6a4c05afa7f69dc616d7a7f7446ceb5433a

- Log -
commit 30688243d28f88dab0c8fe6c6e420dcf5b37a316
Author: Michael Stevens mstev...@etla.org
Date:   Mon Feb 28 14:23:52 2011 +

Fix podchecker warnings.

Fix warnings due to empty lines containing whitespace in
Porting/epigraphs.pod.
---

Summary of changes:
 Porting/epigraphs.pod |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod
index 4ece45f..ed3bf04 100644
--- a/Porting/epigraphs.pod
+++ b/Porting/epigraphs.pod
@@ -20,7 +20,7 @@ Consult your favorite dictionary for details.
 =head2 v5.13.10 - Egill Skalla-Grímsson, LEgils saga 
Skalla-Grímssonar|http://www.heimskringla.no/wiki/Egils_saga_Skalla-Gr%C3%ADmssonar
 
 LAnnonced on 2011-02-20 by Ævar Arnfjörð 
Bjarmason|http://www.nntp.perl.org/group/perl.perl5.porters/2011/02/msg169340.html
-   
+
 Skalat maðr rúnar rísta, 
 nema ráða vel kunni. 
 Þat verðr mörgum manni, 
@@ -29,7 +29,7 @@ LAnnonced on 2011-02-20 by Ævar Arnfjörð 
Bjarmason|http://www.nntp.perl.org/
 tíu launstafi ristna. 
 Þat hefr lauka lindi 
 langs ofrtrega fengit.
-
+
 =head2 v5.13.9 - John F Kennedy, LInaugural Address January 20, 
1961|http://en.wikisource.org/wiki/John_F._Kennedy%27s_Inaugural_Address
 
 LAnnounced on 2011-01-20 by Jesse 
Vincent|http://www.nntp.perl.org/group/perl.perl5.porters/2011/01/msg168335.html

--
Perl5 Master Repository


<    1   2   3   4   5   6   7   8   9   10   >