Skip to content

Commit 321a81a

Browse files
committed
Merge pull request #1598 from mgreter/bugfix/issue-1567
Fix media-query parsing with block comments
2 parents fbb6fb6 + 635f474 commit 321a81a

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/parser.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1935,8 +1935,8 @@ namespace Sass {
19351935
List* Parser::parse_media_queries()
19361936
{
19371937
List* media_queries = SASS_MEMORY_NEW(ctx.mem, List, pstate, 0, SASS_COMMA);
1938-
if (!peek< exactly<'{'> >()) (*media_queries) << parse_media_query();
1939-
while (lex< exactly<','> >()) (*media_queries) << parse_media_query();
1938+
if (!peek_css < exactly <'{'> >()) (*media_queries) << parse_media_query();
1939+
while (lex_css < exactly <','> >()) (*media_queries) << parse_media_query();
19401940
return media_queries;
19411941
}
19421942

@@ -1945,22 +1945,24 @@ namespace Sass {
19451945
{
19461946
Media_Query* media_query = SASS_MEMORY_NEW(ctx.mem, Media_Query, pstate);
19471947

1948-
if (lex< exactly< not_kwd > >()) media_query->is_negated(true);
1949-
else if (lex< exactly< only_kwd > >()) media_query->is_restricted(true);
1948+
lex < css_comments >(false);
1949+
if (lex < word < not_kwd > >()) media_query->is_negated(true);
1950+
else if (lex < word < only_kwd > >()) media_query->is_restricted(true);
19501951

1951-
if (lex < identifier_schema >()) media_query->media_type(parse_identifier_schema());
1952-
else if (lex< identifier >()) media_query->media_type(parse_interpolated_chunk(lexed));
1952+
lex < css_comments >(false);
1953+
if (lex < identifier_schema >()) media_query->media_type(parse_identifier_schema());
1954+
else if (lex < identifier >()) media_query->media_type(parse_interpolated_chunk(lexed));
19531955
else (*media_query) << parse_media_expression();
19541956

1955-
while (lex< exactly< and_kwd > >()) (*media_query) << parse_media_expression();
1957+
while (lex_css < word < and_kwd > >()) (*media_query) << parse_media_expression();
19561958
if (lex < identifier_schema >()) {
19571959
String_Schema* schema = SASS_MEMORY_NEW(ctx.mem, String_Schema, pstate);
19581960
*schema << media_query->media_type();
19591961
*schema << SASS_MEMORY_NEW(ctx.mem, String_Constant, pstate, " ");
19601962
*schema << parse_identifier_schema();
19611963
media_query->media_type(schema);
19621964
}
1963-
while (lex< exactly< and_kwd > >()) (*media_query) << parse_media_expression();
1965+
while (lex_css < word < and_kwd > >()) (*media_query) << parse_media_expression();
19641966
return media_query;
19651967
}
19661968

@@ -1970,11 +1972,11 @@ namespace Sass {
19701972
String* ss = parse_identifier_schema();
19711973
return SASS_MEMORY_NEW(ctx.mem, Media_Query_Expression, pstate, ss, 0, true);
19721974
}
1973-
if (!lex< exactly<'('> >()) {
1975+
if (!lex_css< exactly<'('> >()) {
19741976
error("media query expression must begin with '('", pstate);
19751977
}
19761978
Expression* feature = 0;
1977-
if (peek< exactly<')'> >()) {
1979+
if (peek_css< exactly<')'> >()) {
19781980
error("media feature required in media query expression", pstate);
19791981
}
19801982
feature = parse_expression();

0 commit comments

Comments
 (0)