Checkin release notes
layout: Fix bol_as_eol for case where range length is 0

bol_as_eol was meant for non-empty ranges, but the only place where
empty ranges were attempted with bol_as_eol was for Zoom tracking,
and it seems like I did not re-test Zoom after making the bol_as_eol
commit.

Fixes textmate/bugs#4
Fix textmate/bugs#5

When setSelectionString is called during editing of text (like inserting
or deleting a character), it catches layout in a semi-consistent state
where horizontal position of individual characters cannot be determined.
Therefore during such events, we cannot pass the correct screen position
to the call to UAZoomChangeFocus.

So let's do the UAZoomChangeFocus call after this iteration of run loop.
This ensures everything in layout that had to update has updated when
calling UAZoomChangeFocus, thus enabling us to provide correct horizontal
screen position.
Optimize Zoom support a little bit

This makes Zoom support avoid doing all 2 conversions between UTF-8 to UTF-16,
and replaces call to rect_for_range with call to rect_at_index, which is
more efficient.

Note that this is a typical micro-optimization not resulting from any
actual performance measurement, but just from a desire to have a lean
code not doing redundant work.
VariablesPreference: Disable delete button when table is empty
VariablesPreferences: Abort editing before deleting a row

This prevents `tableView:objectValueForTableColumn:row:` from throwing an exception (index beyond bounds) when the user deletes the last row while it is being edited.
Support a "--warn" switch for gen_html.

Default is to suppress any warnings for unassociated GitHub profiles.
Adding some 2012 committers.
QuickLook: Handle thumbnail generation

Read at most 1 KiB or 50 lines of a file and render the attributed string in a bitmap context.

The theme is set to Mac Classic to ensure a white background for best look when the previews are used as icons in Finder.

The user’s default fixed width font in size 4 is used. With this font size only around 7 lines are shown, so we need to make it smaller, but we probably want to scale down the result to allow fractional line heights.

A lot of code is copy/pasted from the QuickLook preview generator.
QuickLook: Check for cancellation

Add a bit of redundant code but it's useless to continue doing stuff if the request is cancelled by the user anyway.
QuickLook: Abort preview when type can't be determined
Set required version of ninja to 1.5
Detect abnormal exit when loading plug-ins

Currently we ask user about skipping it, but it might make sense to also add an uninstall option.
Avoid using Application Support for temporary file

Since the user’s library folder might be on a network we should probably avoid writing to it unless strictly necessary.
When clearing marked range, ensure pending range is also cleared

This fixes an issue with complex input managers.

Using Chinese pinyin input and entering ‘ci’ followed by ‘1’ to insert first glyph would insert the glyph (‘刺’) and then set the pending marked range (0-2), which would have caret end up in the middle of a multi-byte sequence.
Remove rmate from .gitmodules

We removed the actual sub-tree from the repository back in 2d4d4729d26ddef40db4bf09ed811a22e1875787.