[Rd] Comments in the DESCRIPTION file
Hervé Pagès
hpages at fhcrc.org
Fri Dec 7 02:36:31 CET 2012
On 12/06/2012 04:53 PM, William Dunlap wrote:
> Why not just use some tag that R doesn't already use, say "Comment:", instead
> of a #? If you allow # in position one of a line to mean a comment then people
> may expect # to be used as a comment anywhere on a line.
I would stick to whatever the DCF spec say, if there is such thing.
If the spec says # on position 1 means a comment then I think read.dcf()
should do that. Then the function can be used to read any DCF file,
not just DESCRIPTION files.
Cheers,
H.
>
> (It may also mess up some dcf parsing code that I've written - it checks that lines
> after tagged lines are either empty, the start of a new description, or start with a space,
> a continuation of the previous line.)
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
>> -----Original Message-----
>> From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-project.org] On Behalf
>> Of Hervé Pagès
>> Sent: Thursday, December 06, 2012 3:47 PM
>> To: Duncan Murdoch
>> Cc: christophe.genolini at u-paris10.fr; r-devel at r-project.org; Christophe Genolini
>> Subject: Re: [Rd] Comments in the DESCRIPTION file
>>
>>
>>
>> On 12/06/2012 03:41 PM, Hervé Pagès wrote:
>>> Hi,
>>>
>>> Wouldn't be hard to patch read.dcf() though.
>>>
>>> FWIW here's the "comment aware" version of read.dcf() I've been using
>>> for years:
>>>
>>> .removeCommentLines <- function(infile=stdin(), outfile=stdout())
>>> {
>>> if (is.character(infile)) {
>>> infile <- file(infile, "r")
>>> on.exit(close(infile))
>>> }
>>> if (is.character(outfile)) {
>>> outfile <- file(outfile, "w")
>>> on.exit({close(infile); close(outfile)})
>>> }
>>> while (TRUE) {
>>> lines <- readLines(infile, n=25000L)
>>> if (length(lines) == 0L)
>>> return()
>>> keep_it <- substr(lines, 1L, 1L) != "#"
>>> writeLines(lines[keep_it], outfile)
>>> }
>>> }
>>>
>>> read.dcf2 <- function(file, ...)
>>> {
>>> clean_file <- file.path(tempdir(), "clean.dcf")
>>
>> mmh, would certainly be better to just use tempfile() here.
>>
>> H.
>>
>>> .removeCommentLines(file, clean_file)
>>> on.exit(file.remove(clean_file))
>>> read.dcf(clean_file, ...)
>>> }
>>>
>>> Cheers,
>>> H.
>>>
>>> On 11/07/2012 01:53 AM, Duncan Murdoch wrote:
>>>> On 12-11-07 4:26 AM, Christophe Genolini wrote:
>>>>> Hi all,
>>>>>
>>>>> Is it possible to add comments in the DESCRIPTION file?
>>>>
>>>>
>>>> The read.dcf function is used to read the DESCRIPTION file, and it
>>>> doesn't support comments. (The current Debian control format
>>>> description does appear to support comments with leading # markers, but
>>>> R's read.dcf function doesn't support these.)
>>>>
>>>> You could probably get away with something like
>>>>
>>>> #: this is a comment
>>>>
>>>> since unrecognized fields are ignored, but I think this fact is
>>>> undocumented so I would say it's safer to assume that comments are not
>>>> supported.
>>>>
>>>> Duncan Murdoch
>>>>
>>>> ______________________________________________
>>>> R-devel at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>
>> --
>> Hervé Pagès
>>
>> Program in Computational Biology
>> Division of Public Health Sciences
>> Fred Hutchinson Cancer Research Center
>> 1100 Fairview Ave. N, M1-B514
>> P.O. Box 19024
>> Seattle, WA 98109-1024
>>
>> E-mail: hpages at fhcrc.org
>> Phone: (206) 667-5791
>> Fax: (206) 667-1319
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpages at fhcrc.org
Phone: (206) 667-5791
Fax: (206) 667-1319
More information about the R-devel
mailing list