[perl.git] branch blead, updated. v5.15.5-244-ge2dde00
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/e2dde009b73053ca211f12724e8135bedd556d8f?hp=83504ee4bca9923131c46e631589a42c101dde7a - Log - commit e2dde009b73053ca211f12724e8135bedd556d8f Author: Tony Cook t...@develop-help.com Date: Thu Dec 1 19:39:18 2011 +1100 ignore a cygwin specific generated file M .gitignore commit fe6ca73739d497d2f05e6d96f47b3d079fdc88fc Author: Tony Cook t...@develop-help.com Date: Thu Dec 1 19:00:53 2011 +1100 static and dllexport don't belong together on cygwin This was causing build errors like: Cwd.c:553:1: error: external linkage required for symbol âXS_Cwd_getcwdâ because of âdllexportâ attribute M XSUB.h --- Summary of changes: .gitignore |3 +++ XSUB.h |2 +- 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/.gitignore b/.gitignore index 80b2a8b..f08b705 100644 --- a/.gitignore +++ b/.gitignore @@ -70,6 +70,9 @@ dll.base /ext/DynaLoader/dl_win32.xs splittree.pl +# generated by make on cygwin +/cygwin.c + # ? ext.libs diff --git a/XSUB.h b/XSUB.h index 61d0ef2..4e439f1 100644 --- a/XSUB.h +++ b/XSUB.h @@ -130,7 +130,7 @@ is a lexical $_ in scope. #undef XS_INTERNAL #if defined(__CYGWIN__) defined(USE_DYNAMIC_LOADING) # define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name) -# define XS_INTERNAL(name) __declspec(dllexport) STATIC XSPROTO(name) +# define XS_INTERNAL(name) STATIC XSPROTO(name) #endif #if defined(__SYMBIAN32__) # define XS_EXTERNAL(name) EXPORT_C XSPROTO(name) -- Perl5 Master Repository
[perl.git] branch blead, updated. v5.15.5-245-g3928a66
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/3928a66ad4bd8aee704eda1942b7877c0ff1ab2c?hp=e2dde009b73053ca211f12724e8135bedd556d8f - Log - commit 3928a66ad4bd8aee704eda1942b7877c0ff1ab2c Author: Tony Cook t...@develop-help.com Date: Thu Dec 1 21:37:42 2011 +1100 avoid conflicting static / dllexport on legacy perls too This probably fixes rt.cpan.org 72313 and 71964. --- Summary of changes: .../lib/ExtUtils/ParseXS/Utilities.pm |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm index 19bf9bd..b83e45b 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm @@ -494,7 +494,7 @@ sub standard_XS_defs { # undef XS_INTERNAL # if defined(__CYGWIN__) defined(USE_DYNAMIC_LOADING) #define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name) -#define XS_INTERNAL(name) __declspec(dllexport) STATIC XSPROTO(name) +#define XS_INTERNAL(name) STATIC XSPROTO(name) # endif # if defined(__SYMBIAN32__) #define XS_EXTERNAL(name) EXPORT_C XSPROTO(name) -- Perl5 Master Repository
[perl.git] branch blead, updated. v5.15.5-246-g936a258
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/936a258b3bd6beb80194d6856e785f700e800472?hp=3928a66ad4bd8aee704eda1942b7877c0ff1ab2c - Log - commit 936a258b3bd6beb80194d6856e785f700e800472 Author: Chris 'BinGOs' Williams ch...@bingosnet.co.uk Date: Thu Dec 1 11:23:41 2011 + Skip executable Cygwin test in EUMM when in core Change has been upstreamed as: https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/d0172d0f --- Summary of changes: cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t b/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t index 9640ac7..b518c8c 100644 --- a/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t +++ b/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t @@ -115,8 +115,10 @@ SKIP: { } # Our copy of Perl (with a unix-path) should always be executable. -ok(MM-maybe_command($Config{perlpath}), qq{'$Config{perlpath}' should be executable}); - +SKIP: { + skip The Perl may not be installed yet when in core if $ENV{PERL_CORE}; + ok(MM-maybe_command($Config{perlpath}), qq{'$Config{perlpath}' should be executable}); +} package FakeOut; -- Perl5 Master Repository
[perl.git] branch blead, updated. v5.15.5-247-g0beff06
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/0beff067932254cd3dc853ac18c0e666b9e4cd75?hp=936a258b3bd6beb80194d6856e785f700e800472 - Log - commit 0beff067932254cd3dc853ac18c0e666b9e4cd75 Author: Rafael Garcia-Suarez r...@consttype.org Date: Thu Dec 1 15:10:49 2011 +0100 Install perlfaq and perlglossary manpages in section 1 of the manual --- Summary of changes: installman |3 +++ utils.lst | 11 +++ 2 files changed, 14 insertions(+), 0 deletions(-) diff --git a/installman b/installman index b5b2620..2c20790 100755 --- a/installman +++ b/installman @@ -133,6 +133,9 @@ sub pod2man { if (-f $_ and /\.p(?:m|od)$/) { my $fullname = $_; s!^\Q$poddir\E/!!; + # perlfaq manpages are installed in section 1, + # so skip when searching files for section 3 + return if m(perlfaq.?\.pod|perlglossary.pod); $modpods{$fullname} = $_; } }}, diff --git a/utils.lst b/utils.lst index ad68c1a..037b3eb 100644 --- a/utils.lst +++ b/utils.lst @@ -1,3 +1,14 @@ +cpan/perlfaq/lib/perlfaq.pod +cpan/perlfaq/lib/perlfaq1.pod +cpan/perlfaq/lib/perlfaq2.pod +cpan/perlfaq/lib/perlfaq3.pod +cpan/perlfaq/lib/perlfaq4.pod +cpan/perlfaq/lib/perlfaq5.pod +cpan/perlfaq/lib/perlfaq6.pod +cpan/perlfaq/lib/perlfaq7.pod +cpan/perlfaq/lib/perlfaq8.pod +cpan/perlfaq/lib/perlfaq9.pod +cpan/perlfaq/lib/perlglossary.pod cpan/Pod-LaTeX/blib/script/pod2latex cpan/podlators/blib/script/pod2man cpan/podlators/blib/script/pod2text -- Perl5 Master Repository
[perl.git] branch blead, updated. v5.15.5-254-g8cbe235
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/8cbe2351fa9be7ae959bf6c99a37820fe1c534c4?hp=0beff067932254cd3dc853ac18c0e666b9e4cd75 - Log - commit 8cbe2351fa9be7ae959bf6c99a37820fe1c534c4 Merge: 0beff06 f72af2d Author: Florian Ragwitz r...@debian.org Date: Thu Dec 1 15:23:25 2011 +0100 Merge branch 'dual-life-socket' into blead * dual-life-socket: Bump Socket::VERSION to 1.95; to match CPAN release Snapshot of P/PE/PEVANS/Socket-1.94_07.tar.gz More fixups for dual-life to support out-of-core build Prepare Socket.pm for dual-life Fixups for older Perl versions: Rewrite ext/Socket/t/Socket.t to use Test::More rather than manual printing commit f72af2d244e61d9be2e55bb64a2eeb11fa8968e3 Author: Paul \LeoNerd\ Evans leon...@leonerd.org.uk Date: Thu Dec 1 14:10:48 2011 + Bump Socket::VERSION to 1.95; to match CPAN release M cpan/Socket/Socket.pm commit 0369a5a54628d35a0391b4624eba1887bd5ff71d Author: Paul \LeoNerd\ Evans leon...@leonerd.org.uk Date: Tue Nov 22 15:11:49 2011 + Snapshot of P/PE/PEVANS/Socket-1.94_07.tar.gz M cpan/Socket/Makefile.PL M cpan/Socket/Socket.pm commit 1584259fbedde39de8b5c3750d0a7863dc7a2b0b Author: Paul \LeoNerd\ Evans leon...@leonerd.org.uk Date: Tue Nov 1 16:16:33 2011 + More fixups for dual-life to support out-of-core build * Use ExtUtils::CChecker when not in core to replace the Configure-time testing that core does * Don't actually need to dVAR in getaddrinfo/getnameinfo * Expand croak_xs_usage inline rather than rely on xsubpp to write one M cpan/Socket/Makefile.PL M cpan/Socket/Socket.xs commit 44559db1c23f895802dafc1174080c9a8c0f1bce Author: Paul \LeoNerd\ Evans leon...@leonerd.org.uk Date: Mon Oct 24 19:02:43 2011 +0100 Prepare Socket.pm for dual-life * Moved from ext/Socket to cpan/Socket * Currently declared as PEVANS/Socket-1.95.tar.gz - which is what it will eventually become M MANIFEST M Porting/Maintainers.pl A cpan/Socket/.gitignore A cpan/Socket/Makefile.PL A cpan/Socket/Socket.pm A cpan/Socket/Socket.xs A cpan/Socket/t/Socket.t A cpan/Socket/t/getaddrinfo.t A cpan/Socket/t/getnameinfo.t A cpan/Socket/t/ipv6_mreq.t A cpan/Socket/t/socketpair.t D ext/Socket/.gitignore D ext/Socket/Makefile.PL D ext/Socket/Socket.pm D ext/Socket/Socket.xs D ext/Socket/t/Socket.t D ext/Socket/t/getaddrinfo.t D ext/Socket/t/getnameinfo.t D ext/Socket/t/ipv6_mreq.t D ext/Socket/t/socketpair.t commit 4c3d8e12eba407ea54003da3b559af75fc927817 Author: Paul \LeoNerd\ Evans leon...@leonerd.org.uk Date: Mon Oct 24 18:07:42 2011 +0100 Fixups for older Perl versions: * Pass package and version to XSLoader::load to keep older perl versions happy * Older perls do not define croak_sv; #define a workaround for them M ext/Socket/Socket.pm M ext/Socket/Socket.xs commit bd71e0a134e4707a8d678d30a1c445a5f9d9812c Author: Paul \LeoNerd\ Evans leon...@leonerd.org.uk Date: Mon Oct 24 17:51:13 2011 +0100 Rewrite ext/Socket/t/Socket.t to use Test::More rather than manual printing M ext/Socket/t/Socket.t --- Summary of changes: MANIFEST | 16 ++-- Porting/Maintainers.pl |8 +- {ext = cpan}/Socket/.gitignore |0 cpan/Socket/Makefile.PL | 176 {ext = cpan}/Socket/Socket.pm | 65 +- {ext = cpan}/Socket/Socket.xs | 12 +- cpan/Socket/t/Socket.t | 184 + {ext = cpan}/Socket/t/getaddrinfo.t |0 {ext = cpan}/Socket/t/getnameinfo.t |0 {ext = cpan}/Socket/t/ipv6_mreq.t |0 {ext = cpan}/Socket/t/socketpair.t |0 ext/Socket/Makefile.PL | 93 --- ext/Socket/t/Socket.t| 213 -- 13 files changed, 438 insertions(+), 329 deletions(-) rename {ext = cpan}/Socket/.gitignore (100%) create mode 100644 cpan/Socket/Makefile.PL rename {ext = cpan}/Socket/Socket.pm (91%) rename {ext = cpan}/Socket/Socket.xs (99%) create mode 100644 cpan/Socket/t/Socket.t rename {ext = cpan}/Socket/t/getaddrinfo.t (100%) rename {ext = cpan}/Socket/t/getnameinfo.t (100%) rename {ext = cpan}/Socket/t/ipv6_mreq.t (100%) rename {ext = cpan}/Socket/t/socketpair.t (100%) delete mode 100644 ext/Socket/Makefile.PL delete mode 100644 ext/Socket/t/Socket.t diff --git a/MANIFEST b/MANIFEST index bda0e07..eeadfa9 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2169,6 +2169,14 @@ cpan/Pod-Simple/t/xhtml05.t Pod::Simple test file cpan/Pod-Simple/t/xhtml10.t
[perl.git] branch blead, updated. v5.15.5-257-ga82b195
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/a82b195bcec8edceae8d7f710b71cfcb1e8b1845?hp=4345d05bb848d49bf1bc348b0bf725f5679165bf - Log - commit a82b195bcec8edceae8d7f710b71cfcb1e8b1845 Author: Father Chrysostomos spr...@cpan.org Date: Thu Dec 1 12:36:18 2011 -0800 Use SvOOK_on Now that SvOOK_on has a usable definition (i.e., it leaves the NIOK flags alone), we can use it and remove the comments warning against it. M hv.c M sv.c commit a4f658f7073ec82bcbc9a325ed5433720c4eaa48 Author: Father Chrysostomos spr...@cpan.org Date: Thu Dec 1 12:29:06 2011 -0800 Bring SvOOK_on back, but simpler Commit 404dce59 removed it, because nothing in core or CPAN was using it and it is not part of the API. Nothing in core was using it because it was unusable as previously defined (with SvIOK_off). This commit brings it back, but now it is a simple flag-setting macro, that will actually be usable by the core. M sv.h --- Summary of changes: hv.c |3 +-- sv.c |5 ++--- sv.h |1 + 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/hv.c b/hv.c index 1019b31..27ce6a5 100644 --- a/hv.c +++ b/hv.c @@ -1897,8 +1897,7 @@ S_hv_auxinit(HV *hv) { + sizeof(struct xpvhv_aux), char); } HvARRAY(hv) = (HE**) array; -/* SvOOK_on(hv) attacks the IV flags. */ -SvFLAGS(hv) |= SVf_OOK; +SvOOK_on(hv); iter = HvAUX(hv); iter-xhv_riter = -1; /* HvRITER(hv) = -1 */ diff --git a/sv.c b/sv.c index 8fc177e..99d0d5c 100644 --- a/sv.c +++ b/sv.c @@ -4907,7 +4907,7 @@ Perl_sv_chop(pTHX_ register SV *const sv, register const char *const ptr) Move(pvx,SvPVX(sv),len,char); *SvEND(sv) = '\0'; } - SvFLAGS(sv) |= SVf_OOK; + SvOOK_on(sv); old_delta = 0; } else { SvOOK_offset(sv, old_delta); @@ -12034,8 +12034,7 @@ S_sv_dup_common(pTHX_ const SV *const sstr, CLONE_PARAMS *const param) const struct xpvhv_aux * const saux = HvAUX(sstr); struct xpvhv_aux * const daux = HvAUX(dstr); /* This flag isn't copied. */ - /* SvOOK_on(hv) attacks the IV flags. */ - SvFLAGS(dstr) |= SVf_OOK; + SvOOK_on(dstr); if (saux-xhv_name_count) { HEK ** const sname = saux-xhv_name_u.xhvnameu_names; diff --git a/sv.h b/sv.h index dcd53f7..33a61be 100644 --- a/sv.h +++ b/sv.h @@ -848,6 +848,7 @@ in gv.h: */ ? mg_find(sv,PERL_MAGIC_vstring) : NULL) #define SvOOK(sv) (SvFLAGS(sv) SVf_OOK) +#define SvOOK_on(sv) (SvFLAGS(sv) |= SVf_OOK) #define SvOOK_off(sv) ((void)(SvOOK(sv) sv_backoff(sv))) #define SvFAKE(sv) (SvFLAGS(sv) SVf_FAKE) -- Perl5 Master Repository
[perl.git] branch blead, updated. v5.15.5-258-ge7d0a3f
In perl.git, the branch blead has been updated http://perl5.git.perl.org/perl.git/commitdiff/e7d0a3fbd986e18585e457528529ce365ace620e?hp=a82b195bcec8edceae8d7f710b71cfcb1e8b1845 - Log - commit e7d0a3fbd986e18585e457528529ce365ace620e Author: Father Chrysostomos spr...@cpan.org Date: Thu Dec 1 22:46:22 2011 -0800 Allow COW PVMGs to be tied This logic in sv_magic is wrong: if (SvREADONLY(sv)) { if ( /* its okay to attach magic to shared strings; the subsequent * upgrade to PVMG will unshare the string */ !(SvFAKE(sv) SvTYPE(sv) SVt_PVMG) IN_PERL_RUNTIME !PERL_MAGIC_TYPE_READONLY_ACCEPTABLE(how) ) { Perl_croak_no_modify(aTHX); } } There is nothing wrong with attaching magic to a shared string that will stay shared. Also, shared strings are not always SVt_PVMG. Sometimes a PVMG or PVLV can end up with a shared string. In those cases, the logic above treats them as read-only, which they ainât. The easiest example is a downgraded typeglob: $x = *foo;# now a PVGV undef $x ;# downgraded to PVMG $x = __PACKAGE__; # now a shared string (COW) tie $x, main; # bang! $x is considered read-only sub main::TIESCALAR{bless[]} --- Summary of changes: sv.c |5 ++--- t/op/tie.t | 21 + 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/sv.c b/sv.c index 99d0d5c..ee64e1f 100644 --- a/sv.c +++ b/sv.c @@ -5299,9 +5299,8 @@ Perl_sv_magic(pTHX_ register SV *const sv, SV *const obj, const int how, #endif if (SvREADONLY(sv)) { if ( - /* its okay to attach magic to shared strings; the subsequent -* upgrade to PVMG will unshare the string */ - !(SvFAKE(sv) SvTYPE(sv) SVt_PVMG) + /* its okay to attach magic to shared strings */ + (!SvFAKE(sv) || isGV_with_GP(sv)) IN_PERL_RUNTIME !PERL_MAGIC_TYPE_READONLY_ACCEPTABLE(how) diff --git a/t/op/tie.t b/t/op/tie.t index 887fa96..bbd789c 100644 --- a/t/op/tie.t +++ b/t/op/tie.t @@ -1008,6 +1008,27 @@ print ok\n; EXPECT ok +# +# Nor should it be impossible to tie COW scalars that are already PVMGs. + +sub TIESCALAR { bless [] } +$x = *foo;# PVGV +undef $x; # downgrade to PVMG +$x = __PACKAGE__; # PVMG + COW +tie $x, ; # bang! + +print STDERR ok\n; + +# However, one should not be able to tie read-only glob copies, which look +# a bit like kine internally (FAKE + READONLY). +$y = *foo; +Internals::SvREADONLY($y,1); +tie $y, ; + +EXPECT +ok +Modification of a read-only value attempted at - line 16. + # tied() should still work on tied scalars after glob assignment sub TIESCALAR {bless[]} -- Perl5 Master Repository