##// END OF EJS Templates
crecord: call prevsibling() and nextsibling() directly...
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().

File last commit:

r21486:16352b34 default
r29130:ed2a3818 default
Show More
filelogentry.tmpl
7 lines | 314 B | application/x-cheetah | CheetahLexer
<item>
<title>{desc|strip|firstline|strip|escape}</title>
<link>{urlbase}{url|urlescape}log{node|short}/{file|urlescape}</link>
<description><![CDATA[{desc|strip|escape|websub|addbreaks|nonempty}]]></description>
<author>{author|obfuscate}</author>
<pubDate>{date|rfc822date}</pubDate>
</item>