require 'rhino'
p Rhino::VERSION # => 2.0.4
ctx = Rhino::Context.new
ctx.eval('this.bar = 123');
p ctx.eval('(function() { return this.bar })()') # => 123 (as expected)
p ctx.eval('this.bar') # => 123 (as expected)
p ctx.eval('(function() { return this.bar })').call # => nil ???
Seems like there a different this when you invoke a function through #call.