Hi,
I've stumbled on a problem with TextMate's python handling which goes into an infinite loop (or a really long computation) during certain circumstances. When this happens, TextMate doesn't react to any input anymore, which causes dataloss of everything typed after the last save.
I have the following function (<> only shows the position of the caret and is no text) in a python file:
def c(docstring, baseindent=0): #from http://www.python.org/dev/peps/pep-0257/ lines = docstring.splitlines() # Determine minimum indentation (first line doesn't count): indent = sys.maxint for line in lines[1:]: stripped = line.lstrip() if stripped: indent = min(indent, len(line) - len(stripped)) # Remove indentation (first line is special): trimmed = [<>lines[0].strip()] if indent < sys.maxint: indent -= baseindent for line in lines[1:]: trimmed.append(line[indent:].rstrip()) # Return a single string: return '\n'.join(trimmed)
Now I type ]<enter> and watch TextMate die. It'd be cool if this could be fixed.
To reproduce the problem: 1. Open TextMate 2. Paste the above function into TextMate, put your caret where <> is (and remove <> from the text) 3. Go into python mode (shift-ctrl-opt-p 4) 4. enter ]<cr>
Bye, Nico