Added SILC Thread Queue API
[runtime.git] / apps / irssi / src / perl / irssi-core.pl.h
index 3e4ec9a8bc858fa079a62e28d8fbca3f334506d6..9c4dd606f8d0160a286d26e2efca4398f3499d5e 100644 (file)
@@ -7,14 +7,15 @@ const char *irssi_core_code =
 "# %%s : must be second - use Irssi; use Irssi::Irc; etc..\n"
 "package Irssi::Core;\n"
 "\n"
-"use Symbol qw(delete_package);\n"
+"use Symbol;\n"
 "\n"
 "sub is_static {\n"
 "  return %d;\n"
 "}\n"
 "\n"
 "sub destroy {\n"
-"  delete_package($_[0]);\n"
+"  eval { $_[0]->UNLOAD() if $_[0]->can('UNLOAD'); };\n"
+"  Symbol::delete_package($_[0]);\n"
 "}\n"
 "\n"
 "sub eval_data {\n"
@@ -30,8 +31,10 @@ const char *irssi_core_code =
 "  }\n"
 "  die $@ if $@;\n"
 "\n"
-"  eval {$package->handler;};\n"
+"  my $ret;\n"
+"  eval { $ret = $package->handler; };\n"
 "  die $@ if $@;\n"
+"  return $ret;\n"
 "}\n"
 "\n"
 "sub eval_file {\n"