Revision history for autovivification
+0.13 2014-10-04 16:55 UTC
+ This release contains a change that, while being very likely to be safe,
+ can potentially cause freezes during code compilation. Every release
+ should be carefully tested before being put in production, but this is
+ especially true for this one.
+ + Add : Support for the PERL_OP_PARENT optional feature introduced in
+ perl 5.21.2.
+ + Doc : The CAVEATS section now warns about the global slowdown during
+ compilation caused by this pragma.
+ + Fix : [RT #97703] : Android support
+ t/51-threads-teardown.t will no longer fail on Android.
+ Thanks Brian Fraser for reporting.
+ + Fix : Segfaults in eval in an END block of a Win32 pseudo-fork.
+ + Fix : Segfaults during global destruction of a thread or a
+ pseudo-fork.
+ + Opt : The global slowdown caused by this module has been greatly
+ reduced.
+ Thanks Ævar Arnfjörð Bjarmason for reporting and testing the
+ change.
+
0.12 2013-09-05 17:20 UTC
+ Fix : Check functions are now replaced and restored in a thread-safe
manner, either by using the wrap_op_checker() function from perl
"Vincent Pit <perl@profvince.com>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.74, CPAN::Meta::Converter version 2.132140",
+ "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690",
"license" : [
"perl_5"
],
"url" : "http://git.profvince.com/?p=perl%2Fmodules%2Fautovivification.git"
}
},
- "version" : "0.12"
+ "version" : "0.13"
}
author:
- 'Vincent Pit <perl@profvince.com>'
build_requires:
- Config: 0
- Exporter: 0
- ExtUtils::MakeMaker: 0
- Test::More: 0
- XSLoader: 0
+ Config: '0'
+ Exporter: '0'
+ ExtUtils::MakeMaker: '0'
+ Test::More: '0'
+ XSLoader: '0'
configure_requires:
- ExtUtils::MakeMaker: 0
+ ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.74, CPAN::Meta::Converter version 2.132140'
+generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: autovivification
no_index:
directory:
- t
- inc
requires:
- XSLoader: 0
- perl: 5.008003
+ XSLoader: '0'
+ perl: '5.008003'
resources:
bugtracker: http://rt.cpan.org/Dist/Display.html?Name=autovivification
homepage: http://search.cpan.org/dist/autovivification/
license: http://dev.perl.org/licenses/
repository: http://git.profvince.com/?p=perl%2Fmodules%2Fautovivification.git
-version: 0.12
+version: '0.13'
autovivification - Lexically disable autovivification.
VERSION
- Version 0.12
+ Version 0.13
SYNOPSIS
no autovivification;
where it is false for perl 5.10.0 and below.
CAVEATS
+ Using this pragma will cause a slight global slowdown of any subsequent
+ compilation phase that happens anywere in your code - even outside of
+ the scope of use of "no autovivification" - which may become noticeable
+ if you rely heavily on numerous calls to "eval STRING".
+
The pragma doesn't apply when one dereferences the returned value of an
array or hash slice, as in "@array[$id]->{member}" or
@hash{$key}->{member}. This syntax is valid Perl, yet it is discouraged
context. If warnings are turned on, Perl will complain about one-element
slices.
+ Autovivifications that happen in code "eval"'d during the global
+ destruction phase of a spawned thread or pseudo-fork (the processes used
+ internally for the "fork" emulation on Windows) are not reported.
+
DEPENDENCIES
perl 5.8.3.
Matt S. Trout asked for it.
COPYRIGHT & LICENSE
- Copyright 2009,2010,2011,2012,2013 Vincent Pit, all rights reserved.
+ Copyright 2009,2010,2011,2012,2013,2014 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.
=head1 VERSION
-Version 0.12
+Version 0.13
=cut
our $VERSION;
BEGIN {
- $VERSION = '0.12';
+ $VERSION = '0.13';
}
=head1 SYNOPSIS