From duncan at wald.ucdavis.edu  Sat Apr  7 00:31:17 2007
From: duncan at wald.ucdavis.edu (Duncan Temple Lang)
Date: Fri, 06 Apr 2007 15:31:17 -0700
Subject: [Rd] wishlist: additional argument in R_tryEval (Rinternals.h)
In-Reply-To: <eb555e660704061500o58da8b60ya109a17f239fb64c@mail.gmail.com>
References: <eb555e660704061500o58da8b60ya109a17f239fb64c@mail.gmail.com>
Message-ID: <4616CA35.7060802@wald.ucdavis.edu>


Hi Deepayan.

 It is not part of the API, but it is used in numerous packages
that would break if such a change were made.
It is an easy change to make, but not necessarily a robust approach
if we keep adding parameters. If we need the room to add more,
using a structure whose fields are modified within the R_tryEval()
would be more flexible for future evolutions.
But then again, that is creeping towards an object and that is
precisely what we need for the evaluator itself...... (More perhaps
in the future.)



 D.

Deepayan Sarkar wrote:
> Hi,
> 
> R_tryEval, exported in Rinternals.h but not part of the API, is
> currently defined as:
> 
> R_tryEval(SEXP e, SEXP env, int *ErrorOccurred);
> 
> I'm trying to embed R in an application (basically yet another GUI),
> and this has been very helpful to catch errors. It would be even more
> helpful if it also gave access to the visibility flag. I can wrap this
> in a call to withVisible, and that works great, but if there is an
> error, traceback() contains a bunch of irrelevant levels.
> 
> It seems fairly easy to add another argument, similar to
> ErrorOccurred, that is set to the visibility flag before returning. Is
> this something that could be considered for addition in R-devel? A
> possible patch for R/trunk is attached. Mac-GUI/REngine/REngine.m will
> also need a patch, but I don't understand the language it's written
> in.
> 
> -Deepayan
> 
> 
> ------------------------------------------------------------------------
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] wishlist: additional argument in R_tryEval (Rinternals.h)
Duncan Temple Lang