From: Vincent Pit Date: Thu, 2 Apr 2015 19:50:16 +0000 (-0300) Subject: This is 0.34 X-Git-Tag: v0.34^0 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=commitdiff_plain;h=4d65569df65cefa65e190d1659c82c1b7fe51058 This is 0.34 --- diff --git a/Changes b/Changes index f35c854..a1cd1a8 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,23 @@ Revision history for indirect +0.34 2015-04-02 19:50 UTC + + Chg : The new environment variable to enable thread tests on older + perls is PERL_FORCE_TEST_THREADS. Note that this variable + should only be turned on by authors. + + Fix : [RT #100068] : add link to historical tchrist post + The link has been added to the documentation. Thanks Olivier + Mengué for reporting. + + Fix : Segfaults when the module is loaded by several threads (or + Windows emulated processes) ran in parallel. + + Fix : Update the Windows ActivePerl + gcc 3.4 workaround for + ExtUtils::MakeMaker 7.04. Thanks Christian Walde for reporting + and feedback on this issue. + + Fix : Be really compatible with the optional OP_PARENT feature. + + Tst : $ENV{$Config{ldlibpthname}} is now preserved on all platforms, + which will address failures of t/41-threads-teardown.t and + t/50-external.t with unusual compilers (like icc) that link all + their compiled objects to their own libraries. + 0.33 2014-09-29 20:20 UTC + Fix : [RT #99083] : Breaks eval in an END block in Win32 pseudo-forks. Thanks Graham Knop for reporting. diff --git a/META.json b/META.json index c2a0b5c..93e38a6 100644 --- a/META.json +++ b/META.json @@ -4,7 +4,7 @@ "Vincent Pit " ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690", + "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150001", "license" : [ "perl_5" ], @@ -25,6 +25,7 @@ "Carp" : "0", "Config" : "0", "ExtUtils::MakeMaker" : "0", + "POSIX" : "0", "Test::More" : "0", "XSLoader" : "0" } @@ -56,5 +57,5 @@ "url" : "http://git.profvince.com/?p=perl%2Fmodules%2Findirect.git" } }, - "version" : "0.33" + "version" : "0.34" } diff --git a/META.yml b/META.yml index 39d6840..dfac071 100644 --- a/META.yml +++ b/META.yml @@ -6,13 +6,14 @@ build_requires: Carp: '0' Config: '0' ExtUtils::MakeMaker: '0' + POSIX: '0' Test::More: '0' XSLoader: '0' configure_requires: Config: '0' ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690' +generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150001' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -31,4 +32,4 @@ resources: homepage: http://search.cpan.org/dist/indirect/ license: http://dev.perl.org/licenses/ repository: http://git.profvince.com/?p=perl%2Fmodules%2Findirect.git -version: '0.33' +version: '0.34' diff --git a/README b/README index 6088d30..f2153cf 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ NAME indirect - Lexically warn about using the indirect method call syntax. VERSION - Version 0.33 + Version 0.34 SYNOPSIS In a script : @@ -41,10 +41,9 @@ DESCRIPTION The indirect syntax is now considered harmful, since its parsing has many quirks and its use is error prone : when the subroutine "foo" has not been declared in the current package, "foo $x" actually compiles to - "$x->foo", and "foo { key => 1 }" to "'key'->foo(1)". In - , - Matt S. Trout gives an example of an undesirable indirect method call on - a block that can cause a particularly bewildering error. + "$x->foo", and "foo { key => 1 }" to "'key'->foo(1)". Please refer to + the "REFERENCES" section for a more complete list of reasons for + avoiding this construct. This pragma currently does not warn for core functions ("print", "say", "exec" or "system"). This may change in the future, or may be added as @@ -177,6 +176,24 @@ CAVEATS The search for indirect method calls happens before constant folding. Hence "my $x = new Class if 0" will be caught. +REFERENCES + Numerous articles have been written about the quirks of the indirect + object construct : + + * : Far More Than + Everything You've Ever Wanted to Know about the Indirect Object + syntax, Tom Christiansen, 1998-01-28. + + This historical post to the "perl5-porters" mailing list raised + awareness about the perils of this syntax. + + * : Indirect but still fatal, Matt S. Trout, 2009-07-29. + + In this blog post, the author gives an example of an undesirable + indirect method call on a block that causes a particularly + bewildering error. + DEPENDENCIES perl 5.8.1. @@ -212,8 +229,8 @@ ACKNOWLEDGEMENTS reporting issues. COPYRIGHT & LICENSE - Copyright 2008,2009,2010,2011,2012,2013,2014 Vincent Pit, all rights - reserved. + Copyright 2008,2009,2010,2011,2012,2013,2014,2015 Vincent Pit, all + rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/lib/indirect.pm b/lib/indirect.pm index fc4708f..391cdfd 100644 --- a/lib/indirect.pm +++ b/lib/indirect.pm @@ -11,13 +11,13 @@ indirect - Lexically warn about using the indirect method call syntax. =head1 VERSION -Version 0.33 +Version 0.34 =cut our $VERSION; BEGIN { - $VERSION = '0.33'; + $VERSION = '0.34'; } =head1 SYNOPSIS