[Rd] last user argument missing from Rscript --verbose
Scott Kostyshak
skostysh at princeton.edu
Fri Sep 19 15:14:03 CEST 2014
On Fri, Sep 19, 2014 at 8:12 AM, Martin Maechler
<maechler at stat.math.ethz.ch> wrote:
>>>>>> Harris A Jaffee <hj at jhu.edu>
>>>>>> on Thu, 18 Sep 2014 19:32:29 +0200 writes:
>
> (using HTML, please don't )
>
> > The loop that echoes the arguments almost always stops too soon. It
> > apparently does that to avoid
> > echoing the "--args" (that had been inserted) when there are no user
> > arguments. However, when there
> > are user arguments, the next element of the 'av' array is the last
> > argument and usually not "--args",
> > although it can be.
> > ?Rscript is a little sketchy:
> > `--verbose' gives details of what `Rscript' is doing. Also passed
> > on to R.
> > What is passed to R is correct, but the diagnostic is not:
> > $ Rscript --verbose /dev/null 1 2
> > running
> > '/path_to_R --slave --no-restore --file=/dev/null --args 1'
> > Fixed (only tested on Mac):
> > $ Rscript --verbose /dev/null 1 2
> > running
> > '/Library/Frameworks/R.framework/Versions/3.1/Resources/bin/R --slave
> > --no-restore --file=/dev/null --args 1 2'
>
> You are right about the problem, also reproducible on Linux.
> You mention a 'fix'.
> It looks to me that is just
>
> - for(i = 1; i < ac-1; i++) fprintf(stderr, " %s", av[i]);
> + for(i = 1; i < ac; i++) fprintf(stderr, " %s", av[i]);
>
> in unix/Rscript.c, right ?
Yes, I suggested the same patch here:
http://r.789695.n4.nabble.com/patch-Rscript-off-by-one-error-in-output-td4693780.html
Scott
> BTW: If one use -e 'commandArgs()' instead of /dev/null one
> sees that Rscript's "lying" about the last argument is not
> helpful anyway :
>
> Rscript --verbose -e 'commandArgs()'
>
> running
> '/usr/local64.sfs/app/R/R-3.1.1-inst/bin/R --slave --no-restore -e commandArgs()'
>
> [1] "/usr/local64.sfs/app/R/R-3.1.1-inst/bin/exec/R"
> [2] "--slave"
> [3] "--no-restore"
> [4] "-e"
> [5] "commandArgs()"
> [6] "--args"
>
> because the '--args' appears anyway and indeed *is* passed to 'R'...
>
> A better fix would rather suppress that; but I will commit the
> above change.
--
Scott Kostyshak
Economics PhD Candidate
Princeton University
More information about the R-devel
mailing list