@@ -1114,25 +1114,34 @@ namespace Sass {
11141114 ++request) {
11151115 group << generate_extension (expr[2 ], request->second , new_Node);
11161116 }
1117+ group.has_been_extended () = true ;
11171118 expr[2 ] = group;
11181119 }
11191120 }
11201121 // individually check each selector in a group
11211122 else {
11221123 Node group (expr[2 ]);
1124+ Node new_group (new_Node (Node::selector_group, group.path (), group.line (), group.size ()));
11231125 // for each selector in the group ...
11241126 for (size_t i = 0 , S = group.size (); i < S; ++i) {
1127+ new_group << group[i];
11251128 Node sel (selector_base (group[i]));
11261129 // if it has extenders ...
1127- if (extension_requests.count (sel)) {
1130+ if (!group[i]. has_been_extended () && extension_requests.count (sel)) {
11281131 // for each of its extenders ...
11291132 for (multimap<Node, Node>::iterator request = extension_requests.lower_bound (sel);
11301133 request != extension_requests.upper_bound (sel);
11311134 ++request) {
1132- group << generate_extension (group[i], request->second , new_Node);
1135+ new_group << generate_extension (group[i], request->second , new_Node);
11331136 }
1137+ group[i].has_been_extended () = true ;
11341138 }
11351139 }
1140+ if (new_group.size () > 0 ) {
1141+ group.has_been_extended () = true ;
1142+ new_group.has_been_extended () = true ;
1143+ expr[2 ] = new_group;
1144+ }
11361145 }
11371146 }
11381147 extend (expr[1 ], extension_requests, new_Node);
0 commit comments