<div class="markdown">
<p dir="auto">On 4 Jun 2014, at 23:18, Attila Györffy wrote:</p>

<p dir="auto">Sorry about the late reply.</p>

<blockquote>
<p dir="auto">I know this is a little bit early to start talking about the new OS X but I’m an early adopter and try to fix issues that arise prior to the final release so the time most people upgrade, tools that mean a lot to me (like TextMate itself) can be used without having to worry a lot.</p>
</blockquote>

<p dir="auto">Appreciated — Not yet on 10.10 myself.</p>

<blockquote>
<p dir="auto">[…] 1.8 is gone and has been replaced with a ‘Current’ symlink that (as of writing) points to version 2.0 (I guess this could be Apple’s move to support new default Rubies later on in a consistent manner.)</p>
</blockquote>

<p dir="auto">I believe the <code>Current</code> symlink has always existed.</p>

<p dir="auto">So we have these options:</p>

<ol>
<li value=1><p dir="auto">Include our own ruby 1.8 (for 10.10 users) and update all shebangs to find that.</p></li>
<li value=2><p dir="auto">Include our own ruby 2.0 (for 10.7 & 10.8) and update all shebangs plus code to run on 2.0.</p></li>
<li value=3><p dir="auto">Use <code>Current</code> and ensure all code works on both 1.8 and 2.0.</p></li>
</ol>

<p dir="auto">For a quick fix I am leaning toward option #1. Long-term we should do #2.</p>

<p dir="auto">I think option #3 is a little painful and will require testing against <code>RUBY_VERSION</code> for some code.</p>

<blockquote>
<p dir="auto">Allan, how can I start working on this?</p>
</blockquote>

<h1>Step One</h1>

<p dir="auto">We need to create a new bundle and package ruby 1.8 into that bundle’s Support folder. The binary should be named <code>ruby18</code> (or similiar distinctive name).</p>

<p dir="auto">The bundle should then include a setting that sets <code>PATH</code> to <code>$PATH:$TM_BUNDLE_SUPPORT/ruby18/bin</code>.</p>

<p dir="auto">All ruby shebangs then need to be updated to use <code>#!/usr/bin/env ruby18</code>.</p>

<h1>Step Two</h1>

<p dir="auto">Add ruby 2.0 to the same bundle and to the <code>PATH</code> as well.</p>

<h1>Step Three</h1>

<p dir="auto">Update ruby code in the bundle-support bundle to work on both 1.8 and 2.0. This will be required unless we migrate all commands at once.</p>

<h1>Step Four</h1>

<p dir="auto">Update other ruby code to work on 2.0 and update the shebang to <code>#!/usr/bin/env ruby20</code>.</p>

</div>