diff -r 7b460b49bf7b -r cafd8a8fb713 mercurial/util.py --- a/mercurial/util.py Sat Jun 02 15:35:53 2012 -0500 +++ b/mercurial/util.py Fri Jun 01 17:05:31 2012 -0700 @@ -202,10 +202,22 @@ return f +try: + collections.deque.remove + deque = collections.deque +except AttributeError: + # python 2.4 lacks deque.remove + class deque(collections.deque): + def remove(self, val): + for i, v in enumerate(self): + if v == val: + del self[i] + break + def lrucachefunc(func): '''cache most recent results of function calls''' cache = {} - order = collections.deque() + order = deque() if func.func_code.co_argcount == 1: def f(arg): if arg not in cache: @@ -865,7 +877,7 @@ Returns less than L bytes if the iterator runs dry.""" left = l buf = '' - queue = collections.deque(self._queue) + queue = deque(self._queue) while left > 0: # refill the queue if not queue: