[TxMt] Re: TextMate::UI.request_confirmation fails; Ruby version in bundle scripts

Allan Odgaard mailinglist at textmate.org
Sat Feb 8 08:28:46 UTC 2014


On 8 Feb 2014, at 0:13, Curt Sellmer wrote:

> […] TextMate::UI.request_confirmation […]
> ArgumentError: An object in the argument tree could not be converted
> […]
> It is runing ruby version:  2.0.0-p247
>
> Is this a known problem.  Or perhaps a problem using Ruby 2.0?

It is a problem with ruby 2.0 and the (binary) plist extension we use. 
Since the extension is built with the ruby SDK (so to speak) I don’t 
think it can really be made to work with arbitrary versions of ruby 
(that have SDK incompatibilities).

Though I see there now is a property list reader in 100% ruby: 
https://github.com/ckruse/CFPropertyList

We could switch to that, though some of the library code would likely 
also need updating.

> […] go_to_alternate_file.rb […] The first line of the this file is
> #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
> […]
> Am I missing something?

The commands which call this script do so by using "${TM_RUBY:-ruby}" 
(effectively ignoring the script’s shebang).

The reason they do that is (as I understand it) intentional, as the 
Rails bundle may load stuff from the user’s project (for member file 
queries etc.), and therefor should use the version of ruby that the user 
normally uses.

Unfortunately this means that all code referenced by the Rails bundle 
must be compatible with all versions of ruby.

I’m not sure what to do about this… we can start by trying out the 
source version of the plist loader and take it from there.


More information about the textmate mailing list