[ESS-bugs] ess-mode 5.3.0; comint-prompt-regexp

A.J. Rossini blindglobe at gmail.com
Sun Dec 9 13:28:07 CET 2007


the more complex prompt handles debugging and specialized prompts used
by R.   The right solution would be to capture the context change and
switch, or to use options() to guess at the simple prompt (which would
be nearly unnoticeable to the user these days).

On Dec 6, 2007 5:21 PM, tyler <tyler at mail.mcgill.ca> wrote:
>
> Hi,
>
> I previously submitted a bug related to this, which was not resolved.
> When trying to move back to the previous prompt after long inputs,
> Emacs hangs. Following my previous post, I was told that I can C-g to
> cancel the command, which works. However, I still think there's a
> problem with C-c C-p, reproducible with:
>
> library(vegan)
> data(BCI)
> BCI
> <C-c C-p>
>
> I suspect there is something in the prompt regexp that is particularly
> inefficient. The inferior-ess-primary-prompt is currently set to
>
> "\\([A-Z][][A-Za-z0-9.]*\\)*> "
>
> and the comint-prompt-regexp becomes
> "^\\(\\([A-Z][][A-Za-z0-9.]*\\)*> \\|+ ?\\)".
>
> Playing around in regexp-builder, I found that
> "\\([A-Z][][A-Za-z0-9.]*\\)" occasionally requires quite a long time to
> process. Setting the comint-prompt-regexp with
> (setq comint-prompt-regexp "^> \\|+ ?")
>
> seems to work just as well as the default for me, and it doesn't hang
> on long output. What is "\\([A-Z][][A-Za-z0-9.]*\\)*> " supposed to
> match, and could it be rewritten to do this more efficiently?
>
> Thanks,
>
> Tyler
>
>
> Emacs  : GNU Emacs 22.1.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
>  of 2007-11-10 on security.skolelinux.no, modified by Debian
> Package: ess-mode 5.3.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/"
>  )
>
> http://www.nothingisreal.com/dfki/no-word
> [ess-site.el]: ess-customize-alist=nil
> [ess-site.el _2_]: ess-customize-alist=nil
> (S): ess-s-versions-create making M-x defuns for (R): ess-r-versions-create making M-x defuns for [ess-site.el]: ess-customize-alist=nil
> [ess-site.el _2_]: ess-customize-alist=nil
> (S): ess-s-versions-create making M-x defuns for (R): ess-r-versions-create making M-x defuns for
> (R): ess-dialect=nil, buf=*scratch*, start-arg=nil
>  current-prefix-arg=nil
> (inferior-ess 0): ess-start-args=--no-readline
> 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=/home/tyler/rworkingdirectory/ 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 = --no-readline  , inf-ess-start-args=--no-readline
> (inf-ess finish [S(R), R(nil,nil)]
> (ess-multi 0):  inf-ess-start-args=--no-readline  , 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=--no-readline  , comint-echoes=t
> (ess-multi 1):  start-args=--no-readline
> Making Process...Buf *R*, Proc R, Prog R
>  Start File=nil, Args= --no-readline  .
> (R): inferior-ess-language-start=options(STERM='iESS', editor='emacsclient')
> (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=legendre.R
> (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix ess-dump-filename-template-proto) (ess-mode-syntax-table . R-syntax-table) (ess-mode-editing-alist . R-editing-alist) (ess-change-sp-regexp . ess-R-change-sp-regexp) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . ess-help-R-sec-keys-alist) (ess-loop-timeout . ess-S-loop-timeout) (ess-cmd-delay . ess-R-cmd-delay) (ess-function-pattern . ess-R-function-pattern) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . assign(".Last.value", .ess.lvsave, envir=baseenv())
> ) (ess-save-lastvalue-command . assign(".ess.lvsave", get(".Last.value", envir=baseenv()))
> ) (ess-imenu-mode-function quote ess-imenu-R) (inferior-ess-program . inferior-R-program-name) (inferior-ess-objects-command . inferior-R-objects-command) (inferior-ess-font-lock-keywords . inferior-ess-R-font-lock-keywords) (inferior-ess-search-list-command . search()
> ) (inferior-ess-help-command . help("%s", htmlhelp=FALSE)
> ) (inferior-ess-help-filetype) (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 . + ?) (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-STERM . iESS) (ess-editor . R-editor) (ess-pager . R-pager) (ess-language . S) (inferior-ess-exit-command . q()
> ) (inferior-ess-language-start eval inferior-S-language-start) (comint-use-prompt-regexp-instead-of-fields . t))
> (ess-mode-1.6): editing-alist=((paragraph-start concat \s-*$\| page-delimiter) (paragraph-separate concat \s-*$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-add . 1) (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-R-mode-font-lock-keywords nil nil ((46 . w) (95 . w)))))
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
>
> Finished setting up ESS-mode.
> (get-object-list R) ..--> (ess-get-modtime-list)
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-object-names obj=package:vegan): no directory - trying names
> (ess-object-names obj=package:stats): no directory - trying names
> (ess-object-names obj=package:graphics): no directory - trying names
> (ess-object-names obj=package:grDevices): no directory - trying names
> (ess-object-names obj=package:utils): no directory - trying names
> (ess-object-names obj=package:datasets): no directory - trying names
> (ess-object-names obj=package:methods): no directory - trying names
> (ess-object-names obj=Autoloads): no directory - trying names
> (ess-object-names obj=package:base): no directory - trying names
> ess-get-modtime-list: new alist of length 10
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (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=Anova.III.r
> (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix ess-dump-filename-template-proto) (ess-mode-syntax-table . R-syntax-table) (ess-mode-editing-alist . R-editing-alist) (ess-change-sp-regexp . ess-R-change-sp-regexp) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . ess-help-R-sec-keys-alist) (ess-loop-timeout . ess-S-loop-timeout) (ess-cmd-delay . ess-R-cmd-delay) (ess-function-pattern . ess-R-function-pattern) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . assign(".Last.value", .ess.lvsave, envir=baseenv())
> ) (ess-save-lastvalue-command . assign(".ess.lvsave", get(".Last.value", envir=baseenv()))
> ) (ess-imenu-mode-function quote ess-imenu-R) (inferior-ess-program . inferior-R-program-name) (inferior-ess-objects-command . inferior-R-objects-command) (inferior-ess-font-lock-keywords . inferior-ess-R-font-lock-keywords) (inferior-ess-search-list-command . search()
> ) (inferior-ess-help-command . help("%s", htmlhelp=FALSE)
> ) (inferior-ess-help-filetype) (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 . + ?) (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-STERM . iESS) (ess-editor . R-editor) (ess-pager . R-pager) (ess-language . S) (inferior-ess-exit-command . q()
> ) (inferior-ess-language-start eval inferior-S-language-start) (comint-use-prompt-regexp-instead-of-fields . t))
> (ess-mode-1.6): editing-alist=((paragraph-start concat \s-*$\| page-delimiter) (paragraph-separate concat \s-*$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-add . 1) (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-R-mode-font-lock-keywords nil nil ((46 . w) (95 . w)))))
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
>
> Finished setting up ESS-mode.
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (ess-object-names obj=temp.sub): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) ..--> (ess-get-modtime-list)
> (ess-object-names obj=package:MASS): no directory - trying names
> (ess-object-names obj=package:lattice): no directory - trying names
> (ess-object-names obj=package:multcomp): no directory - trying names
> (ess-object-names obj=package:mvtnorm): no directory - trying names
> (ess-object-names obj=package:car): no directory - trying names
> ess-get-modtime-list: new alist of length 15
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-object-names obj=mmds.grad.bray): no directory - trying names
> (ess-object-names obj=grad): no directory - trying names
> (ess-object-names obj=grad): no directory - trying names
> (ess-object-names obj=grad): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (ess-object-names obj=mmds.grad.bray): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (ess-object-names obj=mmds.grad.bray): no directory - trying names
> (ess-object-names obj=grad): no directory - trying names
> (ess-object-names obj=mmds.grad.bray): no directory - trying names
> (ess-object-names obj=grad): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (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=Anova.III.r
> (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix ess-dump-filename-template-proto) (ess-mode-syntax-table . R-syntax-table) (ess-mode-editing-alist . R-editing-alist) (ess-change-sp-regexp . ess-R-change-sp-regexp) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . ess-help-R-sec-keys-alist) (ess-loop-timeout . ess-S-loop-timeout) (ess-cmd-delay . ess-R-cmd-delay) (ess-function-pattern . ess-R-function-pattern) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . assign(".Last.value", .ess.lvsave, envir=baseenv())
> ) (ess-save-lastvalue-command . assign(".ess.lvsave", get(".Last.value", envir=baseenv()))
> ) (ess-imenu-mode-function quote ess-imenu-R) (inferior-ess-program . inferior-R-program-name) (inferior-ess-objects-command . inferior-R-objects-command) (inferior-ess-font-lock-keywords . inferior-ess-R-font-lock-keywords) (inferior-ess-search-list-command . search()
> ) (inferior-ess-help-command . help("%s", htmlhelp=FALSE)
> ) (inferior-ess-help-filetype) (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 . + ?) (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-STERM . iESS) (ess-editor . R-editor) (ess-pager . R-pager) (ess-language . S) (inferior-ess-exit-command . q()
> ) (inferior-ess-language-start eval inferior-S-language-start) (comint-use-prompt-regexp-instead-of-fields . t))
> (ess-mode-1.6): editing-alist=((paragraph-start concat \s-*$\| page-delimiter) (paragraph-separate concat \s-*$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-add . 1) (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-R-mode-font-lock-keywords nil nil ((46 . w) (95 . w)))))
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
>
> Finished setting up ESS-mode.
> (ess-object-names obj=temp.sub): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (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=eric.R
> (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix ess-dump-filename-template-proto) (ess-mode-syntax-table . R-syntax-table) (ess-mode-editing-alist . R-editing-alist) (ess-change-sp-regexp . ess-R-change-sp-regexp) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . ess-help-R-sec-keys-alist) (ess-loop-timeout . ess-S-loop-timeout) (ess-cmd-delay . ess-R-cmd-delay) (ess-function-pattern . ess-R-function-pattern) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . assign(".Last.value", .ess.lvsave, envir=baseenv())
> ) (ess-save-lastvalue-command . assign(".ess.lvsave", get(".Last.value", envir=baseenv()))
> ) (ess-imenu-mode-function quote ess-imenu-R) (inferior-ess-program . inferior-R-program-name) (inferior-ess-objects-command . inferior-R-objects-command) (inferior-ess-font-lock-keywords . inferior-ess-R-font-lock-keywords) (inferior-ess-search-list-command . search()
> ) (inferior-ess-help-command . help("%s", htmlhelp=FALSE)
> ) (inferior-ess-help-filetype) (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 . + ?) (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-STERM . iESS) (ess-editor . R-editor) (ess-pager . R-pager) (ess-language . S) (inferior-ess-exit-command . q()
> ) (inferior-ess-language-start eval inferior-S-language-start) (comint-use-prompt-regexp-instead-of-fields . t))
> (ess-mode-1.6): editing-alist=((paragraph-start concat \s-*$\| page-delimiter) (paragraph-separate concat \s-*$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-add . 1) (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-R-mode-font-lock-keywords nil nil ((46 . w) (95 . w)))))
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
>
> Finished setting up ESS-mode.
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
> (ess-object-names obj=erica): no directory - trying names
> (ess-object-names obj=erica): no directory - trying names
> (ess-object-names obj=erica): no directory - trying names
> (ess-object-names obj=mta): no directory - trying names
> (ess-object-names obj=mta): no directory - trying names
> (get-object-list R) .. using existing ess-*-alist
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil, comint..sender=comint-simple-send
>
> _______________________________________________
> ESS-bugs ESS-bugs at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/ess-bugs
>
> _______________________________________________
> ESS-core list: https://stat.ethz.ch/mailman/listinfo/ess-core
>



-- 
best,
-tony

blindglobe at gmail.com
Muttenz, Switzerland.
"Commit early,commit often, and commit in a repository from which we
can easily roll-back your mistakes" (AJR, 4Jan05).

Drink Coffee:  Do stupid things faster with more energy!



More information about the ESS-bugs mailing list