summaryrefslogtreecommitdiff
path: root/fml
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-08-05 11:56:01 +0000
committerfukachan <fukachan>2001-08-05 11:56:01 +0000
commit63e18eb96c1e4c77f2b578036d072db68f372359 (patch)
tree3caddee6fa74e5536e60dbbb6474187621b4570b /fml
parent2ca322ef1e858ee7c996f761e05ab5b7703b4282 (diff)
downloadfml8-63e18eb96c1e4c77f2b578036d072db68f372359.tar.gz
fml8-63e18eb96c1e4c77f2b578036d072db68f372359.tar.bz2
fml8-63e18eb96c1e4c77f2b578036d072db68f372359.zip
set @ISA = qw(IO::Adapter::ErrorStatus) to call error_set()
check $@ before call configure() add more debug codes
Diffstat (limited to 'fml')
-rw-r--r--fml/lib/IO/Adapter.pm14
1 files changed, 11 insertions, 3 deletions
diff --git a/fml/lib/IO/Adapter.pm b/fml/lib/IO/Adapter.pm
index 43bc558e..49388358 100644
--- a/fml/lib/IO/Adapter.pm
+++ b/fml/lib/IO/Adapter.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Adapter.pm,v 1.4 2001/06/09 14:27:39 fukachan Exp $
+# $FML: Adapter.pm,v 1.5 2001/06/29 05:57:33 fukachan Exp $
#
package IO::Adapter;
@@ -13,6 +13,9 @@ use strict;
use Carp;
use IO::Adapter::ErrorStatus qw(error_set error error_clear);
+# prepare error_set() is called
+@ISA = qw(IO::Adapter::ErrorStatus);
+
BEGIN {}
END {}
@@ -179,9 +182,14 @@ sub new
@ORIG_ISA = @ISA unless $FirstTime++;
@ISA = ($pkg, @ORIG_ISA);
+ printf STDERR "%-20s %s\n", "IO::Adapter::ISA:", "@ISA" if $ENV{'debug'};
eval qq{ require $pkg; $pkg->import();};
- $pkg->configure($me, $args) if $pkg->can('configure');
- error_set($me, $@) if $@;
+ unless ($@) {
+ $pkg->configure($me, $args) if $pkg->can('configure');
+ }
+ else {
+ error_set($me, $@);
+ }
return bless $me, $type;
}