diff --git a/plugins/Alias.py b/plugins/Alias.py index 019a4ed5f..1ddc34b78 100644 --- a/plugins/Alias.py +++ b/plugins/Alias.py @@ -93,7 +93,8 @@ class RecursiveAlias(Exception): pass def findAliasCommand(s, alias): - r = re.compile(r'(^|\[)\s*%s' % re.escape(s)) + s = re.escape(s) + r = re.compile(r'(?:(^|\[)\s*%s|\|\s*%s)' % (s, s)) return bool(r.search(alias)) dollarRe = re.compile(r'\$(\d+)') diff --git a/test/test_Alias.py b/test/test_Alias.py index 3c5eb0a64..946921ba0 100644 --- a/test/test_Alias.py +++ b/test/test_Alias.py @@ -47,6 +47,8 @@ class FunctionsTest(unittest.TestCase): self.failUnless(Alias.findAliasCommand(s, '[ %s]' % s)) self.failUnless(Alias.findAliasCommand(s, 'foo bar [%s]' % s)) self.failUnless(Alias.findAliasCommand(s, 'foo bar [ %s]' % s)) + self.failUnless(Alias.findAliasCommand(s, 'foo | %s' % s)) + self.failUnless(Alias.findAliasCommand(s, 'foo |%s' % s)) def testFindBiggestDollar(self): self.assertEqual(Alias.findBiggestDollar(''), None)