@@ -1327,12 +1327,17 @@ namespace Sass {
13271327 if (ltype == Expression::NULL_VAL) error (" invalid null operation: \" null plus " +quote (unquote (rstr), ' "' )+" \" ." , lhs.pstate ());
13281328 if (rtype == Expression::NULL_VAL) error (" invalid null operation: \" " +quote (unquote (lstr), ' "' )+" plus null\" ." , rhs.pstate ());
13291329
1330- String_Constant* str = (ltype == Expression::STRING || sep == " " ) &&
1331- (sep != " /" || !rqstr || !rqstr->quote_mark ())
1332- ? SASS_MEMORY_NEW (mem, String_Quoted, lhs.pstate (), (lstr) + sep + (rstr))
1333- : SASS_MEMORY_NEW (mem, String_Constant, lhs.pstate (), (lstr) + sep + quote (rstr));
1334- str->quote_mark (0 );
1335- return str;
1330+ if ( (ltype == Expression::STRING || sep == " " ) &&
1331+ (sep != " /" || !rqstr || !rqstr->quote_mark ())
1332+ ) {
1333+ char quote_mark = 0 ;
1334+ std::string unq (unquote (lstr + sep + rstr, "e_mark, true ));
1335+ if (quote_mark && quote_mark != ' *' ) {
1336+ return SASS_MEMORY_NEW (mem, String_Constant, lhs.pstate (), quote_mark + unq + quote_mark);
1337+ }
1338+ return SASS_MEMORY_NEW (mem, String_Quoted, lhs.pstate (), lstr + sep + rstr);
1339+ }
1340+ return SASS_MEMORY_NEW (mem, String_Constant, lhs.pstate (), (lstr) + sep + quote (rstr));
13361341 }
13371342
13381343 Expression* cval_to_astnode (Memory_Manager<AST_Node>& mem, union Sass_Value* v, Context& ctx, Backtrace* backtrace, ParserState pstate)
0 commit comments