# HG changeset patch # User Pierre-Yves David # Date 1431910719 25200 # Node ID 81a395447b345dd8dd7cd002e99e66c8eaa18d53 # Parent 91c49621b2b80c8e145514c67e2dfc163ddb4da6 revset: use 'next()' to detect end of iteration in 'limit' The 'next()' built-in can return a default value, allow to get rid of the confusing try/except code flow. diff -r 91c49621b2b8 -r 81a395447b34 mercurial/revset.py --- a/mercurial/revset.py Sun May 17 17:54:58 2015 -0700 +++ b/mercurial/revset.py Sun May 17 17:58:39 2015 -0700 @@ -1145,12 +1145,11 @@ result = [] it = iter(os) for x in xrange(lim): - try: - y = it.next() - if y in ss: - result.append(y) - except (StopIteration): + y = next(it, None) + if y is None: break + elif y in ss: + result.append(y) return baseset(result) def last(repo, subset, x):