Steven McKinney wrote: > Same behaviour seen on Apple Mac OSX 10.4.8 platform: > > >> sessionInfo() >> > R version 2.4.0 Patched (2006-10-31 r39758) > powerpc-apple-darwin8.8.0 > > locale: > en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8 > > attached base packages: > [1] "methods" "stats" "graphics" "grDevices" "utils" "datasets" > "base" > > other attached packages: > XML > "1.2-0" > >> ls() >> > [1] "getMonograph" "last.warning" "myfun" > >> a <- 1 >> b <- 2 >> c <- letters >> a >> > [1] 1 > >> b >> > [1] 2 > >> c >> > [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" > "s" "t" "u" "v" "w" "x" "y" "z" > >> rm(c('a', 'b')) >> a >> > Error: object "a" not found > >> b >> > Error: object "b" not found > >> c >> > .Primitive("c") > >> ls() >> > [1] "getMonograph" "last.warning" "myfun" > >> a <- 1 >> b <- 2 >> d <- letters >> ls() >> > [1] "a" "b" "d" "getMonograph" > "last.warning" "myfun" > >> rm(c('a', 'b')) >> > Warning message: > remove: variable "c" was not found > >> ls() >> > [1] "d" "getMonograph" "last.warning" "myfun" > > > Steven McKinney > > Statistician > Molecular Oncology and Breast Cancer Program > British Columbia Cancer Research Centre > > email: [EMAIL PROTECTED] > > tel: 604-675-8000 x7561 > > BCCRC > Molecular Oncology > 675 West 10th Ave, Floor 4 > Vancouver B.C. > V5Z 1L3 > Canada > > > > > -----Original Message----- > From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED] > Sent: Wed 11/29/2006 10:35 AM > To: r-devel@stat.math.ethz.ch > Cc: [EMAIL PROTECTED] > Subject: [Rd] rm() deletes 'c' if c('a','b') is the argument (PR#9399) > > Full_Name: Lixin Han > Version: 2.4.0 > OS: Windows 2000 > Submission from: (NULL) (155.94.110.222) > > > A character vector c('a','b') is supplied to rm(). As a result, 'c' is > deleted > unintentionally. > > >> a <- 1:5 >> b <- 'abc' >> c <- letters >> ls() >> > [1] "a" "b" "c" > >> rm(c('a','b')) >> ls() >> > character(0) > > > The reason is that > x <- function(...) sapply(match.call(expand.dots = FALSE)$..., as.character) > x(c(a,b)) [,1] [1,] "c" [2,] "a" [3,] "b"
Which in turn happens because > as.character(quote(c(a,b))) [1] "c" "a" "b" I don't know if it really qualifies as a bug, but it's not documented that as.character() is used and I suppose we could be more careful with the argument checking. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel