From ripley at stats.ox.ac.uk  Wed Sep 26 20:50:05 2007
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed, 26 Sep 2007 19:50:05 +0100 (BST)
Subject: [Rd] Lack of final newline in write.dcf changes append usage
In-Reply-To: <66f3bd910709261054r7532fac3rd454380facdcca40@mail.gmail.com>
References: <66f3bd910709261054r7532fac3rd454380facdcca40@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.0709261944001.6951@gannet.stats.ox.ac.uk>

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



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