I disagree---it's far far too easy to accidentally run some shell script which just goes away and spins. And if you do you've got to kill TextMate and lose all your unsaved changes. This has cost me a number of hours of work already in the few weeks I've been using TextMate.
Actually Ctrl+C should stop the shell script at any time, and return control of TM to you.
I'd love to learn that there's a way to get this to work in all cases, but I've only found Ctrl+C to work when the script is directly invoked by a "Command". Things like backtick shell expansions in snippets don't appear to be listening...
I hadn't realized there would be much controversy that this was an opportunity for improvement in TextMate's architecture. Is there a way to cancel any kind of shell command spawned by the application?
Am I also the only one annoyed by the current Undo implementation?