##// END OF EJS Templates
match: remove a mutable default argument...
match: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs. We added support for None in the underlying function in the parent commit. therefore we do not need to do anything but passing None.

File last commit:

r25979:b723f05e default
r26328:188c1e95 default
Show More
strutil.py
36 lines | 953 B | text/x-python | PythonLexer
Vadim Gelfer
fix issue 322....
r2953 # strutil.py - string utilities for Mercurial
#
# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
#
Martin Geisler
updated license to be explicit about GPL version 2
r8225 # This software may be used and distributed according to the terms of the
Matt Mackall
Update license to GPLv2+
r10263 # GNU General Public License version 2 or any later version.
Vadim Gelfer
fix issue 322....
r2953
Gregory Szorc
strutil: use absolute_import...
r25979 from __future__ import absolute_import
Vadim Gelfer
fix issue 322....
r2953 def findall(haystack, needle, start=0, end=None):
if end is None:
end = len(haystack)
if end < 0:
end += len(haystack)
if start < 0:
start += len(haystack)
while start < end:
c = haystack.find(needle, start, end)
if c == -1:
break
yield c
start = c + 1
def rfindall(haystack, needle, start=0, end=None):
if end is None:
end = len(haystack)
if end < 0:
end += len(haystack)
if start < 0:
start += len(haystack)
while end >= 0:
c = haystack.rfind(needle, start, end)
if c == -1:
break
yield c
end = c - 1