From 58decb39a9154ef2ba7bad0e840ce6faa45b6395 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Fri, 20 Feb 2004 06:17:36 +0000 Subject: [PATCH] Fixed bug #900879. --- plugins/Alias.py | 3 +++ test/test_Alias.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/plugins/Alias.py b/plugins/Alias.py index 7f58258b8..4d6213615 100644 --- a/plugins/Alias.py +++ b/plugins/Alias.py @@ -91,6 +91,9 @@ def makeNewAlias(name, alias): raise AliasError, 'Can\'t mix $* and optional args (@1, etc.)' if original.count('$*') > 1: raise AliasError, 'There can be only one $* in an alias.' + testTokens = callbacks.tokenize(original) + if testTokens and isinstance(testTokens[0], list): + raise AliasError, 'Commands may not be the result of nesting.' def f(self, irc, msg, args): alias = original.replace('$nick', msg.nick) if '$channel' in original: diff --git a/test/test_Alias.py b/test/test_Alias.py index 69972d439..13321ee6b 100644 --- a/test/test_Alias.py +++ b/test/test_Alias.py @@ -67,6 +67,9 @@ class FunctionsTest(SupyTestCase): class AliasTestCase(ChannelPluginTestCase, PluginDocumentation): plugins = ('Alias', 'Filter', 'Utilities') + def testNoAliasWithNestedCommandName(self): + self.assertError('alias add foo "[bar] baz"') + def testDoesNotOverwriteCommands(self): self.assertError('alias add alias "echo foo bar baz"') self.assertError('alias add add "echo foo bar baz"')