@@ -38,17 +38,17 @@ namespace Sass {
3838    env_stack.push_back (env);
3939    block_stack.push_back (nullptr );
4040    call_stack.push_back ({});
41-     if  (stack == NULL ) { pushToSelectorStack ({} ); }
41+     if  (stack == NULL ) { pushNullSelector ( ); }
4242    else  {
4343      for  (auto  item : *stack) {
44-         if  (item.isNull ()) pushToSelectorStack ({} );
44+         if  (item.isNull ()) pushNullSelector ( );
4545        else  pushToSelectorStack (item);
4646      }
4747    }
48-     if  (originals == NULL ) { pushToOriginalStack ({} ); }
48+     if  (originals == NULL ) { pushNullSelector ( ); }
4949    else  {
5050      for  (auto  item : *stack) {
51-         if  (item.isNull ()) pushToOriginalStack ({} );
51+         if  (item.isNull ()) pushNullSelector ( );
5252        else  pushToOriginalStack (item);
5353      }
5454    }
@@ -62,6 +62,23 @@ namespace Sass {
6262    return  0 ;
6363  }
6464
65+   void  Expand::pushNullSelector ()
66+   {
67+     pushToSelectorStack ({});
68+     pushToOriginalStack ({});
69+   }
70+ 
71+   void  Expand::popNullSelector ()
72+   {
73+     popFromOriginalStack ();
74+     popFromSelectorStack ();
75+   }
76+ 
77+   SelectorStack Expand::getOriginalStack ()
78+   {
79+     return  originalStack;
80+   }
81+ 
6582  SelectorStack Expand::getSelectorStack ()
6683  {
6784    return  selector_stack;
@@ -153,15 +170,15 @@ namespace Sass {
153170      Block* bb = operator ()(r->block ());
154171      Keyframe_Rule_Obj k = SASS_MEMORY_NEW (Keyframe_Rule, r->pstate (), bb);
155172      if  (r->schema ()) {
156-         pushToSelectorStack ({} );
173+         pushNullSelector ( );
157174        k->name (eval (r->schema ()));
158-         popFromSelectorStack ();
175+         popNullSelector ();
159176      }
160177      else  if  (r->selector ()) {
161178        if  (SelectorListObj s = r->selector ()) {
162-           pushToSelectorStack ({} );
179+           pushNullSelector ( );
163180          k->name (eval (s));
164-           popFromSelectorStack ();
181+           popNullSelector ();
165182        }
166183      }
167184
@@ -288,10 +305,10 @@ namespace Sass {
288305    Block* ab = a->block ();
289306    SelectorList* as = a->selector ();
290307    Expression* av = a->value ();
291-     pushToSelectorStack ({} );
308+     pushNullSelector ( );
292309    if  (av) av = av->perform (&eval);
293310    if  (as) as = eval (as);
294-     popFromSelectorStack ();
311+     popNullSelector ();
295312    Block* bb = ab ? operator ()(ab) : NULL ;
296313    Directive* aa = SASS_MEMORY_NEW (Directive,
297314                                  a->pstate (),
0 commit comments