The R Project SVN R

Rev

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

Rev 77275 Rev 77380
Line 297... Line 297...
297
	cptr->conexit = R_NilValue; /* prevent recursion */
297
	cptr->conexit = R_NilValue; /* prevent recursion */
298
	cptr->jumptarget = NULL; /* in case on.exit expr calls return() */
298
	cptr->jumptarget = NULL; /* in case on.exit expr calls return() */
299
	PROTECT(saveretval);
299
	PROTECT(saveretval);
300
	PROTECT(s);
300
	PROTECT(s);
301
	R_FixupExitingHandlerResult(saveretval);
301
	R_FixupExitingHandlerResult(saveretval);
-
 
302
	if (cptr->returnValue) // why is this needed???
-
 
303
	    INCREMENT_LINKS(cptr->returnValue);
302
	for (; s != R_NilValue; s = CDR(s)) {
304
	for (; s != R_NilValue; s = CDR(s)) {
303
	    cptr->conexit = CDR(s);
305
	    cptr->conexit = CDR(s);
304
	    eval(CAR(s), cptr->cloenv);
306
	    eval(CAR(s), cptr->cloenv);
305
	}
307
	}
-
 
308
	if (cptr->returnValue) // why is this needed???
-
 
309
	    DECREMENT_LINKS(cptr->returnValue);
306
	R_ReturnedValue = saveretval;
310
	R_ReturnedValue = saveretval;
307
	UNPROTECT(2);
311
	UNPROTECT(2);
308
	R_ExitContext = savecontext;
312
	R_ExitContext = savecontext;
309
	R_Visible = savevis;
313
	R_Visible = savevis;
310
    }
314
    }