def unquote(string)
      unless string.is_a?(Sass::Script::Value::String)
        # Don't warn multiple times for the same source line.
        $_sass_warned_for_unquote ||= Set.new
        frame = environment.stack.frames.last
        key = [frame.filename, frame.line] if frame
        return string if frame && $_sass_warned_for_unquote.include?(key)
        $_sass_warned_for_unquote << key if frame

        Sass::Util.sass_warn(<<MESSAGE.strip)
DEPRECATION WARNING: Passing #{string.to_sass}, a non-string value, to unquote()
will be an error in future versions of Sass.
#{environment.stack.to_s.gsub(/^/, ' ' * 8)}
MESSAGE
        return string
      end

      string.check_deprecated_interp
      return string if string.type == :identifier
      identifier(string.value)
    end
def unquote(string)
      unless string.is_a?(Sass::Script::Value::String)
        # Don't warn multiple times for the same source line.
        $_sass_warned_for_unquote ||= Set.new
        frame = environment.stack.frames.last
        key = [frame.filename, frame.line] if frame
        return string if frame && $_sass_warned_for_unquote.include?(key)
        $_sass_warned_for_unquote << key if frame

        Sass::Util.sass_warn(<<MESSAGE.strip)
DEPRECATION WARNING: Passing #{string.to_sass}, a non-string value, to unquote()
will be an error in future versions of Sass.
#{environment.stack.to_s.gsub(/^/, ' ' * 8)}
MESSAGE
        return string
      end

      string.check_deprecated_interp
      return string if string.type == :identifier
      identifier(string.value)
    end
Removes quotes from a string. If the string is already unquoted, this will
 return it unmodified.

 @see #quote
 @example
   unquote("foo") => foo
   unquote(foo) => foo
 @overload unquote($string)
   @param $string [Sass::Script::Value::String]
 @return [Sass::Script::Value::String]
 @raise [ArgumentError] if `$string` isn't a string