From 5d49ca000e18dd6c30a5486fb62f49e01850cc5b Mon Sep 17 00:00:00 2001 From: Luke Page Date: Mon, 6 Aug 2012 22:02:32 +0100 Subject: [PATCH] Eval assignments by copying. Fixes #534 --- lib/less/tree/assignment.js | 4 +++- test/css/ie-filters.css | 4 ++++ test/less/ie-filters.less | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/less/tree/assignment.js b/lib/less/tree/assignment.js index 70ce6e2f..a5559ada 100644 --- a/lib/less/tree/assignment.js +++ b/lib/less/tree/assignment.js @@ -9,7 +9,9 @@ tree.Assignment.prototype = { return this.key + '=' + (this.value.toCSS ? this.value.toCSS() : this.value); }, eval: function (env) { - if (this.value.eval) { this.value = this.value.eval(env) } + if (this.value.eval) { + return new(tree.Assignment)(this.key, this.value.eval(env)); + } return this; } }; diff --git a/test/css/ie-filters.css b/test/css/ie-filters.css index a5c5795a..007aa536 100644 --- a/test/css/ie-filters.css +++ b/test/css/ie-filters.css @@ -3,3 +3,7 @@ filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333", endColorstr="#000000", GradientType=0); } +.evalTest1 { + filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); + filter: progid:DXImageTransform.Microsoft.Alpha(opacity=5); +} diff --git a/test/less/ie-filters.less b/test/less/ie-filters.less index bea85b82..3350b653 100644 --- a/test/less/ie-filters.less +++ b/test/less/ie-filters.less @@ -5,4 +5,11 @@ filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 20); filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@fat); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333", endColorstr=@cloudhead, GradientType=@fat); +} +.evalTest(@arg) { + filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@arg); +} +.evalTest1 { + .evalTest(30); + .evalTest(5); } \ No newline at end of file