0.24 9 November 2019
Adoption.
0.23 24 May 2012
Added license information. Verified it works with 5.16.0, threaded
and unthreaded.
0.22 13 April 2012
Fixed spelling error as suggested by Gregor Herrmann. RT #76532
0.21 31 March 2012
Fixed some pod issues. Brought code in line with current esthetics.
Changed internal storage from packed L3 to packed w3 format, for
hopefully smaller memory footprint.
0.20 20 September 2010
Fixed problem that started to manifest itself with a slightly different
handling of localized $@, starting in perl 5.13.x.
0.19 24 April 2007
Fixed problem in test-suite that was long overseen because it would
work ok if load.pm was already installed (which it was on my dev
system). Not sure whether this was internally introduced, or some
new feature of Test::More.
0.18 18 October 2005
Added fix for missing Kwalitee point for not using 'strict'
0.17 9 July 2005
Finished AutoLoader emulation mode and adapted testing accordingly.
Fixed some test problems if ifdef.pm is not installed. Changes tests
so that the first failure will die with a dump so that specific
problems can be worked on more precisely.
Verified load.pm works on Perl 5.8.7.
30 September 2004
Added initial support AutoLoader emulation mode.
Verified load.pm will work on Perl 5.8.5.
0.16 15 March 2004
Changed tracing calls so that they get optimized away if tracing is
not active.
Fixed bug that would cause "ifdef.pm" to split on every character if
"now" loading was selected.
Fixed bug with subs that really do not exist. Added some more test
with regards to the interface with "ifdef.pm".
0.15 14 March 2004
Added support for "ifdef.pm". If ifdef.pm is loaded, then all eval's
will be done using the source filter provided by ifdef, possibly
activating code depending on environment variables being set. Added
tests to check functionality when ifdef.pm is loaded.
Fixed some possible minor problems with localizing $_: it appears a
simple "local $_" is not enough, instead a "local $_ = \my $foo" seems
to be the canonical solution to this problem as of now according to
p5p.
28 January 2004
Made sure the test-suite cleans up on multi-versioned systems.
0.14 28 December 2003
Added automatic required modules update using Devel::Required.
0.13 12 November 2003
Perl 5.8.2 does not handle empty subroutines (sub foo {}) very well.
In some cases, it segfaults. This happened in the test-suite.
Test-suite has been adapted (that really is the only change, apart
from the version number).
0.12 29 September 2003
Added support for register additional "use" modules for specific
packages (e.g. when subroutines need to be handled by a source
filter). Tests to be added later, if ever here.
26 September 2003
Realised testing for running under taint was pretty trivial: the
entire test-suite now runs twice: once with and once without tainting.
0.11 26 September 2003
Turns out load.pm didn't work when taint was active. And it silently
failed to boot. This should now be fixed. Added a todo to make tests
that will functioning under taint: activating taint in the tests
caused too many failures to allow checking in the allotted time..
0.10 18 September 2003
Frank Tolstrup pointed out some test misses because of CRLF versus LF
issues on Windows. These should now also be fixed. Mention Frank
in the new ACKNOWLEDGEMENTS section of load.
Added thread indicator to trace if threads are used. This should
facilitate debugging of the Thread::xxx modules. Added tests for
it as well. For the trace to properly detect threads, the threads
module must have been loaded prior to loading load.pm.
17 September 2003
Hmmm... I may be taking the "release soon, release often" too
literally. Anyway, Frank Tolstrup's output of the failing test-suite
under Windows, pointed to a possible seek() problem under Windows.
Added a binmode() in case the source-file is opened again for on-demand
loading of a subroutine. And the tests with $Foo::{} also failed
under Windows: they shouldn't anymore.
Installed experimental trace possibility that is activated by setting
the environment variable "LOAD_TRACE" to a true value. This is still
experimental so therefore only documented here.
0.09 17 September 2003
Frank Tolstrup pointed out that many of the tests wouldn't run under
Windows because of quoting issues. Adapted the test so that would
not be an issue anymore. Hope this is the last one of today ;-)
0.08 17 September 2003
Indeed, it is one of those days. Added some more tests to make sure
that subroutines are indeed loaded on demand.
0.07 17 September 2003
Argh. I guess it is one of those days. Using strict in load.pm
bleeds into the eval's and causes compile errors. And of course
the test-suite didn't catch it. Removed stricture but added a
comment in the source about it. Adapted the test-suite so it _will_
catch it this time (but won't of course, because it's fixed).
0.06 17 September 2003
Finally figured how to make something like a test-suite. Now checks
whether ondemand subs can be called and whether or not they exist
and can be can()ned.
Argh. A typo caused the "now" functionality to completely broken.
This is now fixed. Problem was introduced in version 0.02.
Added optional support for strict and warnings in the source.
11 August 2003
Fixed stupid typo in Makefile.PL that caused description of module
not to be included ever.
Verified load.pm will work on Perl 5.8.1.
0.05 29 December 2002
Increased version to be able to upload a more recent version of load.pm
to CPAN to prevent interference with Jos 'Kane' Boumans' version of
load.pm.
0.04 21 October 2002
Fixed small problem when running with warnings and attempting to access
non-existing subroutine. Spotted by Lars Fenneberg.
0.03 1 October 2002
Changed using of lexical file handles to globs, to ensure compatibility
with earlier versions of Perl.
Fixed problem with running with warnings (caused by UNIVERSAL::can
redefine). Removed use strict and other stuff to make this module
yet leaner and meaner.
0.02 30 September 2002
Now hijacks UNIVERSAL::can so that ->can does the right thing for
subroutines that have not been loaded yet. As a side effect, this
loads the subroutine specified. Added documentation to reflect that.
Localised $_, $! and $@ at several places just to make sure they
don't clobber anything on the outside.
Added support for line numbers and file name (swiped from AutoSplit
generated code), so that eval errors will give you more information.
Added check for DESTROY: apparently you get an infinite loop if you're
gotoing the DESTROY if it doesn't exist. Now AUTOLOAD just returns
for DESTROY if it doesn't exist.
Fixed typo in _scan() which would trigger a loop if a second __END__
was encountered in the source of a module.
0.01 29 September 2002
First version of load.pm, renamed from jit.pm after discussions on and
off p5p.