Skip to content

Commit 7b0b18d

Browse files
committed
Merge pull request #1547 from xzyfer/fix/sass-include
Fix sass2scss sometimes producing incorrect output for `@include`
2 parents 5b4122d + fe6b6ca commit 7b0b18d

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

src/ast.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ namespace Sass {
389389
{ }
390390
virtual bool has_content()
391391
{
392-
return block_->has_content() || Statement::has_content();
392+
return (block_ && block_->has_content()) || Statement::has_content();
393393
}
394394
virtual ~Has_Block() = 0;
395395
};

src/debugger.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,8 @@ inline void debug_ast(AST_Node* node, std::string ind, Env* env)
386386
} else if (dynamic_cast<Mixin_Call*>(node)) {
387387
Mixin_Call* block = dynamic_cast<Mixin_Call*>(node);
388388
std::cerr << ind << "Mixin_Call " << block << " " << block->tabs();
389-
std::cerr << " [" << block->name() << "]" << std::endl;
389+
std::cerr << " [" << block->name() << "]";
390+
std::cerr << " [has_content: " << block->has_content() << "] " << std::endl;
390391
debug_ast(block->arguments(), ind + " args: ");
391392
if (block->block()) for(auto i : block->block()->elements()) { debug_ast(i, ind + " ", env); }
392393
} else if (Ruleset* ruleset = dynamic_cast<Ruleset*>(node)) {

src/sass2scss.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,7 @@ namespace Sass
605605
else if (
606606
sass.substr(pos_left, 7) != "@return" &&
607607
sass.substr(pos_left, 7) != "@extend" &&
608+
sass.substr(pos_left, 8) != "@include" &&
608609
sass.substr(pos_left, 8) != "@content"
609610
) {
610611

0 commit comments

Comments
 (0)