Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / perl / irssi-core.pl
index 31fbe484e86dd4d1f6b2b5c8f1867c28a81d595b..11aa0f6f50275cf51ec50629c6927dacb8ae7a80 100644 (file)
@@ -6,14 +6,15 @@
 # %%s : must be second - use Irssi; use Irssi::Irc; etc..
 package Irssi::Core;
 
-use Symbol qw(delete_package);
+use Symbol;
 
 sub is_static {
   return %d;
 }
 
 sub destroy {
-  delete_package($_[0]);
+  eval { $_[0]->UNLOAD() if $_[0]->can('UNLOAD'); };
+  Symbol::delete_package($_[0]);
 }
 
 sub eval_data {
@@ -29,8 +30,10 @@ sub eval_data {
   }
   die $@ if $@;
 
-  eval {$package->handler;};
+  my $ret;
+  eval { $ret = $package->handler; };
   die $@ if $@;
+  return $ret;
 }
 
 sub eval_file {