From dc5854689b76a642841fb0754d2dead18dd744f3 Mon Sep 17 00:00:00 2001 From: Michael Ficarra Date: Sun, 5 Dec 2010 13:10:14 -0500 Subject: [PATCH] fix for bug introduced in 63cbb643 --- lib/lexer.js | 8 ++++---- lib/nodes.js | 6 +++--- src/nodes.coffee | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/lexer.js b/lib/lexer.js index ff2dad32..54cddac8 100644 --- a/lib/lexer.js +++ b/lib/lexer.js @@ -208,7 +208,7 @@ return regex.length; }; Lexer.prototype.heregexToken = function(match) { - var body, flags, heregex, re, tag, tokens, value, _i, _len, _ref, _ref2, _ref3; + var body, flags, heregex, re, tag, tokens, value, _i, _len, _ref, _ref2, _ref3, _ref4; heregex = match[0], body = match[1], flags = match[2]; if (0 > body.indexOf('#{')) { re = body.replace(HEREGEX_OMIT, '').replace(/\//g, '\\/'); @@ -238,7 +238,7 @@ if (((_ref3 = tokens[0]) != null ? _ref3[0] : void 0) !== 'STRING') { this.tokens.push(['STRING', '""'], ['+', '+']); } - (_ref = this.tokens).push.apply(_ref, tokens); + (_ref4 = this.tokens).push.apply(_ref4, tokens); if (flags) { this.tokens.push([',', ','], ['STRING', '"' + flags + '"']); } @@ -478,7 +478,7 @@ throw new Error("unterminated " + (stack.pop()[0]) + " on line " + (this.line + 1)); }; Lexer.prototype.interpolateString = function(str, options) { - var expr, heredoc, i, inner, interpolated, letter, nested, pi, regex, tag, tokens, value, _len, _ref, _ref2; + var expr, heredoc, i, inner, interpolated, letter, nested, pi, regex, tag, tokens, value, _len, _ref, _ref2, _ref3; if (options == null) { options = {}; } @@ -537,7 +537,7 @@ this.token('+', '+'); } if (tag === 'TOKENS') { - (_ref = this.tokens).push.apply(_ref, value); + (_ref3 = this.tokens).push.apply(_ref3, value); } else { this.token('STRING', this.makeString(value, '"', heredoc)); } diff --git a/lib/nodes.js b/lib/nodes.js index e2eaaccc..75f05c93 100644 --- a/lib/nodes.js +++ b/lib/nodes.js @@ -625,7 +625,7 @@ } base = new Value(this.variable); if ((name = base.properties.pop()) && base.isComplex()) { - ref = o.scope.temporary('ref'); + ref = o.scope.freeVariable('ref'); fun = "(" + ref + " = " + (base.compile(o, LEVEL_LIST)) + ")" + (name.compile(o)); } else { fun = base.compile(o, LEVEL_ACCESS); @@ -1198,7 +1198,7 @@ return !!this.ctor; }; Code.prototype.compileNode = function(o) { - var code, exprs, i, idt, lit, p, param, ref, scope, sharedScope, splats, v, val, vars, wasEmpty, _i, _j, _k, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _results; + var code, exprs, i, idt, lit, p, param, ref, scope, sharedScope, splats, v, val, vars, wasEmpty, _i, _j, _k, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _results; sharedScope = del(o, 'sharedScope'); o.scope = scope = sharedScope || new Scope(o.scope, this.body, this); o.indent += TAB; @@ -1248,7 +1248,7 @@ exprs.unshift(splats); } if (exprs.length) { - (_ref = this.body.expressions).unshift.apply(_ref, exprs); + (_ref4 = this.body.expressions).unshift.apply(_ref4, exprs); } if (!splats) { for (i = 0, _len4 = vars.length; i < _len4; i++) { diff --git a/src/nodes.coffee b/src/nodes.coffee index 05c84311..26a07830 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -513,7 +513,7 @@ exports.Call = class Call extends Base """ base = new Value @variable if (name = base.properties.pop()) and base.isComplex() - ref = o.scope.temporary 'ref' + ref = o.scope.freeVariable 'ref' fun = "(#{ref} = #{ base.compile o, LEVEL_LIST })#{ name.compile o }" else fun = base.compile o, LEVEL_ACCESS