Re: [R-pkg-devel] [External] RcmdrPlugin.HH_1.1-48.tar.gz

2024-03-06 Thread Martin Maechler
> Joshua Ulrich 
> on Wed, 6 Mar 2024 10:57:28 -0600 writes:

> On Wed, Mar 6, 2024 at 1:03 AM Richard M. Heiberger
>  wrote:
>> 
>> Thank you Duncan, Jeff, Ivan.
>> 
>> I did all that Duncan and Jeff suggested, plus a bit more
>> that appeared to be necessary.  All of what I did is
>> documented in the RcmdrPlugin.HH/NEWS file.
>> 
>> Ivan's comments were received after I sent 1.1-50 to CRAN
>> and it was accepted.
>> 
> I recommend you revert all the changes you made that are
> documented in the package NEWS, and at minimum follow
> Ivan's advice to use exportPattern("^[^\\.]") instead of
> exportPattern("."). It would be even better to follow the
> advice in Writing R Extensions and list each exported
> object individually.

I agree: at least use   exportPattern("^[^\\.]")
instead of the 'very un-recommended' (.)  which -- as Ivan
mentioned -- does export *everything* --
entirely destroying one important advantage of namespaces,
namely to have "private" auxiliary functions/objects/data .

Martin

>> I suggest that my notes in the NEWS file, perhaps
>> augmented with Ivan's comments, might be added to
>> utils/man/globalVariables.Rd and to the " section
>> ‘Package structure’ in the ‘Writing R Extensions’ manual.
>> "
>> 
> That section of Writing R Extensions specifically says not
> to do what you did.

> Beware of patterns which include names starting with a
> period: some of these are internal-only variables and
> should never be exported, e.g. ‘.__S3MethodsTable__.’ (and
> loading excludes known cases).

> Duncan pointed out that '.__global__' is an internal-only
> variable created by globalVariables(), which means it
> should never be exported by a package. Imagine the number
> of conflicts there would be if every package that used
> globalVariables() exported the '.__global__'
> object... there would probably be thousands, yikes!

> It's possible that future versions of 'R CMD check' will
> error if there are any incorrectly exported internal
> variables (like '.__global__'), which would cause your
> package to fail.

> Best, Josh


>> 
>> > On Mar 6, 2024, at 01:38, Ivan Krylov
>>  wrote:
>> >
>> > В Tue, 5 Mar 2024 22:41:32 + > "Richard
>> M. Heiberger"  пишет:
>> >
>> >> Undocumented code objects: >> '.__global__' >> All
>> user-level objects in a package should have documentation
>> >> entries. See chapter 'Writing R documentation files'
>> in the 'Writing R >> Extensions' manual.
>> >
>> > This object is not here for the user of the package. If
>> you don't > export it, there will be no WARNING about it
>> being undocumented. This > variable is exported because
>> of exportPattern(".") in the file > NAMESPACE. The lone
>> dot is a regular expression that matches any name > of an
>> R object.
>> >
>> > If you don't want to manually list your exports in the
>> NAMESPACE file > (which can get tedious) or generate it
>> (which takes additional > dependencies and build steps),
>> you can use exportPattern('^[^\\.]') to > export
>> everything except objects with a name starting with a
>> period: >
>> 
https://cran.r-project.org/doc/manuals/R-exts.html#Specifying-imports-and-exports
>> >
>> > --
>> > Best regards, > Ivan
>> 
>> __
>> R-package-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel



> --
> Joshua Ulrich | about.me/joshuaulrich FOSS Trading |
> www.fosstrading.com

> __
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] RcmdrPlugin.HH_1.1-48.tar.gz

2024-03-06 Thread Joshua Ulrich
On Wed, Mar 6, 2024 at 1:03 AM Richard M. Heiberger  wrote:
>
> Thank you Duncan, Jeff, Ivan.
>
> I did all that Duncan and Jeff suggested, plus a bit more that appeared to be 
> necessary.
> All of what I did is documented in the RcmdrPlugin.HH/NEWS file.
>
> Ivan's comments were received after I sent 1.1-50 to CRAN and it was accepted.
>
I recommend you revert all the changes you made that are documented in
the package NEWS, and at minimum follow Ivan's advice to use
exportPattern("^[^\\.]") instead of exportPattern("."). It would be
even better to follow the advice in Writing R Extensions and list each
exported object individually.

