MARCEL / Exporter-Simple-1.10 / Changes

Revision history for Perl extension Exporter::Simple.

1.10  Thu Nov 21 17:00:15 CET 2002
    - Another almost-TOTAL rewrite. Version 1.00 *was* beautiful, but didn't
      quite do what we wanted. Slaven Rezic pointed out that it was still
      necessary to declare our() vars in packages that imported from a module
      that used Exporter::Simple and asked if this requirement could be
      removed. The solution turned out to be somewhat involved (read the
      source for details). Basically the problem was that we exported
      everything during INIT, but perl complains if it doesn't find a
      variable in a package's symbol table during BEGIN. That's why the our()
      declaration was still necessary. Now I've reworked things so that
      scalars, arrays and hashes get exported during BEGIN, but subroutines
      get exported during INIT. It's not that simple though; read the source
      to find out what kinds of hoops I had to jump through.

1.00  Sat Aug 31 18:38:27 CEST 2002
	- TOTAL rewrite. Now that perl 5.8.0 is out, we have attributes
	  on 'our' variables. This means we don't have to clumsily export
	  globals, nor do we need to export lexicals (which was a weird
	  concept anyway). So there's no need for Filter::Simple and
	  PadWalker or any of the ugly workarounds that introduced. And
	  once it occurred to me that Exporter::Simple could just subclass
	  Exporter, and modules wanting to use Exporter::Simple could
	  subclass it, things were a lot easier. Now using the attributes
	  will populate the exporting package's @EXPORT, @EXPORT_OK
	  and %EXPORT_TAGS direcltly, and we let Exporter have its way
	  (with a few slight modifications).

	  It's beautiful. And more proof of the old adage "if it's too
	  complicated, there's probably something wrong with it" - when
	  it's right, it's rather simple and elegant and things easily
	  fall into place.

0.13  Fri Mar 15 22:42:16 CET 2002
	- Incorporated two patches sent by Richard Clamp in response
	  to bug reports by Mark Fowler (thanks guys). First, Makefile.PL
	  now contains Filter::Simple in its PREREQ_PM, and it builds with
	  a newer Attribute::Handler and Filter::Simple, which mess
	  around with our import() sub.

0.12  Tue Jul  3 13:07:30 CEST 2001
	- Changed source filter to insert lexical-inspecting code
	  at the end of the calling module
	- Added documentation effectively saying 'our attributes
	  will be in 5.8.0, so we're not doing any fancy workarounds

0.11  Thu Jun  7 14:00:35 2001
	- Added source filter to rename custom import() routine,
	  so no special name is necessary

0.10  Tue Jun  6 18:37:20 2001
	- Added exportable lexicals and support for a custom _import
	  routine. Also export() and exportable() to manually export
	  globals (as they can't take attributes).

0.02  Wed May 30 13:53:50 2001
	- Added tests, documentation. Renamed 'Export' to 'Exported'
	  and 'ExportOk' to 'Exportable' (Damian's idea)

0.01  Wed May 23 12:57:49 2001
	- original version; created by h2xs 1.20 with options
		-XAn Exporter::Simple

Hosting generously
sponsored by Bytemark