Remove retain cycle from pasteboard history window
Using cut/copy will always update the system pasteboard

Previously we only updated the system pasteboard if it was different, but some users copy rich text from one application, paste it in TextMate and then copy it (in TextMate) with the expectation that the rich styles are stripped.
Scroll to caret failed if mouse button was pressed

We want to disable “make selection visible” when the user is drag-selecting, though the previous check was too broad and would disable it if user opened a document via double click (e.g. a find in folder result).
Add showWindow:/close methods for HTML output window controller

These must be used for proper management of the “retainedSelf” property.
Remove unnecessary check in menu item validation

Since the HTML output window responds to toggleHTMLOutput: we would never be called when that window is key.
Parse ‘autoRefresh’ key from tmCommand files

This can be set to ‘onDocumentChange’ to indicate that the command should be re-run when the document changes, though the code hasn’t yet been written to handle this.
Simplify parsing of multiple choice keys (tmCommand)
We use camelCase for parameter names
Use dispatch queue instead of a thread for reading command output
Use custom code instead of process_t
Remove process_t
Use ‘assign’ instead of ‘weak’ when building for 10.7
Change a few instances of floorf/fabsf → floor/fabs
Don’t use NS prefix for custom functions
Refactor/simplify command runner
Support initial content when creating temporary files
Use new path::temp API to set initial content
Use std::string for memory management
Implement delegate method for WebView load failures

This can happen if the WebView itself terminates the load, for example if window.close() is called from JavaScript.
Use htmlOutputView.runningCommand instead of command::runner_t

The latter is updated via a dispatch queue and thus might be delayed (to after end of current event loop cycle). This is relevant when WebView itself terminates the URL loading and calls the “WebView should close” delegate method.

Here the HTML output view property has been updated (via the WebView delegate method) but the command runner has not yet executed the completion code (which updates it’s “is running” state).