def modify_backtrace(attrs)
      attrs = attrs.reject {|_k, v| v.nil?}
      # Move backwards through the backtrace
      (0...sass_backtrace.size).to_a.reverse_each do |i|
        entry = sass_backtrace[i]
        sass_backtrace[i] = attrs.merge(entry)
        attrs.reject! {|k, _v| entry.include?(k)}
        break if attrs.empty?
      end
    end
def modify_backtrace(attrs)
      attrs = attrs.reject {|_k, v| v.nil?}
      # Move backwards through the backtrace
      (0...sass_backtrace.size).to_a.reverse_each do |i|
        entry = sass_backtrace[i]
        sass_backtrace[i] = attrs.merge(entry)
        attrs.reject! {|k, _v| entry.include?(k)}
        break if attrs.empty?
      end
    end
Modify the top Sass backtrace entries
 (that is, the most deeply nested ones)
 to have the given attributes.

 Specifically, this goes through the backtrace entries
 from most deeply nested to least,
 setting the given attributes for each entry.
 If an entry already has one of the given attributes set,
 the pre-existing attribute takes precedence
 and is not used for less deeply-nested entries
 (even if they don't have that attribute set).

 @param attrs [{Symbol => Object}] The information to add to the backtrace entry.
   See \{#sass\_backtrace}