Skip to content

Commit 1839dc8

Browse files
author
Aaron Leung
committed
Evaluating function args twice because they might be delayed.
1 parent 1712181 commit 1839dc8

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

eval_apply.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -688,16 +688,16 @@ namespace Sass {
688688
}
689689
}
690690
// need to eval twice because some expressions get delayed
691-
// for (size_t i = 0, S = args.size(); i < S; ++i) {
692-
// if (args[i].type() != Node::assignment) {
693-
// args[i].should_eval() = true;
694-
// args[i] = eval(args[i], prefix, env, f_env, new_Node, ctx);
695-
// }
696-
// else {
697-
// args[i][1].should_eval() = true;
698-
// args[i][1] = eval(args[i][1], prefix, env, f_env, new_Node, ctx);
699-
// }
700-
// }
691+
for (size_t i = 0, S = args.size(); i < S; ++i) {
692+
if (args[i].type() != Node::assignment) {
693+
args[i].should_eval() = true;
694+
args[i] = eval(args[i], prefix, env, f_env, new_Node, ctx);
695+
}
696+
else {
697+
args[i][1].should_eval() = true;
698+
args[i][1] = eval(args[i][1], prefix, env, f_env, new_Node, ctx);
699+
}
700+
}
701701

702702
// Create a new environment for the mixin and link it to the appropriate parent
703703
Environment bindings;
@@ -737,16 +737,16 @@ namespace Sass {
737737
}
738738
}
739739
// need to eval twice because some expressions get delayed
740-
// for (size_t i = 0, S = args.size(); i < S; ++i) {
741-
// if (args[i].type() != Node::assignment) {
742-
// args[i].should_eval() = true;
743-
// args[i] = eval(args[i], prefix, env, f_env, new_Node, ctx);
744-
// }
745-
// else {
746-
// args[i][1].should_eval() = true;
747-
// args[i][1] = eval(args[i][1], prefix, env, f_env, new_Node, ctx);
748-
// }
749-
// }
740+
for (size_t i = 0, S = args.size(); i < S; ++i) {
741+
if (args[i].type() != Node::assignment) {
742+
args[i].should_eval() = true;
743+
args[i] = eval(args[i], prefix, env, f_env, new_Node, ctx);
744+
}
745+
else {
746+
args[i][1].should_eval() = true;
747+
args[i][1] = eval(args[i][1], prefix, env, f_env, new_Node, ctx);
748+
}
749+
}
750750

751751
// bind arguments
752752
Environment bindings;

0 commit comments

Comments
 (0)