Remove debug output

I was initially under the impression that no data should be sent past EOF but from testing it is clear that this assumption is incorrect. It’s unimportant though as we do handle the case (though we didn’t initially, and that’s why I put in the fprintf, to verify the situation I guarded for actually was happening).
Make code to obtain character class public

This includes renaming the constants from using a rather generic kType prefix to kCharacterClass.
Improve tab trigger boundary checks

When two neighboring characters have different character class or one is an alpha numeric character (excl. underscore) and the other is not, we consider this a valid boundary for a tab trigger.

This closes issue #157.
Add a TM_ISSUE_URL setting

See https://github.com/avian/hyperlink-helper.tmbundle/commit/570d25795d4c68d0ac809073a238c40dabe26ccc for detauls.
Update ramte

The new version supports reading settings from /etc/rmate.rc and ~/.rmate.rc.

It also does a better atomic save.
Updated Preferences icons for HiDPI displays.
Make OakRunIOAlertPanel accessible from C++

I moved it to a C header. An alternative would be to put some #ifdef’s around the Objective-C stuff in OakAppKit.h, but with the standalone header, it’s clear that this is the only thing we need from OakAppKit.
Test if bind or listen fails

This is motivated by issue #165 where someone reports the named socket does not exist.
Retire code necessary to gracefully upgrade from r9110
Allow relaunch without user interaction
Software update no longer asks about saving changes

If session restore has been disabled then we will still ask, since the user would otherwise lose his changes. Ideally we’d launch the new instances with session restore temporarily enabled.
Pasting on empty line no longer inserts newline

This closes issue #69.
Split disableIndentCorrections into two settings

The `disableIndentCorrections` setting now only disables the (aggressive) indent corrections that TextMate does while you type.

There is an additional `indentOnPaste` which you can set to:

1. `simple` — this is the indent behavior which was previously implied when setting `disableIndentCorrections`. It indents the paste to the position of the caret and works well for Python.
2. `disable` — the text is inserted as-is without indenting it.
3. «unset» — indent the paste based on the indent patterns of the current scope.
Add gdb targets to build.ninja

Since ninja run each build job with its own stdin/out/err we can’t launch gdb itself in a build job, so we use osascript to launch gdb in a new window.

I used Terminal for this only because it is simpler to script than iTerm2.
Checkin release notes
Let configure create DefaultBundles.tbz

Motivated by a lot of “where is the syntax highlight?” questions from users that build from source, we now always create the DefaultBundles.tbz (if it doesn’t exist).
Favorites prefixed with ‘[DIR]’ show folders within

For example if you have all your projects under ~/Projects then you can do:

    mkdir -p ~/Library/Application\ Support/TextMate/Favorites
    cd ~/Library/Application\ Support/TextMate/Favorites
    ln -s ~/Projects "[DIR] My Projects"

This will then have all the folders inside ~/Projects show when you choose Open Favorites… (⇧⌘O).

Long-term it might be useful to store actual property lists in the favorites folder, akin to smart folders (i.e. describe a query for what to show) and/or allow descending into the folders shown in the ⇧⌘O window.
Download URL now taken from the GitHub response

Previously it was based on a hardcoded URL template. This also adds an extra check on the GitHub response, to see if we actually got a URL back.
Update URL for ninja and CxxTest bundles

These are now stored at the TextMate GitHub account.
Use Objective-C literals

This brings it in line with the rest of the source, which have embraced these.