On Thu, Jul 12, 2018 at 12:23 PM Duncan Murdoch <murdoch.duncan at gmail.com> wrote:> > On 12/07/2018 6:33 AM, G?bor Cs?rdi wrote: > > I would like to create \examples{} in the manual dynamically, and > > while it is possible to do this with a \Sexpr at the top level, R CMD > > check issues a warning for it. (See below.) > > > > Is it intentional that \Sexpr is not allowed at the top level? The Rd > > grammar allows this, but R CMD check does not. > > > > Is there any other way to generate/modify the \examples{} section dynamically? > > That looks like a bug in the check code, but wouldn't it be possible to > work around it with something like this? > > \examples{ > \Sexpr[stage=install,strip.white=FALSE,results=rd]{pkg:::decorate_code(' > CODE > ')} > }Thanks for the reply! Unfortunately it seems that \Sexpr is not allowed inside \examples, either: checkRd: (7) ps_handle.Rd:46-47: Tag \Sexpr is invalid in a \examples block G. [...]
On 12/07/2018 7:30 AM, G?bor Cs?rdi wrote:> On Thu, Jul 12, 2018 at 12:23 PM Duncan Murdoch > <murdoch.duncan at gmail.com> wrote: >> >> On 12/07/2018 6:33 AM, G?bor Cs?rdi wrote: >>> I would like to create \examples{} in the manual dynamically, and >>> while it is possible to do this with a \Sexpr at the top level, R CMD >>> check issues a warning for it. (See below.) >>> >>> Is it intentional that \Sexpr is not allowed at the top level? The Rd >>> grammar allows this, but R CMD check does not. >>> >>> Is there any other way to generate/modify the \examples{} section dynamically? >> >> That looks like a bug in the check code, but wouldn't it be possible to >> work around it with something like this? >> >> \examples{ >> \Sexpr[stage=install,strip.white=FALSE,results=rd]{pkg:::decorate_code(' >> CODE >> ')} >> } > > Thanks for the reply! Unfortunately it seems that \Sexpr is not allowed inside > \examples, either: > > checkRd: (7) ps_handle.Rd:46-47: Tag \Sexpr is invalid in a \examples block > > G.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
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 MurdochThanks 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.