From murdoch at stats.uwo.ca  Fri Apr 27 18:55:10 2007
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Fri, 27 Apr 2007 12:55:10 -0400
Subject: [Rd] parsing difference between 2.4.1 and 2.5.0
In-Reply-To: <971536df0704270834o35b9b7f4vd769b477f8b06b50@mail.gmail.com>
References: <971536df0704270834o35b9b7f4vd769b477f8b06b50@mail.gmail.com>
Message-ID: <46322AEE.60100@stats.uwo.ca>

On 4/27/2007 11:34 AM, Gabor Grothendieck wrote:
> I noticed the following difference in parse(text = ...) between R
> 2.4.1 and R 2.5.0.
> 
> ===
> 
>> parse(text = "\"^\" (x ,2 )")
> expression(x^2)
>> R.version.string
> [1] "R version 2.4.1 Patched (2006-12-30 r40331)"
> 
> 
> ====
> 
>> parse(text = "\"^\" (x ,2 )")
> expression("^" (x ,2 ))
>> R.version.string
> [1] "R version 2.5.0 RC (2007-04-16 r41194)"
> 
> ====
> 
> Ryacas was depending on the behavior in R 2.4.1 so the new
> behavior breaks it.
> 
> Is this intentional?  a bug?  How do I get the R 2.4.1 output
> from R 2.5.0 ?

There's no difference in the parsing, the difference is in the printing. 
  By default 2.5.0 will echo what you typed, whereas 2.4.1 will deparse. 
  You can get the 2.4.1 behaviour using options(keep.source=F) or 
parse(text = "\"^\" (x ,2 )", srcfile=NULL) (as ?parse says).

Duncan Murdoch



[Rd] parsing difference between 2.4.1 and 2.5.0
Duncan Murdoch