The R Project SVN R

Rev

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

Rev 13801 Rev 20106
Line 66... Line 66...
66
 *	"check.bounds"
66
 *	"check.bounds"
67
 *	"error"
67
 *	"error"
68
 *	"error.messages"
68
 *	"error.messages"
69
 *	"show.error.messages"
69
 *	"show.error.messages"
70
 *	"warn"
70
 *	"warn"
-
 
71
 *	"warning.length"
71
 *	"warning.expression"
72
 *	"warning.expression"
72
 
73
 
73
 *
74
 *
74
 * S additionally/instead has (and one might think about some)
75
 * S additionally/instead has (and one might think about some)
75
 * "free",	"keep"
76
 * "free",	"keep"
Line 272... Line 273...
272
 
273
 
273
    SET_TAG(v, install("error.messages"));
274
    SET_TAG(v, install("error.messages"));
274
    SETCAR(v, allocVector(LGLSXP, 1));
275
    SETCAR(v, allocVector(LGLSXP, 1));
275
    LOGICAL(CAR(v))[0] = 1;
276
    LOGICAL(CAR(v))[0] = 1;
276
 
277
 
-
 
278
    SET_TAG(v, install("warnings.length"));
-
 
279
    SETCAR(v, allocVector(INTSXP, 1));
-
 
280
    INTEGER(CAR(v))[0] = 1000;
-
 
281
 
277
    SET_SYMVALUE(install(".Options"), val);
282
    SET_SYMVALUE(install(".Options"), val);
278
    UNPROTECT(2);
283
    UNPROTECT(2);
279
}
284
}
280
 
285
 
281
SEXP do_options(SEXP call, SEXP op, SEXP args, SEXP rho)
286
SEXP do_options(SEXP call, SEXP op, SEXP args, SEXP rho)
Line 416... Line 421...
416
	    else if (streql(CHAR(namei), "warn")) {
421
	    else if (streql(CHAR(namei), "warn")) {
417
		if (!isNumeric(argi) || length(argi) != 1)
422
		if (!isNumeric(argi) || length(argi) != 1)
418
		    errorcall(call, "warn parameter invalid");
423
		    errorcall(call, "warn parameter invalid");
419
                SET_VECTOR_ELT(value, i, SetOption(tag, argi));
424
                SET_VECTOR_ELT(value, i, SetOption(tag, argi));
420
	    }
425
	    }
-
 
426
	    else if (streql(CHAR(namei), "warning.length")) {
-
 
427
		k = asInteger(argi);
-
 
428
		if (k < 100 || k > 8192)
-
 
429
		    errorcall(call, "warning.length parameter invalid");
-
 
430
		R_WarnLength = k;
-
 
431
                SET_VECTOR_ELT(value, i, SetOption(tag, argi));
-
 
432
	    }
421
	    else if ( streql(CHAR(namei), "warning.expression") )  {
433
	    else if ( streql(CHAR(namei), "warning.expression") )  {
422
		if( !isLanguage(argi) &&  ! isExpression(argi) )
434
		if( !isLanguage(argi) &&  ! isExpression(argi) )
423
		    errorcall(call, "warning.expression parameter invalid");
435
		    errorcall(call, "warning.expression parameter invalid");
424
		SET_VECTOR_ELT(value, i, SetOption(tag, argi));
436
		SET_VECTOR_ELT(value, i, SetOption(tag, argi));
425
	    }
437
	    }