[TxMt] Problem with TextMate's Builder.rb and ActiveSupport on Leopard

Markus Prinz markus.prinz at qsig.org
Sun Dec 23 18:45:20 UTC 2007


Hello list,

when running the following simple Ruby-Program:

require 'rubygems'
require 'active_support'

using Command+R, I get the following output:

/Library/Ruby/Gems/1.8/gems/builder-2.1.2/lib/blankslate.rb:84:in  
`blank_slate_method_added': stack level too deep (SystemStackError)
	from /Library/Ruby/Gems/1.8/gems/builder-2.1.2/lib/blankslate.rb: 
84:in `blank_slate_method_added'
	from /Applications/TextMate.app/Contents/SharedSupport/Support/lib/ 
builder.rb:86:in `method_added'
	from /Applications/TextMate.app/Contents/SharedSupport/Support/lib/ 
builder.rb:111
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in  
`gem_original_require'
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `require'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/ 
active_support/core_ext/array/conversions.rb:1
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in  
`gem_original_require'
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `require'
	 ... 8 levels...
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/ 
active_support.rb:30
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:32:in  
`gem_original_require'
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:32:in `require'
	from /Users/cypher/Projects/test.rb:2
/Library/Ruby/Gems/1.8/gems/builder-2.1.2/lib/blankslate.rb:84:in  
`blank_slate_method_added': stack level too deep (SystemStackError)
	from /Library/Ruby/Gems/1.8/gems/builder-2.1.2/lib/blankslate.rb: 
84:in `blank_slate_method_added'
	from /Applications/TextMate.app/Contents/SharedSupport/Support/lib/ 
builder.rb:86:in `method_added'
	from /Applications/TextMate.app/Contents/SharedSupport/Support/lib/ 
builder.rb:111
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in  
`gem_original_require'
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `require'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/ 
active_support/core_ext/array/conversions.rb:1
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in  
`gem_original_require'
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `require'
	 ... 8 levels...
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/ 
active_support.rb:30
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:32:in  
`gem_original_require'
	from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:32:in `require'
	from /Users/cypher/Projects/test.rb:2

(OS X.5, default Ruby 1.8.6p111, TextMate Build 1436)

The problem is that both the builder-gem and TextMate's builder.rb try  
to alias method_added to blank_slate_method_added. I've patched TM's  
builder.rb to alias to tm_blank_slate_method_added instead, which  
works. However, this is only a hack to fix this problem, I'm sure  
there is a better way to address this (e.g. builder.rb checking wether  
a module 'Builder' already exists, and if not, load tm_builder.rb or  
something like that).

regards, Markus



More information about the textmate mailing list