methods: representation gives "unused arguments" on failure (PR#1796)

markus.jantti@iki.fi markus.jantti@iki.fi
Tue, 16 Jul 2002 10:03:41 +0200 (MET DST)


Full_Name: Markus Jantti
Version: 1.5.1
OS: GNU/Linux Unstable (Sid)
Submission from: (NULL) (193.166.59.44)


I was trying to get the package yags 3.20 by Vince Carey
<stvjc@channing.harvard.edu>
to run, but - after successfull installation -- loading the library failed with
the
message 

> library(yags)
Error in stop(paste("Duplicated slot names: ", paste(slots[duplicated(slo
: 
        unused argument(s) (sep ...)
Error in eval(expr, envir, enclos) : could not set Class

R CMD check also fails (first for having a malformed Depends line
in DESCRIPTION, then on running the examples with the above error message.

> R.version
         _                
platform i386-pc-linux-gnu
arch     i386             
os       linux-gnu        
system   i386, linux-gnu  
status                    
major    1                
minor    5.1              
year     2002             
month    06               
day      17               
language R   
Those were the facts. R FAQ: Bugs warns against trying to provide an 
explanation for what happens.  However, I was unable to resist trying 
to figure out what was wrong.

There was a duplicated slot name in the yags source code the triggered
this "stop" function, but apparently the 'sep = ""' argument has slipped
out of the parentheses following the 'paste' function and is now an argument
to the 'stop' function instead, which generates the 'unused argument(s)' 
error. This occurs in the function 'representation' in the file 
SClasses.R in the methods directory of the R source. The same typo
occurs in the same function a few lines above it. The following diff
indicates at which lines these 'stop' functions occur:

tykki:~/R-1.5.1/src/library/methods/R# diff  SClasses.R.old SClasses.R
33c33
<         stop(paste("Duplicate class names among superclasses:",
paste(includes[duplicated(includes)], collapse = ", ")), sep="")
---
>         stop(paste("Duplicate class names among superclasses:",
paste(includes[duplicated(includes)], collapse = ", "), sep=""))
36c36
<        stop(paste("Duplicated slot names: ", paste(slots[duplicated(slots)],
collapse="")), sep="")
---
>        stop(paste("Duplicated slot names: ", paste(slots[duplicated(slots)],
collapse=""), sep=""))
---
I am no sure if the 'sep = ""' argument is intended for the first or the
second of the 'paste' functions.


I have separately notified the author of yags about the problem there. 


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._