Rf_errorcall - translate to Pascal
On Thu, 16 Feb 2006, Hans-Peter wrote:
2006/2/16, Hans-Peter <gchappi at gmail.com>:
[Rf_errorcall is not declared here, would be something like:
void Rf_errorcall(SEXP, const char *,...)]
... would it be possible to pull the Rf_errorcall
declaration to the error.h file?
error.h doesn't look like a good place as the SEXP type is not known there. Sorry, I am quite unfluent with this c headers...
Yes, and their names are case-sensitive too. So it is intentional that errorcall is not in R_Ext/Error.h. Since it is needed for writing front-ends and now mentioned in Writing R Extensions it should probably be in Rinternals.h. But note that is basically the only way that a non-core programmer is going to be writing code that gets passed 'call' objects.
As a sidenote: in Defn.h are two macrogroups: /* Promise Access Macros */ /* Hashing Macros */ which aren't declared in Rinternals.h. This is different from e.g. the groups: /* General Cons Cell Attributes */ /* Primitive Access Macros */ ...
This is intentional. Both Defn.h and Rinternals.h have these in a section protected by #ifdef USE_RINTERNALS #endif and that section should not be regarded as public. There _are_ (mis-titled) sections /* Promise Access Macros */ /* Hashing Macros */ in Rinternals.h, and those are the function equivalents defined for external use. All that is public is what is documented in `Writing R Extensions': other things are in the header files but you should not assume that they will even be exported in future versions of R.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595