diff --git a/packages/less/src/less/parser/parser.js b/packages/less/src/less/parser/parser.js index 99036cbe1..76676f5fe 100644 --- a/packages/less/src/less/parser/parser.js +++ b/packages/less/src/less/parser/parser.js @@ -1949,11 +1949,17 @@ const Parser = function Parser(context, imports, fileInfo, currentIndex) { if (e) { features.push(e); if (!parserInput.$char(',')) { break; } + else if (!features[features.length - 1].noSpacing) { + features[features.length - 1].noSpacing = false; + } } else { e = entities.variable() || entities.mixinLookup(); if (e) { features.push(e); if (!parserInput.$char(',')) { break; } + else if (!features[features.length - 1].noSpacing) { + features[features.length - 1].noSpacing = false; + } } } } while (e); diff --git a/packages/less/src/less/tree/nested-at-rule.js b/packages/less/src/less/tree/nested-at-rule.js index 0060755ab..fc383f344 100644 --- a/packages/less/src/less/tree/nested-at-rule.js +++ b/packages/less/src/less/tree/nested-at-rule.js @@ -31,7 +31,7 @@ const NestableAtRulePrototype = { for (let index = 0; index < exprValues.length; ++index) { expr = exprValues[index]; - if (expr.type === 'Keyword' && index + 1 < exprValues.length) { + if (expr.type === 'Keyword' && index + 1 < exprValues.length && (expr.noSpacing || expr.noSpacing == null)) { paren = exprValues[index + 1]; if (paren.type === 'Paren' && paren.noSpacing) { diff --git a/packages/test-data/css/_main/media.css b/packages/test-data/css/_main/media.css index 62cffe6a6..d471401e8 100644 --- a/packages/test-data/css/_main/media.css +++ b/packages/test-data/css/_main/media.css @@ -264,3 +264,8 @@ padding: 0; } } +@media print, (max-width: 992px) { + div { + color: red; + } +} diff --git a/packages/test-data/less/_main/media.less b/packages/test-data/less/_main/media.less index c66802747..232e6379f 100644 --- a/packages/test-data/less/_main/media.less +++ b/packages/test-data/less/_main/media.less @@ -291,3 +291,9 @@ } } } + +@media print, (max-width: 992px) { + div { + color: red; + } +}