[Rd] Rf_errorcall - translate to Pascal
Duncan Murdoch
murdoch at stats.uwo.ca
Thu Feb 16 11:44:26 CET 2006
On 2/16/2006 3:55 AM, Hans-Peter wrote:
> Hello!
>
> I (try to) convert the external R header files to Pascal (Delphi). At
> one place I stumbled over a macro that uses a method that is not
> declared in a LGPL header file:
>
> In Rinternals.h:
> #define error_return(msg) { Rf_error(msg); return R_NilValue; }
> #define errorcall_return(cl,msg){ Rf_errorcall(cl, msg); return R_NilValue; }
> ~~~~~~~~
> In Error.h:
> void Rf_error(const char *, ...);
> [Rf_errorcall is not declared here, would be something like:
> void Rf_errorcall(SEXP, const char *,...)]
>
> Is this by purpose or would it be possible to pull the Rf_errorcall
> declaration to the error.h file? It's not that I need the Rf_errorcall
> function, it's more that I am a bit pedantic and like to translate the
> complete thing (based on LGPL (which is more convenient in the Delphi
> world) - well you might not care about this).
Just to be clear: this is a licensing issue, not a technical issue.
Error.h is licensed under the LGPL, but Defn.h (where Rf_errorcall is
declared) is under the more restrictive GPL.
> How is this handled in general, I mean, there might be other spots
> like this. Is it appropriate to ask such questions here?
I think this is a reasonable forum.
My feeling would be that this is probably an oversight; the public API
for R should be self-contained. But I don't know if the fix is to
change errorcall_return or to move the Rf_errorcall declaration.
Generally things are not put in the public API if there's a feeling that
we'd like to change them; we are much more conservative about API changes.
I think it would be helpful to know the scope of the problem. Could you
collect together a complete list of examples like this?
Duncan Murdoch
More information about the R-devel
mailing list