From 40ce2bc4b4cb9160fa2fcd90b852b0d60329cb70 Mon Sep 17 00:00:00 2001 From: Luke Page Date: Tue, 19 Mar 2013 14:07:16 +0000 Subject: [PATCH] move new parseEnv into parser --- lib/less/index.js | 6 +----- lib/less/parser.js | 15 ++++++++------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/less/index.js b/lib/less/index.js index 3d4a32d2..3333f9c9 100644 --- a/lib/less/index.js +++ b/lib/less/index.js @@ -112,8 +112,6 @@ less.Parser.fileLoader = function (file, currentFileInfo, callback, env) { }; function handleDataAndCallCallback(data) { - env = new less.tree.parseEnv(env); - var j = file.lastIndexOf('/'); // Pass on an updated rootpath if path of imported file is relative and file @@ -131,9 +129,7 @@ less.Parser.fileLoader = function (file, currentFileInfo, callback, env) { newFileInfo.currentDirectory = pathname.replace(/[^\\\/]*$/, ""); newFileInfo.filename = pathname; - env.currentFileInfo = newFileInfo; - - callback(null, data, pathname, env); + callback(null, data, pathname, newFileInfo); }; var isUrl = isUrlRe.test( file ); diff --git a/lib/less/parser.js b/lib/less/parser.js index 21b68ae5..478c78e4 100644 --- a/lib/less/parser.js +++ b/lib/less/parser.js @@ -97,13 +97,16 @@ less.Parser = function Parser(env) { if (less.Parser.importer) { less.Parser.importer(path, currentFileInfo, fileParsedFunc, env); } else { - less.Parser.fileLoader(path, currentFileInfo, function(e, contents, fullPath, env) { + less.Parser.fileLoader(path, currentFileInfo, function(e, contents, fullPath, newFileInfo) { if (e) {fileParsedFunc(e); return;} - env.processImports = false; - env.contents[fullPath] = contents; + var newEnv = new tree.parseEnv(env); - new(less.Parser)(env).parse(contents, function (e, root) { + newEnv.currentFileInfo = newFileInfo; + newEnv.processImports = false; + newEnv.contents[fullPath] = contents; + + new(less.Parser)(newEnv).parse(contents, function (e, root) { fileParsedFunc(e, root, fullPath); }); }, env) @@ -1607,9 +1610,7 @@ if (less.mode === 'browser' || less.mode === 'rhino') { loadFile({href: path, type: env.mime }, env, currentFileInfo, function (e, data, sheet, webInfo, path, newFileInfo) { - env = new less.tree.parseEnv(env); - env.currentFileInfo = newFileInfo; - callback(e, data, path, env); + callback(e, data, path, newFileInfo); }); }; }