##// END OF EJS Templates
prevent cyclic alias definitions
vivainio -
Show More
@@ -6,7 +6,7 b' Requires Python 2.3 or newer.'
6
6
7 This file contains all the classes and helper functions specific to IPython.
7 This file contains all the classes and helper functions specific to IPython.
8
8
9 $Id: iplib.py 1821 2006-10-12 21:14:44Z vivainio $
9 $Id: iplib.py 1822 2006-10-12 21:38:00Z vivainio $
10 """
10 """
11
11
12 #*****************************************************************************
12 #*****************************************************************************
@@ -57,7 +57,7 b' import tempfile'
57 import traceback
57 import traceback
58 import types
58 import types
59 import pickleshare
59 import pickleshare
60
60 from sets import Set
61 from pprint import pprint, pformat
61 from pprint import pprint, pformat
62
62
63 # IPython's own modules
63 # IPython's own modules
@@ -1598,9 +1598,16 b' want to merge them back into the new files.""" % locals()'
1598
1598
1599 """
1599 """
1600 line = fn + " " + rest
1600 line = fn + " " + rest
1601
1602 done = Set()
1601 while 1:
1603 while 1:
1602 pre,fn,rest = self.split_user_input(line)
1604 pre,fn,rest = self.split_user_input(line)
1603 if fn in self.alias_table:
1605 if fn in self.alias_table:
1606 if fn in done:
1607 warn("Cyclic alias definition, repeated '%s'" % fn)
1608 return ""
1609 done.add(fn)
1610
1604 l2 = self.transform_alias(fn,rest)
1611 l2 = self.transform_alias(fn,rest)
1605 # dir -> dir
1612 # dir -> dir
1606 if l2 == line:
1613 if l2 == line:
General Comments 0
You need to be logged in to leave comments. Login now