Mercurial > hg
comparison mercurial/bdiff.c @ 29130:ed2a3818c1fc
crecord: call prevsibling() and nextsibling() directly
The 3 classes for items used in crecord (uiheader, uihunk, uihunkline) all have
prevsibling() and nextsibling() methods. The two methods are used to get the
previous/next item of the same type of the same parent element as the current
one: when `a` is a uihunkline instance, a.nextsibling() returns the next line
in this hunk (or None, if `a` is the last line).
There are also two similar methods: previtem() and nextitem(). When called with
constrainlevel=True (the default) they simply returned the result of
prevsibling()/nextsibling(). Only when called with constrainlevel=False they
did something different: they returned previous/next item regardless of its
type (so if `a` is the last line in a hunk, a.nextitem(constrainlevel=False)
could return the next hunk or the next file -- something that is not a line).
Let's simplify this logic and make code call -sibling() methods when only
siblings are needed and -item() methods when any item would do, and then remove
the constrainlevel argument from previtem() and nextitem().
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 06 May 2016 19:52:21 +0800 |
parents | 87d4a6c5567e |
children | 66dbdd3cc2b9 |
comparison
equal
deleted
inserted
replaced
29129:e6dfb0e4eeef | 29130:ed2a3818c1fc |
---|