The R Project SVN R

Rev

Rev 63181 | Rev 63400 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 63181 Rev 63223
Line 1857... Line 1857...
1857
	WrongArgCount(asym[PRIMVAL(op)]);
1857
	WrongArgCount(asym[PRIMVAL(op)]);
1858
    if (isString(CAR(args))) {
1858
    if (isString(CAR(args))) {
1859
	/* fix up a duplicate or args and recursively call do_set */
1859
	/* fix up a duplicate or args and recursively call do_set */
1860
	SEXP val;
1860
	SEXP val;
1861
	PROTECT(args = duplicate(args));
1861
	PROTECT(args = duplicate(args));
1862
	SETCAR(args, install(translateChar(STRING_ELT(CAR(args), 0))));
1862
	SETCAR(args, installTrChar(STRING_ELT(CAR(args), 0)));
1863
	val = do_set(call, op, args, rho);
1863
	val = do_set(call, op, args, rho);
1864
	UNPROTECT(1);
1864
	UNPROTECT(1);
1865
	return val;
1865
	return val;
1866
    }
1866
    }
1867
 
1867
 
Line 2151... Line 2151...
2151
	PROTECT(xnew = allocList(len));
2151
	PROTECT(xnew = allocList(len));
2152
	xptr = xnew;
2152
	xptr = xnew;
2153
	for (i = 0; i < length(x); i++) {
2153
	for (i = 0; i < length(x); i++) {
2154
	    if (CHAR(STRING_ELT(xnames, i))[0] != '\0') {
2154
	    if (CHAR(STRING_ELT(xnames, i))[0] != '\0') {
2155
		SETCAR(xptr, VECTOR_ELT(x, i));
2155
		SETCAR(xptr, VECTOR_ELT(x, i));
2156
		SET_TAG(xptr, install(translateChar(STRING_ELT(xnames, i))));
2156
		SET_TAG(xptr, installTrChar(STRING_ELT(xnames, i)));
2157
		xptr = CDR(xptr);
2157
		xptr = CDR(xptr);
2158
	    }
2158
	    }
2159
	}
2159
	}
2160
	UNPROTECT(1);
2160
	UNPROTECT(1);
2161
    } else xnew = allocList(0);
2161
    } else xnew = allocList(0);