@@ -504,22 +504,22 @@ namespace Sass {
504
504
}
505
505
506
506
// only the last item will be used to eval the binary expression
507
- if (String_Schema* s_1 = dynamic_cast <String_Schema*>(b->left ())) {
508
- if (!s_1-> is_right_interpolant ()) {
509
- ret_schema = SASS_MEMORY_NEW (ctx.mem , String_Schema, s_1 ->pstate ());
507
+ if (String_Schema* s_l = dynamic_cast <String_Schema*>(b->left ())) {
508
+ if (!s_l-> has_interpolant () && (!s_l-> is_right_interpolant () )) {
509
+ ret_schema = SASS_MEMORY_NEW (ctx.mem , String_Schema, s_l ->pstate ());
510
510
Binary_Expression* bin_ex = SASS_MEMORY_NEW (ctx.mem , Binary_Expression, b->pstate (),
511
- b->op (), s_1 ->last (), b->right ());
511
+ b->op (), s_l ->last (), b->right ());
512
512
bin_ex->is_delayed (b->left ()->is_delayed () || b->right ()->is_delayed ());
513
513
// bin_ex->is_interpolant(b->left()->is_interpolant());
514
- for (size_t i = 0 ; i < s_1 ->length () - 1 ; ++i) {
515
- *ret_schema << s_1 ->at (i)->perform (this );
514
+ for (size_t i = 0 ; i < s_l ->length () - 1 ; ++i) {
515
+ *ret_schema << s_l ->at (i)->perform (this );
516
516
}
517
517
*ret_schema << bin_ex->perform (this );
518
518
return ret_schema->perform (this );
519
519
}
520
520
}
521
521
if (String_Schema* s_r = dynamic_cast <String_Schema*>(b->right ())) {
522
- if (!s_r->is_left_interpolant () || op_type == Sass_OP::DIV) {
522
+ if (!s_r->has_interpolant () && (!s_r-> is_left_interpolant () || op_type == Sass_OP::DIV) ) {
523
523
ret_schema = SASS_MEMORY_NEW (ctx.mem , String_Schema, s_r->pstate ());
524
524
Binary_Expression* bin_ex = SASS_MEMORY_NEW (ctx.mem , Binary_Expression, b->pstate (),
525
525
b->op (), b->left (), s_r->first ());
@@ -691,7 +691,7 @@ namespace Sass {
691
691
}
692
692
}
693
693
694
- if (force_delay) {
694
+ if (force_delay) {
695
695
std::string str (" " );
696
696
str += v_l->to_string (ctx.c_options );
697
697
if (b->op ().ws_before ) str += " " ;
0 commit comments