From ripley at stats.ox.ac.uk  Wed Jun 30 17:19:24 2010
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed, 30 Jun 2010 16:19:24 +0100 (BST)
Subject: [Rd] Tips for debugging: R CMD check examples
In-Reply-To: <AANLkTil6N-jeo4geAOPdjKPHWD0FIshNH5V5vkwiDA8s@mail.gmail.com>
References: <1277884730.7384.4.camel@desktop.localdomain>
	<AANLkTil6N-jeo4geAOPdjKPHWD0FIshNH5V5vkwiDA8s@mail.gmail.com>
Message-ID: <alpine.LFD.2.00.1006301544250.20658@gannet.stats.ox.ac.uk>

On Wed, 30 Jun 2010, hadley wickham wrote:

>> R CMD check produces a foo-Ex.R file where foo is the package name. You
>> could start by sourcing that file in R --vanilla and see where it fails
>> and also use standard debugging tools in R from there (i.e. drop into a
>> debugger on error).
>
> I knew about the foo-Ex.R file, but unfortunately running that
> produced no errors.

How did you 'run' it?   I suspect you source()d it, not at all the 
same thing.  I have yet to encounter a problem which

R --vanilla < foo-Ex.R

or perhaps

env LANGUAGE=en R --vanilla --encoding=latin1 < foo-Ex.R

did not reproduce.

> I ended up resorting to inserting print statements
> every few lines to narrow down the exact location of the problem,
> which revealed that my code assumed options(keep.source = TRUE) but
> during R CMD check, options(keep.source = FALSE).

Rather, the default (along with many others) differs in interactive 
use and batch running.   If you had used a command like those a few 
lines about you would have had 'keep.source = FALSE' set.

> Hopefully this type of problem will be easier to sort out with the new
> pure R R CMD check in 2.11.

Maybe (if you meant the one in R-devel, 2.12.0-to-be). But the 
examples are run in a sub-process just as before, so your very rare 
mis-assumption still needs an understanding of how R code is run.

>
> Hadley
>
>
> -- 
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
> http://had.co.nz/

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] Tips for debugging: R CMD check examples
Prof Brian Ripley