On 14. Nov 2006, at 23:04, cremes.devlist@mac.com wrote:
[...] I found a solution though I don't like it very much. I changed my #require to use the absolute path to the plist gem, so now there isn't a name collision.
You can also do:
require 'rubygems' require_gem 'plist'
Interestingly, TextMate does have its own plist implementation. It's stored at TextMate.app/Contents/SharedSupport/Support/lib and is a compiled binary object. It's using lots of CoreFoundation stuff internally (run 'nm plist.bundle' for a list of symbols) and thankfully there aren't any method name collisions.
The TM plist uses CoreFoundation, meaning it can read ASCII (old- style/openstep) and binary property lists in addition to XML plists -- the rubygem version only does the latter.
Is there a way to force TextMate to put your local gems repository earlier in the load path than its own internal libraries?
The problem with that is, then TM would start “crash” from getting the wrong plist, in all the TM commands which use our plist extension.
But probably we can re-export RUBYLIB for scripts running under RubyMate to not have TM’s support path included -- though personally I do much enjoy having it there.