[R] using tcltk in R under ESS/XEmacs on Windows
Liaw, Andy
andy_liaw at merck.com
Fri Sep 24 23:48:18 CEST 2004
> From: Marc Schwartz
>
> On Fri, 2004-09-24 at 15:02, Liaw, Andy wrote:
> > Sorry for the cross-post. Not sure where the problem is...
> >
> > A while back I posted an R function to R-help:
> >
> > cd <- function (dir = tclvalue(tkchooseDirectory()),
> saveOld = FALSE,
> > loadNew = TRUE) {
> > stopifnot(require(tcltk))
> > if (saveOld)
> > save.image(compress = TRUE)
> > setwd(dir)
> > rm(list = ls(all = TRUE, envir = .GlobalEnv), envir =
> .GlobalEnv)
> > if (loadNew && file.exists(".RData")) {
> > loaded <- load(".RData", envir = .GlobalEnv)
> > return(invisible(loaded))
> > }
> >
> > where the default value for the `dir' argument is to run
> the tcltk directory
> > chooser and get the directory name chosen. (Thanks to
> Prof. John Fox for
> > the tcltk part!!) While this function works fine under
> Rgui on Windows, it
> > doesn't work when running R within ESS (5.2.3) and XEmacs
> (21.4.13). The
> > directory chooser never shows up, and dir just gets the
> empty string. Does
> > anyone have any idea what could be the problem? I'd very
> much appreciate
> > any pointers.
> >
> > Best,
> > Andy
>
> Andy,
>
> This works under FC2 using ESS 5.2.3 with XEmacs version 21.4.15, so
> presumably there is something specific to the Windows implementation?
Given Prof. Fox's follow-up and your obvservation, I guess the problem _is_
Windows-specific. 8-(
> Also, two things:
>
> 1. You are missing a closing brace above, which I presume may be a
> simple copy and paste issue.
Yes. My apologies.
> 2. If you successfully change the directory, the cd()
> function itself is
> deleted from the global environment via your rm(...), as you currently
> have it implemented. I am not sure if this is intentional or not.
Well, sort of. I've placed it in a small package along with other handy
stuff, so that won't be a problem.
Best,
Andy
> HTH,
>
> Marc
>
>
>
>
More information about the R-help
mailing list