Evaluate arguments before passing them to mixin.

Closes #23
This commit is contained in:
cloudhead
2010-05-07 00:41:09 -07:00
parent 31d0f6af3a
commit 3def6cf5bf

View File

@@ -48,7 +48,7 @@ tree.mixin.Definition.prototype = {
for (var i = 0, val; i < this.params.length; i++) {
if (this.params[i].name) {
if (val = (args && args[i]) || this.params[i].value) {
frame.rules.unshift(new(tree.Rule)(this.params[i].name, val));
frame.rules.unshift(new(tree.Rule)(this.params[i].name, val.eval(env)));
} else {
throw new(Error)("wrong number of arguments for " + this.name);
}