@@ -301,7 +301,7 @@ namespace Sass {
301301 // } break;
302302
303303 case Node::list: {
304- if (expr.should_eval ()) {
304+ if (expr.should_eval () && expr. size () > 0 ) {
305305 result = new_Node (Node::list, expr.path (), expr.line (), expr.size ());
306306 result << eval (expr[0 ], prefix, env, f_env, new_Node, ctx);
307307 for (size_t i = 1 , S = expr.size (); i < S; ++i) result << expr[i];
@@ -706,16 +706,16 @@ namespace Sass {
706706 }
707707 }
708708 // need to eval twice because some expressions get delayed
709- // for (size_t i = 0, S = args.size(); i < S; ++i) {
710- // if (args[i].type() != Node::assignment) {
711- // args[i].should_eval() = true;
712- // args[i] = eval(args[i], prefix, env, f_env, new_Node, ctx);
713- // }
714- // else {
715- // args[i][1].should_eval() = true;
716- // args[i][1] = eval(args[i][1], prefix, env, f_env, new_Node, ctx);
717- // }
718- // }
709+ for (size_t i = 0 , S = args.size (); i < S; ++i) {
710+ if (args[i].type () != Node::assignment) {
711+ args[i].should_eval () = true ;
712+ args[i] = eval (args[i], prefix, env, f_env, new_Node, ctx);
713+ }
714+ else {
715+ args[i][1 ].should_eval () = true ;
716+ args[i][1 ] = eval (args[i][1 ], prefix, env, f_env, new_Node, ctx);
717+ }
718+ }
719719
720720 // Create a new environment for the mixin and link it to the appropriate parent
721721 Environment bindings;
@@ -756,16 +756,16 @@ namespace Sass {
756756 }
757757 }
758758 // need to eval twice because some expressions get delayed
759- // for (size_t i = 0, S = args.size(); i < S; ++i) {
760- // if (args[i].type() != Node::assignment) {
761- // args[i].should_eval() = true;
762- // args[i] = eval(args[i], prefix, env, f_env, new_Node, ctx);
763- // }
764- // else {
765- // args[i][1].should_eval() = true;
766- // args[i][1] = eval(args[i][1], prefix, env, f_env, new_Node, ctx);
767- // }
768- // }
759+ for (size_t i = 0 , S = args.size (); i < S; ++i) {
760+ if (args[i].type () != Node::assignment) {
761+ args[i].should_eval () = true ;
762+ args[i] = eval (args[i], prefix, env, f_env, new_Node, ctx);
763+ }
764+ else {
765+ args[i][1 ].should_eval () = true ;
766+ args[i][1 ] = eval (args[i][1 ], prefix, env, f_env, new_Node, ctx);
767+ }
768+ }
769769
770770 // bind arguments
771771 Environment bindings;
0 commit comments