Don’t setup variables in test proxy
Replace custom code with kSelectionExtendToWord
Skip modified tabs when opening with “close other”
Don’t re-use scratch document for already open documents
Opening multiple documents selects the last one

This way ⌘W can be used to close the current document and move to the “next” one which was part of the set opened.
fixup! Optimize path::disambiguate
Cache custom icon images

Also fix it so that a file named ‘gen_html’ doesn’t get the HTML icon (as we no longer use path::rank for finding the best icon).
Add API to OakFileIconImage

This allows manually setting up SCM status, link badge, and similar, which avoids having OakFileIconImage do any disk access.
Let file chooser setup OakFileIconImage

This makes it a lot faster as we don’t need to stat the files etc. Presently though there is no SCM badging.
Add ‘scmInfo’ property to file chooser

If set, the file chooser will use this to obtain file SCM status.
Pass SCM info to file chooser
Initialize encoding pop-up (Preferences)

Previously this would always show UTF-8 and cause an existing setting to be overwritten (with UTF-8) when bringing up the preferences window.
Use ‘nil’ to indicate no represented file

The window uses the empty string, but since we use our represented file property to create proxy icons, test if we should setup SCM status watching, etc., we don’t want to test for either nil or empty string in all these places.

This fixes exception from creating OakFileIconImage from empty string.
Restyle navigation bar to be more in line with Lion.

- The shading is a combination of the scope bar and textured button used in Lion/Mountain Lion.
- Add an inactive state.
- Increase click area of the forward/back buttons while decreasing the image size.
- Switch popup menu cell to NSBackgroundStyleLight, previously the text would go to gray when inactive this prevents that though it does lose the drop shadow.
- Various tweaks to alignment and spacing.
Handle targets with no dependencies

These would not be added to the dependency graph and thus no build instructions were generated for them.
Indicate cell prefersTrackingUntilMouseUp

Not really sure if there is any difference, but at least with this, the table view should expect trackMouse:inRect:ofView:untilMouseUp: to run a local event loop (until NSLeftMouseUp).
Introduce path::cache

This gives the cache location — this one is not cleaned as often as the temp directory.
Download s/w updates to cache folder

This should hopefully solve the issue with the (on some systems) fairly aggressive temp cleaner.

Also remove the archive incase the user cancels the update, now that we are extracting it to a less temporary location.
Remove the projectDirectory setting

As I add sub-projects (like the CommitWindow) under Applications, I don’t want those to pickup the parent project’s root, when they are opened on their own.
Change how we update TextMate.app

We now keep the root folder and instead replace the inner Contents folder — hopefully this way LaunchServices won’t add the update as a new entry (causing duplicates to show up in the Open With menu).