That may be a bug in R but I think there is another problem on top of that as I don't think bquote descends into function bodies:
> z <- 2 > bquote(function(x) {x^.(z)}) function(x) {x^.(z)} > bquote(function(x, y) { x^.(z) + y}) function(x, y) { x^.(z) + y} > R.version.string # Vista [1] "R version 2.7.2 (2008-08-25)" Try it this way: z <- 2 f <- function(x, y) {} body(f) <- bquote({ x^.(z) + y }) eval(f)(2, 3) On Thu, Oct 2, 2008 at 1:14 AM, Sundar Dorai-Raj <[EMAIL PROTECTED]> wrote: > Hi, R-help, > > (sessionInfo at the end) > > I'm trying to construct a function using bquote and running into a strange > error message. As an example, what I would like to do is this: > > z <- 2 > eval(bquote(function(x, y) { x^.(z) + y }))(2, 3) > > However, I get the following: > > Error in eval(expr, envir, enclos) : > invalid formal argument list for "function" > > However, if I change the command to following, it works: > > z <- 2 > eval(bquote(function(x) { x^.(z) }))(2) > # [1] 4 > > In other words, I remove the second argument. Is there a workaround for this > without using eval(parse(text = ))? > > Thanks, > > --sundar > >> sessionInfo() > R version 2.7.2 (2008-08-25) > i386-pc-mingw32 > > locale: > LC_COLLATE=English_United States.1252;LC_CTYPE=English_United > States.1252;LC_MONETARY=English_United > States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.