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.
"Vincent Pit <perl@profvince.com>"
],
"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"
],
"Carp" : "0",
"Config" : "0",
"ExtUtils::MakeMaker" : "0",
+ "POSIX" : "0",
"Test::More" : "0",
"XSLoader" : "0"
}
"url" : "http://git.profvince.com/?p=perl%2Fmodules%2Findirect.git"
}
},
- "version" : "0.33"
+ "version" : "0.34"
}
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
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'
indirect - Lexically warn about using the indirect method call syntax.
VERSION
- Version 0.33
+ Version 0.34
SYNOPSIS
In a script :
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
- <http://www.shadowcat.co.uk/blog/matt-s-trout/indirect-but-still-fatal>,
- 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
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 :
+
+ * <http://markmail.org/message/o7d5sxnydya7bwvv> : 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.
+
+ * <http://www.shadowcat.co.uk/blog/matt-s-trout/indirect-but-still-fat
+ al> : 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.
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.