Textmate is great but Find in Project is slow as molasses, so everybody’s using Ack in Project bundle. The problem is it doesn’t work with Ruby 1.9 (fails with to_plist ArgumentError) and the problem is Textmate, which provides plist.c that is incompatible with Ruby 1.9. The solution:
# Updating osx-plist for Ruby 1.9 compatibility
$> git clone git://github.com/kballard/osx-plist.git
$> cd osx-plist/ext/plist
$> ruby extconf.rb && make
$> cp plist.bundle /Applications/TextMate.app/Contents/SharedSupport/Support/lib/osx/
The credit for the finding the solution goes to James.
Advertisement
This solution didn’t work for me. I still get this error:
/Users/eric/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/lib/search_dialog.rb:10:in `to_plist’: An object in the argument tree could not be converted (ArgumentError) from /Users/eric/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/lib/search_dialog.rb:10:in `show’ from /Users/eric/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/environment.rb:91:in `show_search_dialog’ from -:2:in `’
I also get an error
:29:in `require’: /Users/manish/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/lib/search_results.rb:26: invalid multibyte char (US-ASCII) (SyntaxError) /Users/manish/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/lib/search_results.rb:25: syntax error, unexpected $end, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END from :29:in `require’ from /Users/manish/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/environment.rb:95:in `present_search’ from /tmp/temp_textmate.uhwyBs:4:in `block in ‘ from /Users/manish/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/lib/search_dialog.rb:17:in `call’ from /Users/manish/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/lib/search_dialog.rb:17:in `show’ from /Users/manish/Library/Application Support/TextMate/Bundles/Ack.tmbundle/Support/environment.rb:91:in `show_search_dialog’ from /tmp/temp_textmate.uhwyBs:3:in `’