@@ -202,7 +202,7 @@ namespace Sass {
202202 if (!lex< identifier >()) throw_syntax_error (" invalid name in @include directive" );
203203 Node name (context.new_Node (Node::identifier, path, line, lexed));
204204 Node args (parse_arguments ());
205- Node the_call (context.new_Node (Node::expansion , path, line, 2 ));
205+ Node the_call (context.new_Node (Node::mixin_call , path, line, 2 ));
206206 the_call << name << args;
207207 return the_call;
208208 }
@@ -215,12 +215,10 @@ namespace Sass {
215215 if (lex< exactly<' (' > >()) {
216216 if (!peek< exactly<' )' > >(position)) {
217217 Node arg (parse_argument (Node::none));
218- arg.should_eval () = true ;
219218 args << arg;
220219 if (arg.type () == Node::assignment) arg_type = Node::assignment;
221220 while (lex< exactly<' ,' > >()) {
222221 Node arg (parse_argument (arg_type));
223- arg.should_eval () = true ;
224222 args << arg;
225223 if (arg.type () == Node::assignment) arg_type = Node::assignment;
226224 }
@@ -239,6 +237,7 @@ namespace Sass {
239237 Node var (context.new_Node (Node::variable, path, line, lexed));
240238 lex< exactly<' :' > >();
241239 Node val (parse_space_list ());
240+ val.should_eval () = true ;
242241 Node assn (context.new_Node (Node::assignment, path, line, 2 ));
243242 assn << var << val;
244243 return assn;
@@ -254,23 +253,14 @@ namespace Sass {
254253 Node var (context.new_Node (Node::variable, path, line, lexed));
255254 lex< exactly<' :' > >();
256255 Node val (parse_space_list ());
256+ val.should_eval () = true ;
257257 Node assn (context.new_Node (Node::assignment, path, line, 2 ));
258258 assn << var << val;
259259 return assn;
260260 }
261- return parse_space_list ();
262- // if (peek< sequence < variable, spaces_and_comments, exactly<':'> > >()) {
263- // lex< variable >();
264- // Node var(context.new_Node(Node::variable, path, line, lexed));
265- // lex< exactly<':'> >();
266- // Node val(parse_space_list());
267- // Node assn(context.new_Node(Node::assignment, path, line, 2));
268- // assn << var << val;
269- // return assn;
270- // }
271- // else {
272- // return parse_space_list();
273- // }
261+ Node val (parse_space_list ());
262+ val.should_eval () = true ;
263+ return val;
274264 }
275265
276266 Node Document::parse_assignment ()
@@ -598,7 +588,7 @@ namespace Sass {
598588 semicolon = true ;
599589 }
600590 else if (lex< extend >()) {
601- if (surrounding_ruleset.is_null_ptr ()) throw_syntax_error (" @extend directive may only be used within rules" );
591+ if (surrounding_ruleset.is_null ()) throw_syntax_error (" @extend directive may only be used within rules" );
602592 Node extendee (parse_simple_selector_sequence ());
603593 context.extensions .insert (pair<Node, Node>(extendee, surrounding_ruleset));
604594 context.has_extensions = true ;
@@ -1016,6 +1006,7 @@ namespace Sass {
10161006 if (lex< interpolant >()) {
10171007 Token insides (Token::make (lexed.begin + 2 , lexed.end - 1 ));
10181008 Node interp_node (Document::make_from_token (context, insides, path, line).parse_list ());
1009+ interp_node.should_eval () = true ;
10191010 schema << interp_node;
10201011 }
10211012 else if (lex< identifier >()) {
@@ -1080,6 +1071,7 @@ namespace Sass {
10801071 else if (lex< interpolant >()) {
10811072 Token insides (Token::make (lexed.begin + 2 , lexed.end - 1 ));
10821073 Node interp_node (Document::make_from_token (context, insides, path, line).parse_list ());
1074+ interp_node.should_eval () = true ;
10831075 schema << interp_node;
10841076 }
10851077 else if (lex< sequence< identifier, exactly<' :' > > >()) {
0 commit comments