@@ -49,10 +49,11 @@ namespace Sass {
49
49
expr[0 ] = eval (expr[0 ], prefix, env, f_env, new_Node, ctx);
50
50
}
51
51
// expand the selector with the prefix and save it in expr[2]
52
+ // cerr << "ABOUT TO EXPAND " << expr[0].to_string() << " WITH " << prefix.to_string() << endl;
52
53
expr << expand_selector (expr[0 ], prefix, new_Node);
53
- // cerr << "EXPANDED SELECTOR: " << expr.back().to_string("" ) << endl;
54
+ // cerr << "EXPANDED SELECTOR: " << expr.back().to_string() << endl;
54
55
// eval the body with the current selector as the prefix
55
- eval (expr[1 ], expr[ 0 ] , env, f_env, new_Node, ctx);
56
+ eval (expr[1 ], expr. back () , env, f_env, new_Node, ctx);
56
57
return expr;
57
58
} break ;
58
59
@@ -64,7 +65,7 @@ namespace Sass {
64
65
expansion += expr[i].token ().unquote ();
65
66
}
66
67
else {
67
- expansion += expr[i].to_string (" " );
68
+ expansion += expr[i].to_string ();
68
69
}
69
70
}
70
71
expansion += " {" ; // the parser looks for an lbrace to end a selector
@@ -355,7 +356,7 @@ namespace Sass {
355
356
acc << new_Node (acc.path (), acc.line (), r, g, b, a);
356
357
}
357
358
else if (lhs.type () == Node::numeric_color && rhs.type () == Node::numeric_color) {
358
- if (lhs[3 ].numeric_value () != rhs[3 ].numeric_value ()) throw_eval_error (" alpha channels must be equal for " + lhs.to_string (" " ) + " + " + rhs.to_string (" " ), lhs.path (), lhs.line ());
359
+ if (lhs[3 ].numeric_value () != rhs[3 ].numeric_value ()) throw_eval_error (" alpha channels must be equal for " + lhs.to_string () + " + " + rhs.to_string (), lhs.path (), lhs.line ());
359
360
double r = operate (op, lhs[0 ].numeric_value (), rhs[0 ].numeric_value ());
360
361
double g = operate (op, lhs[1 ].numeric_value (), rhs[1 ].numeric_value ());
361
362
double b = operate (op, lhs[2 ].numeric_value (), rhs[2 ].numeric_value ());
@@ -403,7 +404,7 @@ namespace Sass {
403
404
break ;
404
405
}
405
406
}
406
- if (!valid_param) throw_eval_error (" mixin " + mixin[0 ].to_string (" " ) + " has no parameter named " + name.to_string (), arg.path (), arg.line ());
407
+ if (!valid_param) throw_eval_error (" mixin " + mixin[0 ].to_string () + " has no parameter named " + name.to_string (), arg.path (), arg.line ());
407
408
if (!bindings.query (name)) {
408
409
bindings[name] = eval (arg[1 ], prefix, env, f_env, new_Node, ctx);
409
410
}
@@ -412,7 +413,7 @@ namespace Sass {
412
413
// ensure that the number of ordinal args < params.size()
413
414
if (j >= params.size ()) {
414
415
stringstream ss;
415
- ss << " mixin " << mixin[0 ].to_string (" " ) << " only takes " << params.size () << ((params.size () == 1 ) ? " argument" : " arguments" );
416
+ ss << " mixin " << mixin[0 ].to_string () << " only takes " << params.size () << ((params.size () == 1 ) ? " argument" : " arguments" );
416
417
throw_eval_error (ss.str (), args[i].path (), args[i].line ());
417
418
}
418
419
Node param (params[j]);
@@ -496,8 +497,8 @@ namespace Sass {
496
497
for (size_t i = 0 , S = pre.size (); i < S; ++i) {
497
498
for (size_t j = 0 , T = sel.size (); j < T; ++j) {
498
499
Node new_sel (new_Node (Node::selector, sel.path (), sel.line (), 2 ));
499
- if (pre[i].type () == Node::selector) new_sel += pre;
500
- else new_sel << pre;
500
+ if (pre[i].type () == Node::selector) new_sel += pre[i] ;
501
+ else new_sel << pre[i] ;
501
502
if (sel[j].type () == Node::selector) new_sel += sel[j];
502
503
else new_sel << sel[j];
503
504
group << new_sel;
@@ -509,8 +510,8 @@ namespace Sass {
509
510
Node group (new_Node (Node::selector_group, sel.path (), sel.line (), pre.size ()));
510
511
for (size_t i = 0 , S = pre.size (); i < S; ++i) {
511
512
Node new_sel (new_Node (Node::selector, sel.path (), sel.line (), 2 ));
512
- if (pre[i].type () == Node::selector) new_sel += pre;
513
- else new_sel << pre;
513
+ if (pre[i].type () == Node::selector) new_sel += pre[i] ;
514
+ else new_sel << pre[i] ;
514
515
if (sel.type () == Node::selector) new_sel += sel;
515
516
else new_sel << sel;
516
517
group << new_sel;
0 commit comments