From c@@rdi@g@bor @ending from gm@il@com  Tue Jul 17 02:46:31 2018
From: c@@rdi@g@bor @ending from gm@il@com (=?UTF-8?B?R8OhYm9yIENzw6FyZGk=?=)
Date: Tue, 17 Jul 2018 01:46:31 +0100
Subject: [Rd] Top level \Sexpr and R CMD check
In-Reply-To: <f5f9aff9-cca1-9da6-8155-ac4571bc90da@gmail.com>
References: <CABtg=KkE7gNvho-PLvsS-48yOR5nVTTSsekf35uLS4JJiZmjjg@mail.gmail.com>
 <eaf1c672-fb4c-5327-9b5a-4349ef75eec7@gmail.com>
 <CABtg=KkNXXPBg+6yzQZ2FOdWsUqZj0xnbUAaOu=-ZG7pGUOvHQ@mail.gmail.com>
 <b03ecf4b-f59b-eed6-ddb2-4788a4cd98ef@gmail.com>
 <CABtg=KkH8UO93RggxZwtKgJxcN+5JS-HQ0NBQX0yYrLNi5PEXw@mail.gmail.com>
 <CABtg=K=Rvt98Z9XdLLEd7FogzSiXGZRzGOofxP12pzyn5rfr7A@mail.gmail.com>
 <f5f9aff9-cca1-9da6-8155-ac4571bc90da@gmail.com>
Message-ID: <CABtg=KmKig4n3sAJepeBThARQE0rVcJk2BriYgvgDYtBJ+unRQ@mail.gmail.com>

The patch indeed solves the issue.

Thanks  much,
G.
On Thu, Jul 12, 2018 at 5:29 PM Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
>
> On 12/07/2018 9:46 AM, G?bor Cs?rdi wrote:
> > On Thu, Jul 12, 2018 at 2:30 PM G?bor Cs?rdi <csardi.gabor at gmail.com> wrote:
> >>
> >> On Thu, Jul 12, 2018 at 2:21 PM Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
> >>> I think I found the bug.  The tools::checkRd function only processes
> >>> \Sexpr's with "stage=render".  I think the author (who might have been
> >>> me, I forget) assumed that would imply all the earlier stages as well,
> >>> but apparently it doesn't.
> >>>
> >>> So you could use that as a workaround.
> >>>
> >>> I'll do some more checking, then submit a bug report and patch to Bugzilla.
> >>>
> >>> Duncan Murdoch
> >>
> >> Thanks much! I tried using stage=render, but then I get an error at
> >> install time:
> >>
> >> Warning: /private/var/folders/59/0gkmw1yj2w7bf2dfc3jznv5w0000gn/T/RtmpCG4Qz9/R.INSTALLec4743ba8cf4/ps/man/ps_handle.Rd:45-48:
> >> Section \Sexpr is unrecognized and will be dropped
> >>
> >> And indeed the whole section is dropped.
> >>
> >> Seems like there is no clean workaround here.
> >>
> >> Thanks again,
> >> G.
> >
> > Btw. would it make sense to just allow \Sexpr as a top level section?
> > Maybe here:
> > https://github.com/wch/r-source/blob/98e9999eb0e8616550632a1675e4d2dbe630d5e4/src/library/tools/R/RdConv2.R#L500-L503
> >
> > At least if stage=render, there is no way to check if the returned
> > value is always a valid top level section, anyway.
> > If it is not a valid section (or \Sexpr returns some bad markup in
> > general), then the user gets a render-time error,
> > but with stage=render I guess one cannot do better.
> >
>
> I believe the problem is in the tools:::.check_package_parseRd function.
>   It checks the .Rd files rather than parsed Rd objects, so it needs to
> be told to expand all \Sexpr's, not just render-time ones.  I think it
> is fixed by the below patch to R-devel.  Can you give it a try before I
> submit the bug report?
>
> Duncan Murdoch
>
> Index: src/library/tools/R/QC.R
> ===================================================================
> --- src/library/tools/R/QC.R    (revision 74954)
> +++ src/library/tools/R/QC.R    (working copy)
> @@ -6430,7 +6430,8 @@
>           if(basename(f) %in% c("iconv.Rd", "showNonASCII.Rd")) def_enc
> <- TRUE
>         tmp <- tryCatch(suppressMessages(checkRd(f, encoding = enc,
>                                                  def_enc = def_enc,
> -                                                 macros = macros)),
> +                                                 macros = macros,
> +                                                 stages = c("build",
> "install", "render"))),
>                         error = identity)
>         if(inherits(tmp, "error")) {
>             bad <- c(bad, f)
>



[Rd] Top level \Sexpr and R CMD check
=?UTF-8?B?R8OhYm9yIENzw6FyZGk=?=