move new parseEnv into parser

This commit is contained in:
Luke Page
2013-03-19 14:07:16 +00:00
parent e82536bfca
commit 40ce2bc4b4
2 changed files with 9 additions and 12 deletions

View File

@@ -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 );

View File

@@ -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);
});
};
}