(Arne Babenhauserheide)
2013-03-25: more explanation and avoid an unnecessary string slicing. more explanation and avoid an unnecessary string slicing.
diff --git a/wisp.py b/wisp.py --- a/wisp.py +++ b/wisp.py @@ -149,7 +149,13 @@ class Line: inbrackets += 1 elif not instring and i == ")": inbrackets -= 1 - if not instring and not inbrackets and i == ":": + if (not instring and + not inbrackets and + i == ":" and # optimization to be able to avoid string + # slicing when there can be no hit. + n # avoid content[-1:2] (which is an unnecessary + # slicing, since it is always "" + ): if self.content[n-1:n+2] == " : " or self.content[n-1:] == " :": bracketstoclose += 1 self.content = self.content[:n] + "(" + self.content[n+1:]