This turned up in the same context as #743, i.e. writing data.restore. Two bugs, I think: The way arguments with no defaults are stored appears to be as a zero-length name: > test <- function(x) 1 > as.list(test)$x > mode(as.list(test)$x) [1] "name" > as.character(as.list(test)$x) [1] "" However, I'm not allowed to create one of those: > as.name("") Error in as.name("") : attempt to use zero-length variable name If I'm sneaky, I can create one, but I can't do anything with it: > badvar <- as.list(test)$x > badvar Error: Argument "badvar" is missing, with no default > junk <- badvar Error: Argument "badvar" is missing, with no default > junk Error: Object "junk" not found For now, the workaround I'm using when building up functions like "test" above is to create them as function(x = stop("argument x is missing")) 1 but this is ugly. Duncan Murdoch Version: platform = Windows arch = x86 os = Win32 system = x86, Win32 status = major = 1 minor = 1.1 year = 2000 month = August day = 15 language = R Windows 9x 4.0 (build 1111) B Search Path: .GlobalEnv, Autoloads, package:base -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._