From murdoch.duncan at gmail.com  Fri Jul 27 01:29:19 2012
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Thu, 26 Jul 2012 19:29:19 -0400
Subject: [Rd] rep fails on pairlist
In-Reply-To: <CAP01uRkj9jBY0=G=kL3UjHMhhfNvn35=483qqxV_3XcZeEUVkQ@mail.gmail.com>
References: <CAP01uRkj9jBY0=G=kL3UjHMhhfNvn35=483qqxV_3XcZeEUVkQ@mail.gmail.com>
Message-ID: <5011D2CF.3030001@gmail.com>

On 12-07-26 3:55 PM, Gabor Grothendieck wrote:
> This code which has worked for years in R but fails under R-devel:
>
>> R.version.string
> [1] "R Under development (unstable) (2012-07-25 r59963)"
>>
>> n <- 3
>> f <- function(x) {}
>> formals(f) <- rep(formals(f), n) ##
> Error in rep(formals(f), n) : replication of pairlists is defunct
>
> The message suggests that the change was intentional.
> Why was this functionality removed?
> What code should be used in its place?
>
>

rep() on a pairlist didn't return a pairlist, it coerced to a list and 
then rep'd that.  So you could do the same explicitly if that's what you 
really want:

formals(f) <- rep(as.list(formals(f)), n)

This works because the formals<- code is forgiving; other uses of 
pairlists would not accept the result of rep on a pairlist.

Duncan Murdoch



[Rd] rep fails on pairlist
Duncan Murdoch