[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