diff --git a/lib/sass/tree/node.rb b/lib/sass/tree/node.rb index 91d1905f..0f1a67f8 100644 --- a/lib/sass/tree/node.rb +++ b/lib/sass/tree/node.rb @@ -149,7 +149,6 @@ module Sass # @raise [Sass::SyntaxError] if some element of the tree is invalid # @see Sass::Tree def perform(environment) - environment.options = @options if self.class == Tree::Node _perform(environment) rescue Sass::SyntaxError => e e.modify_backtrace(:filename => filename, :line => line) diff --git a/lib/sass/tree/root_node.rb b/lib/sass/tree/root_node.rb index 944caf42..10b75086 100644 --- a/lib/sass/tree/root_node.rb +++ b/lib/sass/tree/root_node.rb @@ -22,7 +22,8 @@ module Sass end # @see \{Node#perform} - def perform(*args) + def perform(environment) + environment.options = @options if environment.options.nil? || environment.options.empty? super rescue Sass::SyntaxError => e e.sass_template = @template diff --git a/test/sass/engine_test.rb b/test/sass/engine_test.rb index a09c9390..207ea2f7 100755 --- a/test/sass/engine_test.rb +++ b/test/sass/engine_test.rb @@ -967,6 +967,16 @@ a SASS end + def test_options_available_in_environment + assert_equal(<