An update to the rgl package was rejected with this note:
* checking compiled code ... NOTE File ‘rgl/libs/rgl.so’: Found non-API call to R: ‘R_InputHandlers’ Compiled code should not call non-API entry points in R. See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, and section ‘Moving into C API compliance’ for issues with the use of non-API entry points.
See <https://win-builder.r-project.org/incoming_pretest/rgl_1.3.10_20240707_165632/Debian/00check.log> for more info.
`R_InputHandlers` isn't actually a function, it's a linked list of structures holding input handlers. rgl links into it to handle mouse and keyboard interaction when it is displaying a window in X11.
`R_InputHandlers` is declared in R in src/include/R_ext/eventloop.h, where comments state
/* For use by alternative front-ends and packages which need to share the R event loop (on Unix-alikes). Not part of the API and subject to change without notice. NB: HAVE_SYS_SELECT_H should be checked and defined before this is included. */
WRE has a discussion of the issue in 8.1.4, "meshing event loops". It refers to comments in src/unix/sys-std.c, but I'm not sure which comments.
rgl references it from this code: https://github.com/dmurdoch/rgl/blob/fbedc326e291c3ec28a9ccac7d030f04b05edfa3/src/x11lib.cpp#L53-L72 Can anyone tell me whether I can fix this? Duncan Murdoch ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel