From 4d7a2bcd840f8804a26c05e90ab5f1031b9ad8db Mon Sep 17 00:00:00 2001 From: seven-phases-max Date: Fri, 27 Dec 2013 17:42:37 +0400 Subject: [PATCH 1/2] improved error message for undefined variable in js eval statement. --- lib/less/tree/variable.js | 2 +- test/less/errors/javascript-undefined-var.less | 3 +++ test/less/errors/javascript-undefined-var.txt | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/less/errors/javascript-undefined-var.less create mode 100644 test/less/errors/javascript-undefined-var.txt diff --git a/lib/less/tree/variable.js b/lib/less/tree/variable.js index fa6341965..fe2efb498 100644 --- a/lib/less/tree/variable.js +++ b/lib/less/tree/variable.js @@ -35,7 +35,7 @@ tree.Variable.prototype = { } else { throw { type: 'Name', message: "variable " + name + " is undefined", - filename: this.currentFileInfo.filename, + filename: this.currentFileInfo ? this.currentFileInfo.filename : null, index: this.index }; } } diff --git a/test/less/errors/javascript-undefined-var.less b/test/less/errors/javascript-undefined-var.less new file mode 100644 index 000000000..7cd580c4a --- /dev/null +++ b/test/less/errors/javascript-undefined-var.less @@ -0,0 +1,3 @@ +.scope { + @a: `@{b}`; +} diff --git a/test/less/errors/javascript-undefined-var.txt b/test/less/errors/javascript-undefined-var.txt new file mode 100644 index 000000000..b363aff9b --- /dev/null +++ b/test/less/errors/javascript-undefined-var.txt @@ -0,0 +1,4 @@ +NameError: variable @b is undefined in {path}javascript-undefined-var.less on line 2, column 15: +1 .scope { +2 @a: `@{b}`; +3 } From 34f54cf645c4968a7b84100a30e176a5655fce40 Mon Sep 17 00:00:00 2001 From: seven-phases-max Date: Fri, 27 Dec 2013 17:51:54 +0400 Subject: [PATCH 2/2] improved error message for undefined variable in js eval statement, more clean fix. --- lib/less/tree/variable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/less/tree/variable.js b/lib/less/tree/variable.js index fe2efb498..90d862718 100644 --- a/lib/less/tree/variable.js +++ b/lib/less/tree/variable.js @@ -3,7 +3,7 @@ tree.Variable = function (name, index, currentFileInfo) { this.name = name; this.index = index; - this.currentFileInfo = currentFileInfo; + this.currentFileInfo = currentFileInfo || {}; }; tree.Variable.prototype = { type: "Variable", @@ -35,7 +35,7 @@ tree.Variable.prototype = { } else { throw { type: 'Name', message: "variable " + name + " is undefined", - filename: this.currentFileInfo ? this.currentFileInfo.filename : null, + filename: this.currentFileInfo.filename, index: this.index }; } }