There was a pre-existing bug. ?source in 2.0.1 says
file: a connection or a character string giving the name of the
file or URL to read from.
yet it contained
if (chdir && (path <- dirname(file)) != ".") {
You cannot reasonably run dirname() on a connection or a URL, and it
throws an error in those cases.
We need a more elaborate detection mechanism, and some re-ordering of the
code.
On Mon, 16 May 2005, Luca Scrucca wrote:
> Dear R-users,
>
> I used to give commands such as:
>
>> source(file="~/path/to/file.R", chdir=TRUE)
>
> but with the latest v. 2.1.0 it does not seem to work anymore.
> I tried to figure out what it was going on and it seems that the string
> for which
>> class(file)
> [1] "character"
> is changed to
>> class(file)
> [1] "file" "connection"
> when the connection is open by
> file <- file(file, "r", encoding = encoding)
>
> But this force the following if statement
> if (chdir && is.character(file) && (path <-
dirname(file)) != ".")
> { owd <- getwd()
> on.exit(setwd(owd))
> setwd(path)
> }
> to be FALSE and then non changing of current directory is done.
> Is this the desired behavior or some bug fix is required?
>
> Luca
>
> +-----------------------------------------------------------------------+
> | Dr. Luca Scrucca |
> | Dipartimento di Economia, Finanza e Statistica |
> | Sezione di Statistica tel. +39-075-5855226 |
> | Universit? degli Studi di Perugia fax. +39-075-5855950 |
> | Via Pascoli - C.P. 1315 Succ. 1 |
> | 06100 PERUGIA (ITALY) |
> | (o_ (o_ (o_ |
> | E-mail: luca at stat.unipg.it //\ //\ //\
|
> | Web page: http://www.stat.unipg.it/luca V_/_ V_/_ V_/_ |
> +-----------------------------------------------------------------------+
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
Dear R-users, I used to give commands such as:> source(file="~/path/to/file.R", chdir=TRUE)but with the latest v. 2.1.0 it does not seem to work anymore. I tried to figure out what it was going on and it seems that the string for which> class(file)[1] "character" is changed to> class(file)[1] "file" "connection" when the connection is open by file <- file(file, "r", encoding = encoding) But this force the following if statement if (chdir && is.character(file) && (path <- dirname(file)) != ".") { owd <- getwd() on.exit(setwd(owd)) setwd(path) } to be FALSE and then non changing of current directory is done. Is this the desired behavior or some bug fix is required? Luca +-----------------------------------------------------------------------+ | Dr. Luca Scrucca | | Dipartimento di Economia, Finanza e Statistica | | Sezione di Statistica tel. +39-075-5855226 | | Universit?? degli Studi di Perugia fax. +39-075-5855950 | | Via Pascoli - C.P. 1315 Succ. 1 | | 06100 PERUGIA (ITALY) | | (o_ (o_ (o_ | | E-mail: luca at stat.unipg.it //\ //\ //\ | | Web page: http://www.stat.unipg.it/luca V_/_ V_/_ V_/_ | +-----------------------------------------------------------------------+
This and some related problems should be fixed in tomorrow's R-patched snapshot. On Mon, 16 May 2005, Luca Scrucca wrote:> Dear R-users, > > I used to give commands such as: > >> source(file="~/path/to/file.R", chdir=TRUE) > > but with the latest v. 2.1.0 it does not seem to work anymore. > I tried to figure out what it was going on and it seems that the string > for which >> class(file) > [1] "character" > is changed to >> class(file) > [1] "file" "connection" > when the connection is open by > file <- file(file, "r", encoding = encoding) > > But this force the following if statement > if (chdir && is.character(file) && (path <- dirname(file)) != ".") > { owd <- getwd() > on.exit(setwd(owd)) > setwd(path) > } > to be FALSE and then non changing of current directory is done. > Is this the desired behavior or some bug fix is required?-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595