Dear all,
Consider this code:
>library("data.table")
>unloadNamespace('data.table')
It produces some warnings
Warning in FUN(X[[1L]], ...) :
Created a package name, 2013-10-29 17:05:51, when none found
Warning in FUN(X[[1L]], ...) :
Created a package name, 2013-10-29 17:05:51, when none found
...
The warning is produced by the getPackageName() function.
e.g.
getPackageName(parent.env(getNamespace('data.table')))
I was wondering what could be done to get rid of these warnings, which I
believe in the case "unloadNamespace" case are irrelevant.
The stack of calls is:
# where 3: sapply(where, getPackageName)
# where 4: findClass(what, classWhere)
# where 5: .removeSuperclassBackRefs(cl, cldef, searchWhere)
# where 6: methods:::cacheMetaData(ns, FALSE, ns)
# where 7: unloadNamespace(pkgname)
So for instance:
>findClass('data.frame', getNamespace('data.table'))
generates a warning which once again seems irrelevant.
On the top of my head, I could imagine adding an extra argument to
getPackageName, say warning = TRUE, which would be set to FALSE in the
getPackageName call in findClass() body.
I also wonder if in the case of import namespaces, getPackageName() could
not find a more appropriate name:
>parent.env(getNamespace('data.table'))
<environment: 0x7f6ce4d04040>
attr(,"name")
[1] "imports:data.table"
This namespace has a name that might be used to generate the package name.
My question is: what should be done ?
Thanks for your attention.
Karl Forner
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel