Karolis Koncevičius
2023-Apr-28 20:49 UTC
[Rd] Should '@" now be listed in tools:::.get_internal_S3_generics() ?
This issue might go deeper - I was not successful in passing R CMD checks for the usage files. R CMD check kept showing errors for `@` declarations, even thou they were identical to `$` declarations (which passed fine). Seems like the usage check functions are not prepared for `@` - also in tools:::.S3_method_markup_regexp> On Apr 28, 2023, at 10:34 PM, Karolis Koncevi?ius <karolis.koncevicius at gmail.com> wrote: > > I was building a package that uses the new generic @ and kept having errors with ?roxygen2? documentation. ?roxygen2? generated NAMESPACE added `@.newclass` as a newly exported function, not as a S3method. > > At first I thought this must be a bug in roxygen2 and they lag behind the new developments in R. But after some investigation I found that ?roxygen2? is using tools:::.get_internal_S3_generis() to decide if the method should be exported as S3method or not. For some reason ?@<-? is listed in there, but ?@? is not. > > Am I missing some context, or is this an oversight? > > Kind regards, > Karolis Koncevicius
Gabriel Becker
2023-Apr-28 21:38 UTC
[Rd] Should '@" now be listed in tools:::.get_internal_S3_generics() ?
Karolis, It seems likely, without having looked myself, that you could be correct about the issue, but it does seem worth noting that both of the functions you have mentioned are not exported, and thus not part of the API that extension packages are allowed to use and rely on. If retrieving the list of "internal S3 generics" is something package and user code is allowed to do, the real fix seems to go beyond what you're suggesting, to actually providing an API entry point that gives the relevant information (maybe in an identical form to how those internal functions do so, maybe not). If it's not, for some principled reason, something R-core wants to support package and user code doing, then the fact that the new thing doesn't work automatically with roxygen2 would become the roxygen maintainers' job to fix or document. I do not know whether R-core feels this is something packages/users should be able to do; both decisions strike me as possible, to be honest, depending on details I don't know and/or am not privy to. Best, ~G On Fri, Apr 28, 2023 at 1:49?PM Karolis Koncevi?ius < karolis.koncevicius at gmail.com> wrote:> This issue might go deeper - I was not successful in passing R CMD checks > for the usage files. R CMD check kept showing errors for `@` declarations, > even thou they were identical to `$` declarations (which passed fine). > > Seems like the usage check functions are not prepared for `@` - also in > tools:::.S3_method_markup_regexp > > > On Apr 28, 2023, at 10:34 PM, Karolis Koncevi?ius < > karolis.koncevicius at gmail.com> wrote: > > > > I was building a package that uses the new generic @ and kept having > errors with ?roxygen2? documentation. ?roxygen2? generated NAMESPACE added > `@.newclass` as a newly exported function, not as a S3method. > > > > At first I thought this must be a bug in roxygen2 and they lag behind > the new developments in R. But after some investigation I found that > ?roxygen2? is using tools:::.get_internal_S3_generis() to decide if the > method should be exported as S3method or not. For some reason ?@<-? is > listed in there, but ?@? is not. > > > > Am I missing some context, or is this an oversight? > > > > Kind regards, > > Karolis Koncevicius > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]
Maybe Matching Threads
- Should '@" now be listed in tools:::.get_internal_S3_generics() ?
- Should '@" now be listed in tools:::.get_internal_S3_generics() ?
- Should '@" now be listed in tools:::.get_internal_S3_generics() ?
- Should '@" now be listed in tools:::.get_internal_S3_generics() ?
- Should '@" now be listed in tools:::.get_internal_S3_generics() ?