From 687601b7a9c26c7d5739255e86271b501f0f73e3 Mon Sep 17 00:00:00 2001 From: Tom Feist Date: Thu, 4 Nov 2010 18:23:03 +0000 Subject: make hist_search attempt to load uberprompt if it isn't already. If that fails, then die --- history-search/rl_history_search.pl | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'history-search') diff --git a/history-search/rl_history_search.pl b/history-search/rl_history_search.pl index eebb6c7..e6781db 100644 --- a/history-search/rl_history_search.pl +++ b/history-search/rl_history_search.pl @@ -91,12 +91,24 @@ sub script_is_loaded { } unless (script_is_loaded('uberprompt')) { - die "This script requires 'uberprompt.pl' in order to work. " - . "Please load it and try again"; -} else { + print "This script requires 'uberprompt.pl' in order to work. " + . "Attempting to load it now..."; + Irssi::signal_add('script error', \&load_uberprompt_failed); + Irssi::command("script load uberprompt.pl"); + unless(script_is_loaded('uberprompt')) { + load_uberprompt_failed("File does not exist"); + } history_init(); } +sub load_uberprompt_failed { + Irssi::sigal_remove('script error', \&load_prompt_failed); + print "Script could not be loaded. Script cannot continue. " + . "Check you have uberprompt.pl installed in your path and " + . "try again."; + die "Script Load Failed: " . join(" ", @_); +} + sub history_init { Irssi::settings_add_bool('history_search', 'histsearch_debug', 0); -- cgit v1.2.3