[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Hang on incomplete input
From: |
Nick Dokos |
Subject: |
Re: [O] Hang on incomplete input |
Date: |
Thu, 01 Dec 2011 10:21:24 -0500 |
Ken Williams <address@hidden> wrote:
>
> Rafael wrote:
>
> > In Ubuntu 10.10, emacs 23.2 and recent org, I get an *Org-Babel Error
> > Output* buffer, saying:
> >
> > Error: unexpected '}' in:
> > "ddply(x,
> > }"
> > Execution halted
>
> I'm using:
>
> GNU Emacs 23.3 (from http://vgoulet.act.ulaval.ca/en/emacs/windows/)
> Windows 7
> org-mode 7.7
> ESS 5.14
>
> What version of ESS do you have? Maybe that's the difference?
>
FWIW, I got the same thing as Rafael:
Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 18:42:20 UTC 2011 x86_64
GNU/Linux
GNU Emacs 24.0.90.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.0) of
2011-10-27
Org-mode version 7.7 (release_7.7.617.gb1f2)
Forgive my ignorance: how do I check the ESS version? And what does ESS have
to do with R? I thought this was an R code block, but as you can probably
tell, I'm an ignoRamus.
When I start R interactively, I get
,----
| R version 2.11.1 (2010-05-31)
| Copyright (C) 2010 The R Foundation for Statistical Computing
| ISBN 3-900051-07-0
`----
> Any suggestions for how to debug a hang like this? Is there a signal I can
> send it, to generate a stack trace (if signals are even possible in Windows,
> I'm not even sure)?
>
Probably the best thing to do is cut out the middleman: execute the code
snippet in the appropriate environment directly - no emacs, no org, no
babel - and see if you have the problem. There are differences of course
that babel tries to minimize but it can only simulate certain cases. E.g
when I enter the incomplete form in the interactive session, it keeps giving
me a secondary prompt attempting to convince me to do something sensible:
,----
|
| > dply(x,
| +
| +
| + )
| Error: could not find function "dply"
| >
`----
babel does not have that luxury.
If that does not bear fruit, you can M-x toggle-debug-on-quit, run the
code block and press C-g to get a backtrace. Rinse, repeat to see
whether you always stop at the same point. It's somewhat hit-or-miss but
it can be effective sometimes.
Nick