[R] source(echo=TRUE) bug (was: source() behavior I don't understand)

Duncan Murdoch murdoch at stats.uwo.ca
Mon Mar 10 03:14:39 CET 2008


On 09/03/2008 10:01 PM, Richard M. Heiberger wrote:
> temp.ttt <- "ttt <- 1\nttt"
> conn.ttt <- textConnection(temp.ttt)
> source(conn.ttt, echo=TRUE)  ## name of variable is echoed
> close(conn.ttt)
> cat(file="c:/temp/temp.R", temp.ttt)  ## name of variable not echoed
> source("c:/temp/temp.R", echo=TRUE)
> 
> 
> temp.abc <- "abc <- 1\nabc"
> conn.abc <- textConnection(temp.abc)
> source(conn.abc, echo=TRUE)  ## name of variable is echoed
> close(conn.abc)
> cat(file="c:/temp/temp.R", temp.abc)  ## name of variable is echoed
> source("c:/temp/temp.R", echo=TRUE)
> 
> 
> The behavior I don't understand is why the variable name "ttt" is not echoed
> when sourced from a file.  It is echoed when sourced from a character string.
> The name is echoed in both situations when it begins with a letter other
> than "t".  Specifically I have tested "tt" and "ttt".

Looks like a bug in a regular expression.  R doesn't echo lines 
containing nothing but blanks and tabs, and I think the regular 
expression that is supposed to match tabs is matching t instead.  Thanks 
for the report, I'll fix it.

Duncan Murdoch



More information about the R-help mailing list