[ESS] ESS[R] / Xemacs dies if I hit return before parenthesis matching is completed

Dan Davison davison at uchicago.edu
Thu Feb 24 19:12:50 CET 2005


On Thu, 24 Feb 2005, Stephen Eglen wrote:

>
> > I just apt-get upgrade'd my debian linux "sarge" system, and one
> > consequence has been that ESS / R / Xemacs are not behaving as nicely as
> > they were before the upgrade: If I hit return to evaluate an R expression,
> > and do so immediately after closing a parenthesis or two, without waiting
> > for the parenthesis highlighter to "bounce" back from the matching
> > parenthesis, then the session dies
>
> Hi Dan, by the look of the backtraces, this could be a problem with
> packages other than just ESS.
>
> Can you try the same in a shell?
>
> M-x shell
>
> then type a silly command like
>  (pwd)
>
> and hit return before the bounce finishes.

I couldn't get it to seize up in the M-x shell session, or using emacs 
a.o.t. XEmacs.

It seems to happen in XEmacs ESS[R] when the R interpreter is sent a 
relatively complex line. e.g. it didn't seize up once with

print(((((5))))),

but it often seized up with

for(i in 1:5) print(((((5)))))

emacs seemed OK with both of these though.

>
> Do you have anything special in your .emacs to do the paren bouncing?

I don't think so:

dan at Psilocybe:~$ cat .emacs.d/.emacs
(defun Rnw-mode ()
   (require 'ess-noweb)
   (noweb-mode)
   (if (fboundp 'R-mode)
       (setq noweb-default-code-mode 'R-mode)))
(add-to-list 'auto-mode-alist '("\\.Rnw\\'" . Rnw-mode))
(add-to-list 'auto-mode-alist '("\\.Snw\\'" . Rnw-mode))

(setq reftex-file-extensions
       '(("Snw" "Rnw" "rnw" "nw" "tex" ".tex" ".ltx") ("bib" ".bib")))
(setq TeX-file-extensions
       '("Snw" "Rnw" "rnw" "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo"))

dan at Psilocybe:~$ cat .xemacs/custom.el
(custom-set-variables
  '(gnuserv-program (concat exec-directory "/gnuserv") t)
  '(c-default-style "bsd")
  '(line-number-mode t)
  '(c-basic-offset 4)
  '(user-mail-address "davison at uchicago.edu")
  '(query-user-mail-address nil))
(custom-set-faces)


>
> >
> >    string-match("\\(?:[^ \n
> > \"'`]+\\|\"[^\"]*\"\\|'[^']*'\\|`[^`]*`\\)+" "apply(A, 1, function(row)
> > prod(row))" 11)
> >    # bind (arg-regexp args pos count mth nth string)
> >    comint-arguments("apply(A, 1, function(row) prod(row))" 0 nil)
> >    # bind (input intxt append-here pmark-val pmark proc)
> >    comint-send-input()
> >    #<compiled-function nil "...(14)" [ess-object-list
> > ess-make-buffer-current run-hooks ess-send-input-hook comint-send-input
> > nil] 2 ("/usr/share/xemacs21/site-lisp/ess/ess-inf.elc" . 30639) nil>()
> >    call-interactively(inferior-ess-send-input)
> >    # (condition-case ... . error)
> >    # (catch top-level ...)
>
> Also, can you try using Emacs rather than XEmacs?
>
> Stephen
>




More information about the ESS-help mailing list