[ESS] Windows Emacs: still hangs on install.packages(); no fix?
Paul Johnson
pauljohn32 at gmail.com
Wed Sep 19 20:17:57 CEST 2012
On Wed, Sep 19, 2012 at 5:02 AM, Vitalie Spinu <spinuvit at gmail.com> wrote:
>
> Hello,
>
> The freezing problem is most likely gone in beta. ESS no longer waits
> for the output to arrive, and long running (or never-ending like in this
> case) commands no longer stall emacs.
Yeah, thanks very much.
I'm a little confused on C-c C-c. I had forgotten the complication of
CUA mode. When CUA is turned OFF, then C-c C-c does break the lockup
from install.packages().
In the short term, I'm going to work on putting the bit in the Emacs
init file to make the graphics=FALSE always apply.
pj
> >> "Ponting, Keith (Keith)" <kponting at avaya.com>
> >> on Wed, 19 Sep 2012 04:19:42 -0400 wrote:
>
> > Hi Paul,
> > Another not what you want, but here goes. I get similar but not identical
> > behaviour - (Vista, emacs 24.1.1 from Vincent Goulet's excellent bundle
> > emacs-24.1-modified-1, including ESS 12.04-4). If I <ctrl>C <ctrl>C with the
> > cursor in the *R* buffer on the line which says "--- Please select a C RAN
> > mirror for use in this session ---", then the minibuffer responds "no command on
> > this line", but if I move the cursor up to a command prompt line (beginning ">
> > "), then the interrupt works.
>
> The C-c C-c problem is also solved in beta. It should now work everywhere, not
> only on input lines.
>
> > More like what you want: I have the following in my .emacs - you
> > could try something like this in site-start.el with your solutions 1
> > or 2 replacing my max.print option:
>
> > (defun my-ess-post-run-hook ()
> > (ess-execute-screen-options) ; from ESS-help Digest vol 77 issue 10
> > (local-set-key "\C-cw" 'ess-execute-screen-options)
> > (if (string= ess-dialect "R") (ess-eval-linewise "options(max.print=100)" nil nil nil (quote wait)))
> > )
> > (add-hook 'ess-post-run-hook 'my-ess-post-run-hook)
>
> This is indeed the way to go.
>
> (defun my-ess-execute-options ()
> (when (string-match-p "^R" ess-dialect)
> (ess-command "options(menu.graphics = FALSE)\n")))
> (add-hook 'ess-post-run-hook 'my-ess-post-run-hook)
>
> Use ess-eval-linewise instead if you want your users to see the code in their
> buffers. Same for your CRAN code, enclose it in {...} and don't forget
> to put "\n" at the end.
>
> In beta it's even easier because there is a specialized R post-run hook:
>
> (defun my-R-execute-options ()
> (ess-command "options(menu.graphics = FALSE)\n"))
> (add-hook 'ess-R-post-run-hook 'my-R-execute-options)
>
> I wonder if this option should be set by ESS. Tcltk menus are pretty annoying.
>
> There is also an ESS interface ess-install.packages which pops an IDO
> interface for CRAN selection. You can access it directly with M-x or
> with comma in *R* buffer through handy-commands.
>
> In beta ess-handy-commands are bound to C-c h. So C-c h inst RET should
> do the job for you.
>
> So as you can see there are many reasons to wait for the next release ;)
>
> Vitalie
>
> > Keith Ponting
> > Aurix Ltd, Malvern WR14 3SZ UK
> > Any opinions are those of the author not the company.
>
> >> -----Original Message-----
> >> From: ess-help-bounces at r-project.org [mailto:ess-help-bounces at r-
> >> project.org] On Behalf Of Joshua Wiley
> >> Sent: 19 September 2012 06:20
> >> To: Paul Johnson
> >> Cc: ess-help
> >> Subject: Re: [ESS] Windows Emacs: still hangs on install.packages(); no
> >> fix?
> >>
> >> Hi Paul,
> >>
> >> Probably not really what you want but note that:
> >>
> >> require(tcltk)
> >>
> >> before running will also fix it. If you have access to global emacs
> >> files, perhaps a system R profile? I'm not sure of a pure ESS approach,
> >> but maybe other smarter folks will chime in.
> >>
> >> Cheers,
> >>
> >> Josh
> >>
> >> On Tue, Sep 18, 2012 at 9:45 PM, Paul Johnson <pauljohn32 at gmail.com>
> >> wrote:
> >> > 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> >
> >> > ______________________________________________
> >> > ESS-help at r-project.org mailing list
> >> > https://stat.ethz.ch/mailman/listinfo/ess-help>
> >>
> >>
> >> --
> >> Joshua Wiley
> >> Ph.D. Student, Health Psychology
> >> Programmer Analyst II, Statistical Consulting Group University of
> >> California, Los Angeles https://joshuawiley.com/>
> >> ______________________________________________
> >> ESS-help at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/ess-help
>
> > ______________________________________________
> > ESS-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/ess-help
--
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