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