# HG changeset patch # User Paul Boddie # Date 1531862212 -7200 # Node ID 71d292ceede020549e90a4e2de79635a5fbb5dc8 # Parent ab7b40f5af6d47d2badbeb4867fa68a3af463710 Where patterns start at the same place, obtain the longest match. diff -r ab7b40f5af6d -r 71d292ceede0 moinformat/parsers/common.py --- a/moinformat/parsers/common.py Tue Jul 17 22:38:53 2018 +0200 +++ b/moinformat/parsers/common.py Tue Jul 17 23:16:52 2018 +0200 @@ -144,8 +144,15 @@ match = pattern.search(self.s, self.pos) if match: start, end = match.span() - if self.matching is None or start < self.start: + + # Where patterns match at the same place, obtain the longest + # match. + + if self.matching is None or start < self.start or \ + start == self.start and end - start > self.length: + self.start = start + self.length = end - start self.matching = pattern_name self.match = match