Revert "Use "System Events" for request_color()"

This reverts commit 9825e49f421dbe23bf3a6986e10dae292f7df022.

With textmate/textmate@f128304d75333d052a73b200de2addd4eada9cdf this can be reverted.
Revert "Switch to using AppleScript Runner for request_color"

This reverts commit 765cfac73df5765856e935ff46b55fd18a3c045f.

With textmate/textmate@f128304d75333d052a73b200de2addd4eada9cdf this can be reverted.
Use symbolic constant for Fcntl::FD_CLOEXEC
Set FD_CLOEXEC when creating pipes

This way we do not have to explicitly close the pipes after fork’ing.
Users of Executor.run must explicitly request TM_ERROR_FD

This is done by setting ‘:create_error_pipe’ to ‘true’ in the options passed to the function.

The reason we cannot enable it for all commands is that if the command spawns a background/daemon process without closing all open file descriptors, then the new process will effectively stall TextMate::Executor, as it’s preventing the file descriptor from being closed in the parent.

This commit requires that existing uses of TM_ERROR_FD be updated to specify the new argument — since only a handful of commands use it, this is simpler than having to update all commands that does not use this feature of TextMate::Executor.
Let ⌃C signal direct child (of Executor) instead of deepest child

This mimics how a shell works and presumably anything run via TextMate::Executor that spawns child processes (like a build system) will forward SIGINT/SIGTERM to the proper children.
Fix exception when finding links in output from run commands

The script uses ruby’s ‘expand_path’ with the potential path found in the command output, but this command can throw an exception (on non-path arguments).
Add shim for Ruby 1.8

Redirects to ruby 1.8 found on 10.9 and older and provides and error message on Yosemite. This is to be used by bundles that have not yet been updated for 2.0 of ruby.
Point to ruby 1.8 shim

Using a shim allows us to catch when 1.8 of ruby is not present and provide other options.

#ignore
Use Ruby 1.8 for compatibility on Yosemite

This is for backwards compatibility with bundle items that were designed for ruby 1.8. Input is passed along to ruby 1.8 if already installed or if needed downloading and installing a copy for TextMates exclusive use. This does not affect the system ruby version or any other part of the system.
Revert "Use Ruby 1.8 for compatibility on Yosemite"

Revert due to library error referenced in #11.
Use Ruby 1.8 for compatibility on Yosemite

This is for backwards compatibility with bundle items that were designed for ruby 1.8. Input is passed along to ruby 1.8 if already installed or if needed downloading and installing a copy for TextMates exclusive use. This does not affect the system ruby version or any other part of the system. Revised from previous commit due to an error in the ruby build.
Setup RUBYLIB (for our ruby 1.8) to find the included libraries

The binary has hardcoded paths with respect to where the support library is found. To test run: ruby -e'puts $:'.

This is just a quick fix, I am not sure what the proper fix would be since anything below user’s folder is variable. Perhaps we should install ruby 1.8 to /Library instead.
Better fix for the hardcoded library load path in ruby 1.8
Improve ruby 1.8.7 installer

If installing fails we report failure back to TextMate so that it correctly aborts the command (e.g. if command was supposed to replace input, it won’t swallow the input). We write the error log to stderr so that TextMate will show it in the failure sheet.
Merge remote-tracking branch 'origin/master'