[ESS-bugs] ess-mode 5.2.0; rterm.exe does not end after quitting R with q(), when graphics were plotted before

"Locher René, lor" lor at zhwin.ch
Wed Jun 9 10:53:22 CEST 2004


To: ess-bugs at stat.math.ethz.ch
Subject: ess-mode 5.2.0; rterm.exe does not end after quitting R with q(), when graphics were plotted before
--text follows this line--
When I started rterm.exe (V 1.9.0 patched) in emacs on Windows XP  by M-x R and I did not use any graphics-commands,I could close R correctly with the R-command q(). If I plotted some graphics before q(), rterm.exe and emacs.exe hanged and I had to shut down rterm.exe by the windows task manager. 

I had similar experiences also with Xemacs on windows XP and with an older version of emacs and ess on windows NT and windows 2000. When I used R V1.7 or older, there were two error messages when quitting R in emacs, but I did not need to shut down rterm.exe by windows task manager.

Now I have found out how to overcome this problem, which might help you to find the problem in rterm.exe and/or in ess: if I use the R-commands
 .ans <- winDialog('ok', 'Initialization complete.'); rm(.ans)
before any plot, everything works fine!! winDialog() seems to initialize some protocolls correctly whereas plot(x,y) does apparently not!? 

Regards

René


René Locher                                   E-Mail: rene.locher at zhwin.ch
Institut für Datenanalyse und Prozessdesign   Tel:    052/ 267 7810
Zürcher Hochschule Winterthur                 Fax:    052/ 268 7810
Technopark / Jägerstrasse 2                   Sekr:   052/ 267 7818
Postfach
CH-8400 Winterthur                            http://www.idp.zhwin.ch


Emacs  : GNU Emacs 21.3.1 (i386-mingw-nt5.1.2600)
 of 2004-03-10 on NYAUMO
Package: ess-mode 5.2.0

current state:
==============
(setq
 ess-language "S"
 ess-dialect "R"
 ess-ask-for-ess-directory t
 ess-ask-about-transfile nil
 ess-directory nil
 ess-keep-dump-files "always"
 ess-source-directory "/tmp/"
 )
[ess-site.el]: ess-customize-alist=nil 
[ess-site.el _2_]: ess-customize-alist=nil 

(R): ess-dialect=nil, buf=*scratch*, start-arg=nil
 current-prefix-arg=nil
(inferior-ess 0): ess-start-args=--ess  
ess-setq-vars-default 0: ess-language=Initial, -dialect=nil, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
ess-setq-vars-default 1: ess-language=S, -dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
(inf-ess 1): lang=S, dialect=R, tmp-dialect=R, buf=*scratch*
(inf-ess 1.1): procname=R temp-dialect=R, buf-name=*R* 
(inferior-ess) Method #3 start=d:/ buf=*R*
(ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
(inf-ess 2.1): ess-language=S, ess-dialect=R buf=*R* 
(inf-ess 2.2): start args = --ess , inf-ess-start-args=--ess  
(inf-ess finish [S(R), Rterm(nil,nil)]
(ess-multi 0):  inf-ess-start-args=--ess , comint-..echoes=nil
(i-ess 1): buf=*R*, lang=S, comint..echo=nil, comint..sender=comint-simple-send,
(i-ess 2): buf=*R*, lang=S, comint..echo=t, comint..sender=inferior-R-input-sender,
(ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=inferior-R-input-sender
(i-ess 3): curr-buf=*R*, comint..echo=t, comint..sender=inferior-R-input-sender,
(ess-multi post inf-ess: start-args=--ess , comint-echoes=t
(ess-multi 1):  start-args=--ess  
Making Process...Buf *R*, Proc R, Prog Rterm
 Start File=nil, Args= --ess .
(R): inferior-ess-language-start=options(STERM='iESS', editor='gnuclient.exe')
(ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
(ess-mode-1): ess-language=S, ess-dialect=R buf=tips.R 
(ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-language . S) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template replace-regexp-in-string S$ ess-suffix ess-dump-filename-template-proto) (ess-mode-editing-alist . S-editing-alist) (ess-mode-syntax-table . R-syntax-table) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . R-help-sec-keys-alist) (ess-loop-timeout . ess-S-loop-timeout) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . assign(".Last.value", .ess.lvsave, envir=NULL)
) (ess-save-lastvalue-command . assign(".ess.lvsave",.Last.value,inherits=TRUE)
) (ess-imenu-mode-function quote ess-imenu-R) (inferior-ess-program . inferior-R-program-name) (inferior-ess-objects-command . objects(pos = %d)
) (inferior-ess-search-list-command . search()
) (inferior-ess-help-command . help("%s", htmlhelp=FALSE)
) (inferior-ess-exit-command . q()) (inferior-ess-exit-prompt . Save workspace image? [y/n/c]: ) (inferior-ess-primary-prompt . \([A-Z][][A-Za-z0-9.]*\)*> ) (inferior-ess-secondary-prompt . + ?) (comint-use-prompt-regexp-instead-of-fields . t) (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-STERM . iESS) (ess-editor . R-editor) (ess-pager . R-pager) (inferior-ess-language-start eval inferior-S-language-start)) 
(ess-mode-1.6): editing-alist=((paragraph-start concat ^$\| page-delimiter) (paragraph-separate concat ^$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-start-skip . #+ *) (comment-column . 40) (indent-line-function quote S-indent-line) (parse-sexp-ignore-comments . t) (ess-set-style . ess-default-style) (ess-local-process-name) (ess-mode-syntax-table . S-syntax-table) (add-log-current-defun-header-regexp . ^\(.+\)\s-+<-[ 	
]*function) (font-lock-defaults quote (ess-mode-font-lock-keywords nil nil ((46 . w))))) 
(ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send

Finished setting up ESS-mode.




More information about the ESS-bugs mailing list