diff --git a/lib/less/parser.js b/lib/less/parser.js index 27a0e5b9..bc471cd3 100644 --- a/lib/less/parser.js +++ b/lib/less/parser.js @@ -1095,6 +1095,9 @@ less.Parser = function Parser(env) { // "import": function () { var path, features, index = i; + + save(); + var dir = $(/^@import(?:-(once))?\s+/); if (dir && (path = $(this.entities.quoted) || $(this.entities.url))) { @@ -1103,6 +1106,8 @@ less.Parser = function Parser(env) { return new(tree.Import)(path, imports, features, (dir[1] === 'once'), index); } } + + restore(); }, mediaFeature: function () { @@ -1173,6 +1178,8 @@ less.Parser = function Parser(env) { if (value = $(this['import']) || $(this.media)) { return value; } + + save(); name = $(/^@[a-z-]+/); @@ -1227,6 +1234,8 @@ less.Parser = function Parser(env) { return new(tree.Directive)(name, value); } } + + restore(); }, font: function () { var value = [], expression = [], weight, shorthand, font, e; diff --git a/test/less/errors/import-no-semi.less b/test/less/errors/import-no-semi.less new file mode 100644 index 00000000..bf2c7f65 --- /dev/null +++ b/test/less/errors/import-no-semi.less @@ -0,0 +1 @@ +@import "this-statement-is-invalid.less" \ No newline at end of file diff --git a/test/less/errors/import-no-semi.txt b/test/less/errors/import-no-semi.txt new file mode 100644 index 00000000..bdc336c8 --- /dev/null +++ b/test/less/errors/import-no-semi.txt @@ -0,0 +1,2 @@ +ParseError: Syntax Error on line 1 +1 @import "this-statement-is-invalid.less" diff --git a/test/less/errors/import-subfolder.txt b/test/less/errors/import-subfolder.txt deleted file mode 100644 index b133f7e1..00000000 --- a/test/less/errors/import-subfolder.txt +++ /dev/null @@ -1,3 +0,0 @@ -NameError: .mixin-not-defined is undefined in test\less\errors\mixin-not-defined.less:1:102 -10 -11 .mixin-not-defined(); \ No newline at end of file diff --git a/test/less/errors/import-subfolder2.txt b/test/less/errors/import-subfolder2.txt index b133f7e1..10545872 100644 --- a/test/less/errors/import-subfolder2.txt +++ b/test/less/errors/import-subfolder2.txt @@ -1,3 +1,2 @@ -NameError: .mixin-not-defined is undefined in test\less\errors\mixin-not-defined.less:1:102 -10 -11 .mixin-not-defined(); \ No newline at end of file +ParseError: Syntax Error on line 1 in test\less\errors\parse-error-curly-bracket.less:1:0 +1 }}