[ESS] Windows Emacs: still hangs on install.packages(); no fix?

Paul Johnson pauljohn32 at gmail.com
Wed Sep 19 06:45:48 CEST 2012


Greetings ESS developers:

After my impassioned plea in favor of Emacs and ESS
(http://pj.freefaculty.org/guides/Rcourse/emacs-ess/emacs-ess.pdf),
a few of the students relented and tried it out. It is mostly working
as I expect, but a widespread problem has developed. The ESS session
hangs if the user runs commands that need CRAN access. A command like

> install.packages("lmtest")

hangs the session.  The ESS buffer says choose CRAN repository from
list, but the list never pops up. Is this a tcltk problem? (In Linux,
the CRAN chooser is a tcltk thing, I wonder if Windows uses same).

I've found a few posts about this problem, which proposes some
workarounds, but none are great.

https://stat.ethz.ch/pipermail/ess-help/2008-January/004470.html

That one says that C-c C-c will break the freeze, but it does not do
that in Emacs 24.1 or 24.2 for Windows. For me, Emacs stays frozen,
the minibuffer says "Text is read only".

I wish this problem could be fixed on your end, but in lieu of that, I
need a "solution" that I can engineer for all users on a system,
something to put in site-start.d. When I go from one machine to
another, I can't remember to re-run these workarounds every single
time.

Here are the workarounds that do work, but they aren't great.

1. Remember to run this every time you start R in ESS:

> chooseCRANmirror(graphics = FALSE)

That gives a text chooser for the desired CRAN mirror. That's fine.

It is hard to remember to do that every time.

2. In  ~/.Rprofile file, put such:

local({r <- getOption("repos")
        r["CRAN"] <- "http://rweb.quant.ku.edu/cran"
        options(repos=r)})

The only problem there is that you have to re-do that when you go to a
new computer or run in a different user account.  It is driving me
insane.

Is there something I can put in the Emacs startup file system-wide
that forces all CRAN chooser things to obey the graphics=FALSE policy?
In the old days, Emacs for Windows had the problem that the file
chooser menu could not let the user choose a file.  TO address that, I
put this in init.el:

(if (eq system-type 'windows-nt)
    (setq use-file-dialog nil))

If there were something I could put in there to tell ESS to NOT try to
open the CRAN mirror chooser, I could be happy.

-- 
Paul E. Johnson
Professor, Political Science    Assoc. Director
1541 Lilac Lane, Room 504     Center for Research Methods
University of Kansas               University of Kansas
http://pj.freefaculty.org            http://quant.ku.edu



More information about the ESS-help mailing list