Re: [Rd] CRAN policies

From: Gabor Grothendieck <>
Date: Thu, 29 Mar 2012 07:50:50 -0400

On Wed, Mar 28, 2012 at 11:52 PM, Thomas Lumley <> wrote:
> On Thu, Mar 29, 2012 at 3:30 AM, Gabor Grothendieck
> <> wrote:

>> 2012/3/28 Uwe Ligges <>:
>>> On 27.03.2012 20:33, Jeffrey Ryan wrote:
>>>> Thanks Uwe for the clarification on what goes and what stays.
>>>> Still fuzzy on the notion of "significant" though.  Do you have an example
>>>> or two for the list?
>>> We have to look at those notes again and again in order to find if something
>>> important is noted, hence please always try to avoid all notes unless the
>>> effect is really intended!
>>> Consider the Note "No visible binding for global variable"
>>> We cannot know if your code intends to use such a global variable (which is
>>> undesirable in most cases), hence would let is pass if it seems to be
>>> sensible.
>>> Another Note such as "empty section" or "partial argument match" can quickly
>>> be fixed, hence just do it and don't waste our time.
>>> Best,
>>> Uwe Ligges
>> What is the point of notes vs warnings if you have to get rid of both
>> of them?  Furthermore, if there are notes that you don't have to get
>> rid of its not fair that package developers should have to waste their
>> time on things that are actually acceptable.  Finally, it makes the
>> whole system arbitrary since packages can be rejected based on
>> undefined rules.

> The "notes" are precisely the things for which clear rules can't be
> written.  They are reported by CMD check because they are usually
> signs of coding errors, but are not warnings because their use is
> sometimes justified.

> The 'No visible binding for global variable" is a good example.  This
> found some bugs in my 'survey' package, which I removed. There is
> still one note of this type, which arises when I have to handle two
> different versions of the hexbin package with different internal
> structures.  The note is a false positive because the use is guarded
> by an if(), but  CMD check can't tell this.   So, it's a good idea to
> remove all Notes that can be removed without introducing other code
> problems, which is nearly all of them, but occasionally there may be a
> good reason for code that produces a Note.

> But if you want a simple, unambiguous, mechanical rule for *your*
> packages, just eliminate all Notes.

I think it would be more objective and also easiest for everyone if notes were accepted.

It might be that over time some notes could be split into multiple cases some of which are warnings and others continue to be notes.

That way package developers don't have to waste their time on getting rid of notes which don't matter and the CRAN maintainers can turn the task of reviewing notes over to the computer.

Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at

______________________________________________ mailing list
Received on Thu 29 Mar 2012 - 11:54:51 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 29 Mar 2012 - 14:00:36 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive