@@ -1779,15 +1779,16 @@ namespace Sass {
17791779 // evaluation phase.
17801780 // /////////////////////////////////////////////////////////////////////
17811781 class String_Schema : public String , public Vectorized <Expression_Obj> {
1782- // ADD_PROPERTY(bool, has_interpolants )
1782+ ADD_PROPERTY (bool , css )
17831783 size_t hash_;
17841784 public:
1785- String_Schema (ParserState pstate, size_t size = 0 , bool has_interpolants = false )
1786- : String(pstate), Vectorized<Expression_Obj>(size), hash_(0 )
1785+ String_Schema (ParserState pstate, size_t size = 0 , bool css = true )
1786+ : String(pstate), Vectorized<Expression_Obj>(size), css_(css), hash_(0 )
17871787 { concrete_type (STRING); }
17881788 String_Schema (const String_Schema* ptr)
17891789 : String(ptr),
17901790 Vectorized<Expression_Obj>(*ptr),
1791+ css_ (ptr->css_),
17911792 hash_(ptr->hash_)
17921793 { concrete_type (STRING); }
17931794
@@ -1840,17 +1841,17 @@ namespace Sass {
18401841 value_(ptr->value_),
18411842 hash_(ptr->hash_)
18421843 { }
1843- String_Constant (ParserState pstate, std::string val)
1844- : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(val)), hash_(0 )
1844+ String_Constant (ParserState pstate, std::string val, bool css = true )
1845+ : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(val, css )), hash_(0 )
18451846 { }
1846- String_Constant (ParserState pstate, const char * beg)
1847- : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(std::string(beg))), hash_(0 )
1847+ String_Constant (ParserState pstate, const char * beg, bool css = true )
1848+ : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(std::string(beg), css )), hash_(0 )
18481849 { }
1849- String_Constant (ParserState pstate, const char * beg, const char * end)
1850- : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(std::string(beg, end-beg))), hash_(0 )
1850+ String_Constant (ParserState pstate, const char * beg, const char * end, bool css = true )
1851+ : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(std::string(beg, end-beg), css )), hash_(0 )
18511852 { }
1852- String_Constant (ParserState pstate, const Token& tok)
1853- : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(std::string(tok.begin, tok.end))), hash_(0 )
1853+ String_Constant (ParserState pstate, const Token& tok, bool css = true )
1854+ : String(pstate), quote_mark_(0 ), can_compress_whitespace_(false ), value_(read_css_string(std::string(tok.begin, tok.end), css )), hash_(0 )
18541855 { }
18551856 std::string type () const { return " string" ; }
18561857 static std::string type_name () { return " string" ; }
@@ -1883,8 +1884,8 @@ namespace Sass {
18831884 public:
18841885 String_Quoted (ParserState pstate, std::string val, char q = 0 ,
18851886 bool keep_utf8_escapes = false , bool skip_unquoting = false ,
1886- bool strict_unquoting = true )
1887- : String_Constant(pstate, val)
1887+ bool strict_unquoting = true , bool css = true )
1888+ : String_Constant(pstate, val, css )
18881889 {
18891890 if (skip_unquoting == false ) {
18901891 value_ = unquote (value_, "e_mark_, keep_utf8_escapes, strict_unquoting);
0 commit comments