[Rd] Lack of final newline in write.dcf changes append usage

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Sep 26 20:50:05 CEST 2007


On Wed, 26 Sep 2007, Roger Peng wrote:

> The change in r42731 eliminating the final blank line when writing DCF
> files changes the way 'append' can be used in 'write.dcf' and I was
> wondering if this is intentional.  Basically, I want to write a data

Yes, it is intentional.  That a blank line got written after a single 
record (only) was regarded as unintentional: blank lines are (I was told) 
record separators and not terminators.

> frame to DCF format one row at a time, so I make use of repeated calls
> to 'write.dcf(append = TRUE)'. However, in R 2.6.0RC the resulting DCF
> file is not formatted properly because there are no blank lines
> between the entries.

tools::write_PACKAGES had that problem.  But surely it is better to keep a 
connection open and make repeated calls to write.dcf on it (as 
write_PACKAGES does).  I don't think writing record separators explicitly 
is much of a hardship.

> It seems the only way to use 'write.dcf(append = TRUE)' is to
> explicitly write a blank line to the file before writing the entry.

or after an entry.

> Perhaps 'write.dcf' could be changed to write a blank line in the
> beginning if append = TRUE?  I've attached a patch for this
> possibility.

Not in code freeze, and in any case it does not address what for me is the 
natural usage.

-- 
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



More information about the R-devel mailing list