# HG changeset patch # User Lucas Moscovicz # Date 1394747464 25200 # Node ID d642f176df525e493fc7dbf85659c96885cfff4c # Parent 5f8400efca0b01b1749d8879d0437818570b152c revset: changed _iterator() in addset to use the generated list when available Now when all the elements have been generated, the iterator will just use the generated list instead of going through all the elements again. diff -r 5f8400efca0b -r d642f176df52 mercurial/revset.py --- a/mercurial/revset.py Tue Mar 11 16:59:42 2014 -0700 +++ b/mercurial/revset.py Thu Mar 13 14:51:04 2014 -0700 @@ -2353,8 +2353,9 @@ return self._iter def __iter__(self): - for r in self._iterator(): - yield r + if self._genlist: + return iter(self._genlist) + return iter(self._iterator()) def __contains__(self, x): return x in self._r1 or x in self._r2