> I suggest that my notes in the NEWS file, perhaps augmented with Ivan's 
> comments,
> might be added to utils/man/globalVariables.Rd and to the
> "
> section ‘Package
> structure’ in the ‘Writing R Extensions’ manual.
> "
>
That section of Writing R Extensions specifically says not to do what you did.

Beware of patterns which include names starting with a period: some
of these are internal-only variables and should never be exported,
e.g. ‘.__S3MethodsTable__.’ (and loading excludes known cases).

Duncan pointed out that '.__global__' is an internal-only variable
created by globalVariables(), which means it should never be exported
by a package. Imagine the number of conflicts there would be if every
package that used globalVariables() exported the '.__global__'
object... there would probably be thousands, yikes!

It's possible that future versions of 'R CMD check' will error if
there are any incorrectly exported internal variables (like
'.__global__'), which would cause your package to fail.

Best,
Josh


>
> > On Mar 6, 2024, at 01:38, Ivan Krylov  wrote:
> >
> > В Tue, 5 Mar 2024 22:41:32 +
> > "Richard M. Heiberger"  пишет:
> >
> >> Undocumented code objects:
> >>   '.__global__'
> >> All user-level objects in a package should have documentation
> >> entries. See chapter 'Writing R documentation files' in the 'Writing R
> >> Extensions' manual.
> >
> > This object is not here for the user of the package. If you don't
> > export it, there will be no WARNING about it being undocumented. This
> > variable is exported because of exportPattern(".") in the file
> > NAMESPACE. The lone dot is a regular expression that matches any name
> > of an R object.
> >
> > If you don't want to manually list your exports in the NAMESPACE file
> > (which can get tedious) or generate it (which takes additional
> > dependencies and build steps), you can use exportPattern('^[^\\.]') to
> > export everything except objects with a name starting with a period:
> > https://cran.r-project.org/doc/manuals/R-exts.html#Specifying-imports-and-exports
> >
> > --
> > Best regards,
> > Ivan
>
> __
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel



--
Joshua Ulrich  |  about.me/joshuaulrich
FOSS Trading  |  www.fosstrading.com

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] RcmdrPlugin.HH_1.1-48.tar.gz

2024-03-05 Thread Richard M. Heiberger
Thank you Duncan, Jeff, Ivan.

I did all that Duncan and Jeff suggested, plus a bit more that appeared to be 
necessary.
All of what I did is documented in the RcmdrPlugin.HH/NEWS file.

Ivan's comments were received after I sent 1.1-50 to CRAN and it was accepted.

I suggest that my notes in the NEWS file, perhaps augmented with Ivan's 
comments,
might be added to utils/man/globalVariables.Rd and to the
"
section ‘Package
structure’ in the ‘Writing R Extensions’ manual.
"


> On Mar 6, 2024, at 01:38, Ivan Krylov  wrote:
>
> В Tue, 5 Mar 2024 22:41:32 +
> "Richard M. Heiberger"  пишет:
>
>> Undocumented code objects:
>>   '.__global__'
>> All user-level objects in a package should have documentation
>> entries. See chapter 'Writing R documentation files' in the 'Writing R
>> Extensions' manual.
>
> This object is not here for the user of the package. If you don't
> export it, there will be no WARNING about it being undocumented. This
> variable is exported because of exportPattern(".") in the file
> NAMESPACE. The lone dot is a regular expression that matches any name
> of an R object.
>
> If you don't want to manually list your exports in the NAMESPACE file
> (which can get tedious) or generate it (which takes additional
> dependencies and build steps), you can use exportPattern('^[^\\.]') to
> export everything except objects with a name starting with a period:
> https://cran.r-project.org/doc/manuals/R-exts.html#Specifying-imports-and-exports
>
> --
> Best regards,
> Ivan

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] RcmdrPlugin.HH_1.1-48.tar.gz

