Bugfix for when a block hook calls eejs.require recursively

pull/557/head
Egil Moeller 2012-03-21 19:27:06 +01:00
parent c591efb352
commit 37c0d279c1
1 changed files with 5 additions and 5 deletions

View File

@ -38,7 +38,7 @@ exports._init = function (b, recursive) {
exports._exit = function (b, recursive) {
exports.info.file_stack[exports.info.file_stack.length-1].inherit.forEach(function (item) {
exports.require(item.name, item.args);
exports._require(item.name, item.args);
});
exports.info.buf = exports.info.buf_stack.pop();
}
@ -93,8 +93,6 @@ exports.inherit = function (name, args) {
exports.require = function (name, args) {
if (args == undefined) args = {};
if (!exports.info)
exports.init(null);
if ((name.indexOf("./") == 0 || name.indexOf("../") == 0) && exports.info.file_stack.length) {
name = path.join(path.dirname(exports.info.file_stack[exports.info.file_stack.length-1].path), name);
@ -108,7 +106,9 @@ exports.require = function (name, args) {
var res = ejs.render(template, args);
exports.info.file_stack.pop();
if (exports.info.buf)
exports.info.buf.push(res);
return res;
}
exports._require = function (name, args) {
exports.info.buf.push(exports.require(name, args));
}