summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEevee (Alex Munroe) <eevee.git@veekun.com>2013-08-20 13:18:16 -0700
committerEevee (Alex Munroe) <eevee.git@veekun.com>2013-08-20 13:18:16 -0700
commit62f12e5f320e223cb33c6b64e6e648ed4056088b (patch)
treeabb7f6483552d2c915f3f0fc1128fdae89cac5ab
parentffac17fea7339b691ba36b3aeeba9930e61c6f92 (diff)
downloadpyscss-62f12e5f320e223cb33c6b64e6e648ed4056088b.tar.gz
Mixin arg values should be evaluated in their own scope.
The hack to make default values use earlier arguments' values was also applied to the expressions passed in by the caller; whoops.
-rw-r--r--scss/__init__.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/scss/__init__.py b/scss/__init__.py
index bfef326..71af034 100644
--- a/scss/__init__.py
+++ b/scss/__init__.py
@@ -789,9 +789,12 @@ class Scss(object):
params_dict[var_name] = var_value
# Evaluate all parameters sent to the function in order:
+ param_values = {}
for var_name in params:
var_value = params_dict[var_name]
value = var_value.evaluate(calculator)
+ param_values[var_name] = value
+ for var_name, value in param_values.items():
m_vars.set_variable(var_name, value)
# Evaluate arguments not passed to the mixin/function (from the defaults):