[perl.git] branch blead, updated. v5.13.8-391-g7fe50b8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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