From 84e59b05ff0a17178da9ecdb6c5d084e48b42763 Mon Sep 17 00:00:00 2001 From: mathieui Date: Sun, 21 Aug 2016 15:27:53 +0200 Subject: =?UTF-8?q?Don=E2=80=99t=20call=20input=20completion()=20functions?= =?UTF-8?q?=20inside=20completion=20methods?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a placeholder object that can run it afterwards, so that we don’t have side effects inside those functions. --- plugins/irc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'plugins/irc.py') diff --git a/plugins/irc.py b/plugins/irc.py index 56ce5c9c..263d7d22 100644 --- a/plugins/irc.py +++ b/plugins/irc.py @@ -131,6 +131,7 @@ Example configuration from poezio.plugin import BasePlugin from poezio.decorators import command_args_parser +from poezio.core.structs import Completion from poezio import common from poezio import tabs @@ -270,7 +271,7 @@ class Plugin(BasePlugin): sections.remove(section) except: pass - return the_input.new_completion(sections, pos) + return Completion(the_input.new_completion, sections, pos) @command_args_parser.quoted(1, 1) def command_irc_join(self, args): @@ -375,6 +376,6 @@ class Plugin(BasePlugin): sections = self.config.sections() if 'irc' in sections: sections.remove('irc') - return the_input.new_completion(sections, 1) + return Completion(the_input.new_completion, sections, 1) -- cgit v1.2.3