[Rd] Error: cannot set length of non-vector
Kurt Hornik
Kurt.Hornik at wu-wien.ac.at
Mon Apr 4 22:07:09 CEST 2005
>>>>> Kurt Hornik writes:
>>>>> Peter Dalgaard writes:
>> Kurt Hornik <Kurt.Hornik at wu-wien.ac.at> writes:
>>> stack info at the C level to actually see where in the code the error
>>> triggers. If I add debugging info prior to the error call, the error is
>>> gone.
>>>
>>> Btw, if I comment *output* redirection in tools::checkVignettes(), the
>>> error is gone as well.
>>>
>>> Note that this is *NOT* an error thrown by R CMD check. The failure
>>> occurs when checkVignettes() is running the code (via source()) of the
>>> .R files created via Stangle(), and all the info we have about the error
>>> is being passed on.
>> Aha, so *that's* how to reproduce it.
>> One thing that catches my eye is that
>> tools::checkVignettes has
>> outConn <- textConnection("out", "w")
>> sink(outConn, type = "output")
>> sink(outConn, type = "message")
>> ....
>> for (f in rfiles) {
>> yy <- try(source(f))
>> and demo.R does extensive manipulation of an object called "out".
>> Perhaps it helps to do something like local(source(f, local=TRUE))? Or
>> maybe put local=TRUE in the textConnection() call.
> Or maybe
> textConnection("out", "w", local = TRUE)
> as done in similar places ...
[As you had already written.]
Or maybe use an anonymous tempfile.
Works for me, committed now.
-k
More information about the R-devel
mailing list