Skip to content
Back to formatted view

Raw Message

Message-ID: <46322D82.6030108@stats.uwo.ca>
Date: 2007-04-27T17:06:10Z
From: Duncan Murdoch
Subject: parsing difference between 2.4.1 and 2.5.0
In-Reply-To: <46322AEE.60100@stats.uwo.ca>

On 4/27/2007 12:55 PM, Duncan Murdoch wrote:
> 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, 

This isn't quite true, of course:  in 2.5.0 the default parse output 
includes an attribute that references the original source.  I think the 
rest of what I wrote is right:

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
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel