On 27/11/2010 5:58 PM, Charles C. Berry wrote:

parseNamespaceFile() doesn't seem to detect misspelled directives. Looking
at its code I see

        switch(as.character(e[[1L]]),

        <lots of args omitted here>,

        stop(gettextf("unknown namespace directive: %s",
                  deparse(e)), call. = FALSE, domain = NA))

but this doesn't seem to function as I expect, viz. to stop with an error
if I type a wrong directive.

You're right, there was a typo in parseNamespaceFile. (The typo was in this line:

               "=", "<-" = {

This should have been

               "=" =, "<-" = {

Without the extra = sign, the "=" was taken as the default value of the switch, and the stop() was never reached.

Conceivably switch() should complain if it is called with more than one default.

Duncan Murdoch


Details:
# create dummy NAMESPACE file with two bad / one good directives
cat("blah( nada )\nblee( nil )\nexport( outDS )\n",file="NAMESPACE")
readLines("NAMESPACE")
[1] "blah( nada )"    "blee( nil )"     "export( outDS )"
parseNamespaceFile("",".") # now parse it
$imports
list()

$exports
[1] "outDS"

$exportPatterns
character(0)

$importClasses
list()

$importMethods
list()

$exportClasses
character(0)

$exportMethods
character(0)

$exportClassPatterns
character(0)

$dynlibs
character(0)

$nativeRoutines
list()

$S3methods
       [,1] [,2] [,3]



So, it picked up 'export' and ignored the other two lines.


Chuck

p.s.

sessionInfo()
R version 2.12.0 (2010-10-15)
Platform: i386-apple-darwin9.8.0/i386 (32-bit)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base






Charles C. Berry                            Dept of Family/Preventive Medicine
cbe...@tajo.ucsd.edu                        UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to