2024-03-05 Thread Jeff Newmiller via R-package-devel
Remove leading periods from all file names in the tar.gz. Use .Rbuildignore to 
handle such files in your dev directory if you need them. Maybe also look at 
[1].

 [1] 
https://stackoverflow.com/questions/40950799/r-cmd-check-error-how-to-get-rid-of-hidden-files-and-directory-in-devel-r-pack

On March 5, 2024 5:34:36 PM PST, "Richard M. Heiberger"  wrote:
>Almost.
>
>I used 
>prompt(".__global__")
>to create file
>man/.__global__.Rd
>
>This file does not appear in the tar.gz file, but without a note of rejection.
>When I checked my disk directory directly
>R CMD check RcmdrPlugin.HH
>the file was rejected with
>
>Found the following hidden files and directories:
>  .DS_Store
>  R/.DS_Store
>  man/.__global__.Rd
>These were most likely included in error. See section ‘Package
>structure’ in the ‘Writing R Extensions’ manual.
>
>I looked there
>Section 1.1 says that the acceptable characters are
>A-Za-z0-9._!#$%&+,;=@^(){}'[]
>and "." and _ are explicitly included.
>
>What should I try next?
>
>
>> On Mar 5, 2024, at 18:21, Duncan Murdoch  wrote:
>> 
>> On 05/03/2024 5:41 p.m., Richard M. Heiberger wrote:
>>> My package is being rejected by auto-check
>>> Flavor: r-devel-linux-x86_64-debian-gcc, r-devel-windows-x86_64
>>> Check: for missing documentation entries, Result: WARNING
>>>  Undocumented code objects:
>>>'.__global__'
>>>  All user-level objects in a package should have documentation entries.
>>>  See chapter 'Writing R documentation files' in the 'Writing R
>>>  Extensions' manual.
>>> The problem is that the string'.__global__'  is not in the package.
>>> I can't find it and John Fox, the maintainer of Rcmdr, can'f find it.
>>> Can someone help me understand why a non-existent string is being detected?
>> 
>> That's the variable modified by the `globalVariables()` function.  So it may 
>> well exist in your package.  I'd guess the problem is that your package 
>> exports functions by giving a pattern for the names instead of listing each 
>> one separately, and it matches that variable.
>> 
>> Duncan Murdoch
>> 
>> 
>> 
>
>__
>R-package-devel@r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-package-devel

-- 
Sent from my phone. Please excuse my brevity.

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] RcmdrPlugin.HH_1.1-48.tar.gz

2024-03-05 Thread Richard M. Heiberger
Almost.

I used 
prompt(".__global__")
to create file
man/.__global__.Rd

This file does not appear in the tar.gz file, but without a note of rejection.
When I checked my disk directory directly
R CMD check RcmdrPlugin.HH
the file was rejected with

Found the following hidden files and directories:
  .DS_Store
  R/.DS_Store
  man/.__global__.Rd
These were most likely included in error. See section ‘Package
structure’ in the ‘Writing R Extensions’ manual.

I looked there
Section 1.1 says that the acceptable characters are
A-Za-z0-9._!#$%&+,;=@^(){}'[]
and "." and _ are explicitly included.

What should I try next?


> On Mar 5, 2024, at 18:21, Duncan Murdoch  wrote:
> 
> On 05/03/2024 5:41 p.m., Richard M. Heiberger wrote:
>> My package is being rejected by auto-check
>> Flavor: r-devel-linux-x86_64-debian-gcc, r-devel-windows-x86_64
>> Check: for missing documentation entries, Result: WARNING
>>  Undocumented code objects:
>>'.__global__'
>>  All user-level objects in a package should have documentation entries.
>>  See chapter 'Writing R documentation files' in the 'Writing R
>>  Extensions' manual.
>> The problem is that the string'.__global__'  is not in the package.
>> I can't find it and John Fox, the maintainer of Rcmdr, can'f find it.
>> Can someone help me understand why a non-existent string is being detected?
> 
> That's the variable modified by the `globalVariables()` function.  So it may 
> well exist in your package.  I'd guess the problem is that your package 
> exports functions by giving a pattern for the names instead of listing each 
> one separately, and it matches that variable.
> 
> Duncan Murdoch
> 
> 
> 

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel