From 9f9eeec2974c276f2731dc415d0b85a7629baae9 Mon Sep 17 00:00:00 2001 From: Marcel Jackwerth Date: Mon, 20 Feb 2012 17:28:24 +0100 Subject: [PATCH 1/2] media-query can now be a variable --- lib/less/parser.js | 17 ++++++++++++----- test/css/media.css | 3 +++ test/less/media.less | 7 ++++++- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/less/parser.js b/lib/less/parser.js index d0c552337..5b0339d64 100644 --- a/lib/less/parser.js +++ b/lib/less/parser.js @@ -1074,11 +1074,18 @@ less.Parser = function Parser(env) { }, mediaFeatures: function () { - var f, features = []; - while (f = $(this.mediaFeature)) { - features.push(f); - if (! $(',')) { break } - } + var features = []; + + do { + if (e = $(this.mediaFeature)) { + features.push(e); + if (! $(',')) { break } + } else if (e = $(this.entities.variable)) { + features.push(e); + if (! $(',')) { break } + } + } while (e); + return features.length > 0 ? features : null; }, diff --git a/test/css/media.css b/test/css/media.css index 751b179d9..55f99deef 100644 --- a/test/css/media.css +++ b/test/css/media.css @@ -25,3 +25,6 @@ max-width: 480px; } } +@media only screen and (max-width: 200px) { + width: 480px; +} diff --git a/test/less/media.less b/test/less/media.less index b26c18e0b..0e1dab394 100644 --- a/test/less/media.less +++ b/test/less/media.less @@ -5,7 +5,7 @@ @media print { .class { - color: blue; + color: blue; .sub { width: @var; } @@ -29,3 +29,8 @@ max-width: 480px; } } + +@smartphone: ~"only screen and (max-width: 200px)"; +@media @smartphone { + width: 480px; +} From 0086f1babb23b84c56542fdda0ea37a5f1e5443c Mon Sep 17 00:00:00 2001 From: Marcel Jackwerth Date: Mon, 27 Feb 2012 12:09:27 +0100 Subject: [PATCH 2/2] Declare `e` properly in `mediaFeature` --- lib/less/parser.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/less/parser.js b/lib/less/parser.js index 5b0339d64..0e3038500 100644 --- a/lib/less/parser.js +++ b/lib/less/parser.js @@ -1048,7 +1048,7 @@ less.Parser = function Parser(env) { }, mediaFeature: function () { - var nodes = []; + var e, nodes = []; do { if (e = $(this.entities.keyword)) { @@ -1074,7 +1074,7 @@ less.Parser = function Parser(env) { }, mediaFeatures: function () { - var features = []; + var e, features = []; do { if (e = $(this.mediaFeature)) {