@Gabor The igraph C sources have many parts disabled with #ifndef USING_R
.
I assume this is motivated by CRAN not allowing functions that exit (abort()
) or printing to the terminal (stdout
, stderr
).
These rules are of course reasonable not only for R but for all the high-level igraph interfaces. But having all this USING_R
is inconvenient and error-prone.
Thus, my question is: What are the exact rules of CRAN? Do they really not allow these symbols to be even referenced in any of the object files? The public guidelines simply say not to call these functions, but don’t explicitly forbid referencing them. An example is igraph’s error handler: the R interface sets its own error handler anyway. Having to comment out all the default handlers is pointless and inconvenient. Who can we clarify the requirements with?
CC @vtraag @tamas since we’re been discussing this this morning.