From 793a3cb1bad053ac3366cc34775dbc9b1e9ffb8a Mon Sep 17 00:00:00 2001 From: Nei Date: Wed, 9 Jan 2013 18:15:51 +0100 Subject: [PATCH] perl: simplify code to load scripts --- ChangeLog | 1 + src/plugins/perl/weechat-perl.c | 26 +++++--------------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 52a4663bb..38d6bd2b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -102,6 +102,7 @@ Version 0.4.0 (under dev!) * irc: fix crash when message 352 has too few arguments (bug #37513) * irc: remove unneeded server disconnect when server buffer is closed and server is already disconnected +* perl: simplify code to load scripts * perl: display script filename in error messages * perl: fix calls to callbacks during load of script when multiplicity is disabled (bug #38044) diff --git a/src/plugins/perl/weechat-perl.c b/src/plugins/perl/weechat-perl.c index 2de10d24a..457655641 100644 --- a/src/plugins/perl/weechat-perl.c +++ b/src/plugins/perl/weechat-perl.c @@ -83,34 +83,18 @@ char *perl_weechat_code = "package WeechatPerlScriptLoader;" #endif "$weechat_perl_load_eval_file_error = \"\";" - "sub weechat_perl_load_file" - "{" - " my $filename = shift;" - " local $/ = undef;" - " open FILE, $filename or return \"__WEECHAT_PERL_ERROR__\";" - " $_ = ;" - " close FILE;" - " return qq{\n#line 1 \"$filename\"\n$_};" - "}" "sub weechat_perl_load_eval_file" "{" -#ifdef MULTIPLICITY - " my $filename = shift;" -#else " my ($filename, $package) = @_;" -#endif - " my $content = weechat_perl_load_file ($filename);" - " if ($content eq \"__WEECHAT_PERL_ERROR__\")" - " {" - " return 1;" - " }" #ifdef MULTIPLICITY - " my $eval = $content;" + " do $filename;" #else - " my $eval = qq{package $package; $content;};" + " eval \"package $package; \".'do $filename;';" #endif + " if ($!)" " {" - " eval $eval;" + " $weechat_perl_load_eval_file_error = $!;" + " return 1;" " }" " if ($@)" " {"