[Rd] Rf_errorcall - translate to Pascal
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Feb 16 13:58:37 CET 2006
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
More information about the R-devel
mailing list