Done. See v0.4.4
I would like to also get exception behavior well defined across libraries, because that is really the only thing keeping us from using commonjs from Less. Specifically:
* what happens in Ruby when a JavaScript exception passes to a Ruby boundary
* what happens when that same exception passes back through to JavaScript?
* what happens in JavaScript when a Ruby exception is raised
* what happens when that same exception passes back to JavaScript.
There are a lot of these elements in place in already, but I think we need to formalize them. Especially what elements are available on the exception object itself, what the backtrace looks like, etc..
As far as less.rb and handlebars.rb, Everything works out of the box minus the pesky `this` argument semantics (I'm really starting to regret that decision), but the exception handling is still not quite right.
The Rhino is raising a NativeException which wraps a org.mozilla.javascript.JavaScriptException and not a Rhino::JSError, so while a Less::ParseError is thrown, it does not contain the correct message and backtrace.
Exception handling is going to be an issue on every wrapped JS lib, so I think it's important to firm up the interface so that it can be depended on.