From p.dalgaard at biostat.ku.dk  Sat Apr 30 22:39:57 2005
From: p.dalgaard at biostat.ku.dk (Peter Dalgaard)
Date: Sat Apr 30 22:40:06 2005
Subject: [Rd] formals assignment now strips attributres
In-Reply-To: <4273EA5A.2060503@pburns.seanet.com>
References: <42736B4B.3080507@pburns.seanet.com>
	<x2ekcstq4f.fsf@turmalin.kubism.ku.dk>
	<4273EA5A.2060503@pburns.seanet.com>
Message-ID: <x23bt8t2w2.fsf@turmalin.kubism.ku.dk>

Patrick Burns <pburns@pburns.seanet.com> writes:

> But the buglet gets more aggressive if you edit the function:
> 
>  > fjj <- function() x
>  > formals(fjj) <- list(x=c(a=2, b=4))
>  > fjj
> function (x = c(2, 4))
> x
>  > fjj()
> a b
> 2 4
>  > fix(fjj) # do nothing but save
>  > fjj()
> [1] 2 4
> 
> I'm quite sure that I wouldn't have noticed if my real function were
> not broken.
> 
> Now I know that my functions will work if I assign the formals after I
> edit the
> function -- even though they look like they shouldn't work.

You did invite trouble by creating and subsequently a function that
_has_ no source representation though:

> fjj <- function() x
> formals(fjj) <- list(x=quote(c(a=2, b=4)))
> fjj()
a b
2 4
> fix(fjj)
> fjj()
a b
2 4
> fjj
function (x = c(a = 2, b = 4))
x


-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907


[Rd] formals assignment now strips attributres
Peter Dalgaard