[R-pkg-devel] CRAN student assistants

Jim Hester j@me@@|@he@ter @end|ng |rom gm@||@com
Wed May 15 15:42:13 CEST 2019


Sorry first sentence should read

I agree that `message()` is ideally preferred, precisely because
of the reasons Martin stated, it is easily controlled by the user.

On Wed, May 15, 2019 at 9:41 AM Jim Hester <james.f.hester using gmail.com> wrote:
>
> I agree that `message()` is in an ideally preferred, precisely because
> of the reasons Martin stated, it is easily controlled by the user.
>
> Unfortunately, in the real world, the windows R gui console and
> RStudio (which copied behavior) color messages, and anything on stderr
> in fact, in red, which confuses most users who are trained to treat
> messages in red as errors.
>
> This also makes using colored output (where available) more
> challenging when using `message()`.  You either have to accept the
> text as red, or unconditionally change the text color to black or
> similar, which can then be unreadable if the user is using a dark
> color theme.
>
> Jenny is an experienced package developer. She knew this tradeoff and
> the use of `cat()` in gargle was deliberate choice in an imperfect
> world. She did not make this decision out of ignorance of a better
> way.
>
> However there is no way for Jenny or any other package developers to
> have a dialog during a CRAN submission, the communication is only in
> one direction, if she resubmits explaining her rationale for the
> choice she may not even have the same reviewer the next time.
>
> Bioconductor seems to have a much better review process for
> submissions, with real dialog between the reviewer and package author,
> perhaps CRAN can learn from that process and improve the submission
> experience in the future.
>
> Jim
>
> On Wed, May 15, 2019 at 7:41 AM Martin Morgan <mtmorgan.bioc using gmail.com> wrote:
> >
> > message() / warning() / stop() write to stderr whereas print() / cat() write (by default) to stdout. Even without being able to suppress messages, it is well-established practice (the story is that this is the reason why 'stderr' was introduced into unix, https://www.jstorimer.com/blogs/workingwithcode/7766119-when-to-use-stderr-instead-of-stdout ) to separate diagnostic messages from program output. I agree that gargle (in particular, and packages in general, given the theme of this mailing list) would be a better package if it used message() where it now uses cat().
> >
> > Martin
> >
> > On 5/15/19, 5:04 AM, "R-package-devel on behalf of Joris Meys" <r-package-devel-bounces using r-project.org on behalf of Joris.Meys using ugent.be> wrote:
> >
> >     2) Where cat() is used in gargle, message() is a better option for the
> >     following reason:
> >
> >     > myfun <- function(){cat("Yes");message("No")}
> >     > suppressMessages(myfun())
> >     Yes
> >
> >
> > ______________________________________________
> > R-package-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-package-devel



More information about the R-package-devel mailing list