Dr. Peter Ruckdeschel
2013-Sep-06 20:54 UTC
[Rd] directives to explicitely exclude objects from import into namespaces
Hi, recently R CMD check --as-cran has noticed some more issues with package namespace imports with the recommended remedy to use importFrom() and friends. In my case, there was only a conflict restricted to some few imports, while I would prefer to still import all the non-conflicting objects, methods, and classes of the respective package namespace. So would it be possible to have some new directives along the lines import(<pkg>) ## importing the whole namespace of <pkg> in a first step notimportFrom(<pkg>, <obj1>, <obj2>,....) ## exclude <obj1>, <obj2>, ... again from the previous namespace import ## and, similarly, notimportMethodsFrom(<pkg>, <meth1>, <meth2>,....) notimportClassesFrom(<pkg>, <cls1>, <cls2>,....) in the NAMESPACE file? Otherwise the list of object, methods, classes to be explicitely imported (in my case) got very long (and hence hard to maintain) -- much longer than the list of items to be excluded from an import. Or have I overseen some obvious, easier way to achieve this? Best regards, Peter -- Dr. habil. Peter Ruckdeschel, Abteilung Finanzmathematik, F3.17 Fraunhofer ITWM, Fraunhofer Platz 1, 67663 Kaiserslautern Telefon: +49 631/31600-4699 Fax: +49 631/31600-5699 E-Mail : peter.ruckdeschel at itwm.fraunhofer.de http://www.itwm.fraunhofer.de/abteilungen/finanzmathematik/mitarbeiterinnen/mitarbeiter/dr-peter-ruckdeschel.html
Duncan Murdoch
2013-Sep-07 00:35 UTC
[Rd] directives to explicitely exclude objects from import into namespaces
On 13-09-06 4:54 PM, Dr. Peter Ruckdeschel wrote:> Hi, > > recently R CMD check --as-cran has noticed some more issues with > package namespace imports with the recommended remedy to > use importFrom() and friends. > > In my case, there was only a conflict restricted to some few imports, > while I would prefer to still import all the non-conflicting objects, > methods, and classes of the respective package namespace. > > So would it be possible to have some new directives along the lines > > import(<pkg>) ## importing the whole namespace of <pkg> in a first step > notimportFrom(<pkg>, <obj1>, <obj2>,....) > ## exclude <obj1>, <obj2>, ... again from the previous namespace import > ## and, similarly, > notimportMethodsFrom(<pkg>, <meth1>, <meth2>,....) > notimportClassesFrom(<pkg>, <cls1>, <cls2>,....) > > in the NAMESPACE file? > > Otherwise the list of object, methods, classes to be explicitely imported > (in my case) got very long (and hence hard to maintain) -- much longer > than the list of items to be excluded from an import.This doesn't make sense to me. How could it be easier to maintain a list over which you don't have control instead of one over which you do have control? Duncan Murdoch> > Or have I overseen some obvious, easier way to achieve this? > > Best regards, Peter >