# File lib/sass/script/funcall.rb, line 63
      def _perform(environment)
        args = self.args.map {|a| a.perform(environment)}
        ruby_name = name.gsub('-', '_')
        unless Haml::Util.has?(:public_instance_method, Functions, ruby_name) && ruby_name !~ /^__/
          opts(Script::String.new("#{name}(#{args.map {|a| a.perform(environment)}.join(', ')})"))
        else
          opts(Functions::EvaluationContext.new(environment.options).send(ruby_name, *args))
        end
      rescue ArgumentError => e
        raise e unless e.backtrace.any? {|t| t =~ /:in `(block in )?(#{name}|perform)'$/}
        raise Sass::SyntaxError.new("#{e.message} for `#{name}'")
      end