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.hes...@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.b...@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-boun...@r-project.org on behalf of joris.m...@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@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

Reply via email to