1
Author: David Pashley <david@davidpashley.com> vim:ft=diff:
4
Index: irssi-0.8.12/src/perl/irssi-core.pl.h
5
===================================================================
7
+++ irssi-0.8.12/src/perl/irssi-core.pl.h
9
+const char *irssi_core_code =
10
+"# NOTE: this is printed through printf()-like function,\n"
11
+"# so no extra percent characters.\n"
13
+"# %%d : must be first - 1 if perl libraries are to be linked \n"
14
+"# statically with irssi binary, 0 if not\n"
15
+"# %%s : must be second - use Irssi; use Irssi::Irc; etc..\n"
16
+"package Irssi::Core;\n"
25
+" eval { $_[0]->UNLOAD() if $_[0]->can('UNLOAD'); };\n"
26
+" Symbol::delete_package($_[0]);\n"
30
+" my ($data, $id) = @_;\n"
31
+" destroy(\"Irssi::Script::$id\");\n"
33
+" my $package = \"Irssi::Script::$id\";\n"
34
+" my $eval = qq{package $package; %s sub handler { $data; }};\n"
36
+" # hide our variables within this block\n"
37
+" my ($filename, $package, $data);\n"
43
+" eval { $ret = $package->handler; };\n"
49
+" my ($filename, $id) = @_;\n"
52
+" open FH, $filename or die \"File not found: $filename\";\n"
53
+" local($/) = undef;\n"
54
+" my $data = <FH>;\n"
56
+" local($/) = \"\\n\";\n"
58
+" eval_data($data, $id);\n"