diff --git a/src/Compiler.php b/src/Compiler.php index af20970e..02ac275c 100644 --- a/src/Compiler.php +++ b/src/Compiler.php @@ -855,7 +855,6 @@ protected function compileMedia(Block $media) $this->scope->children[] = $annotation; } - } $this->compileChildrenNoReturn($media->children, $this->scope); @@ -2630,6 +2629,9 @@ protected function reduce($value, $inExp = false) case Type::T_INTERPOLATE: $value[1] = $this->reduce($value[1]); + if ($inExp) { + return $value[1]; + } return $value; @@ -3372,7 +3374,7 @@ protected function multiplySelectors(Environment $env, $selfParent = null) $selectors[serialize($s)] = $s; } } else { - $s = $this->joinSelectors($parent, $selector,$stillHasSelf); + $s = $this->joinSelectors($parent, $selector, $stillHasSelf); $selectors[serialize($s)] = $s; } } diff --git a/tests/inputs/interpolation.scss b/tests/inputs/interpolation.scss index 0819a7c6..45a5133b 100644 --- a/tests/inputs/interpolation.scss +++ b/tests/inputs/interpolation.scss @@ -132,4 +132,11 @@ div { .pagination { @include pagination-mixin(5px); +} + +@mixin set-border($width) { + border: $width solid #000; +} +.element { + @include set-border(#{2px}); // compiles to "2px solid #000" } \ No newline at end of file diff --git a/tests/outputs/interpolation.css b/tests/outputs/interpolation.css index be302600..d9fd10e5 100644 --- a/tests/outputs/interpolation.css +++ b/tests/outputs/interpolation.css @@ -74,3 +74,6 @@ a.badge { .pagination .page-item:first-child .page-link { border-radius: 5px; } + +.element { + border: 2px solid #000; } diff --git a/tests/outputs_numbered/interpolation.css b/tests/outputs_numbered/interpolation.css index 768df93a..da509491 100644 --- a/tests/outputs_numbered/interpolation.css +++ b/tests/outputs_numbered/interpolation.css @@ -93,3 +93,6 @@ a.badge { /* line 126, inputs/interpolation.scss */ .pagination .page-item:first-child .page-link { border-radius: 5px; } +/* line 140, inputs/interpolation.scss */ +.element { + border: 2px solid #000; }