[ESS-bugs] ess-mode 12.09-2 [<unknown>]; C-x C-r to evaluate a region with a simple if-else statement hangs. C-g then C-c C-c brings back the R prompt and prints the first line of the if statement, so it seems like its hanging there. Evaluated line...

Jake Burkhead jake.burkhead at yougov.com
Tue May 28 21:34:12 CEST 2013


This problem persists in ESS 13.05 using both Emacs 23.3.1, 24.3.1. It happens for any multi-line expression. So another example is if I call a function with arguments spaced out over multiple lines ESS/R will hang on the first line of the code.
ie.

plot(1:100,
      xlab = "foo",
      ylab = "gg")

Will not evaluate and C-g will show just "plot(1:100," at the R prompt, C-c C-c will kill the command and bring back the R prompt


Jake Burkhead
Analyst
YouGov
What the world thinks

111 W. 24th Street
New York, NY 10011
T: +1-646-537-9827
jake.burkhead at yougov.com
http://www.yougov.com


________________________________________
From: Vitalie Spinu [spinuvit at gmail.com]
Sent: Wednesday, May 15, 2013 9:08 AM
To: Jake Burkhead
Cc: ess-bugs at r-project.org
Subject: Re: [ESS-bugs] ess-mode 12.09-2 [<unknown>]; C-x C-r to evaluate a region with a simple if-else statement hangs. C-g then C-c C-c brings back the R prompt and prints the first line of the if statement, so it seems like its hanging there. Evaluated line...

Nothing of this kind here. Debian ESS should be upgraded to 13.05 today
or tomorrow. Check then if you can replicate it.

    Thanks,
    Vitalie

 >> Jake Burkhead <jake.burkhead at yougov.com>
 >> on Tue, 14 May 2013 17:36:12 +0000 wrote:

 > Here is code that replicates the bug:
 > survey.name = "foo"

 > if (survey.name == "tt") {
 >   gryphonURL <- "fubar"
 > } else {
 >   gryphonURL <- "lol"
 > }

 > -------------------------------------------------------
 > This bug report will be sent to the ESS bugs email list
 > Press C-c C-c when you are ready to send your message.
 > -------------------------------------------------------

 > [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-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=comint-simple-send
 > (ess-mode-1): ess-language=S, ess-dialect=R buf=do_dining.R
 > (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist)
 > (ess-dialect . R) (ess-suffix . R) (ess-build-tags-command . rtags('%s',
 > recursive = TRUE, pattern = '\\.[RrSs](rw)?$',ofile = '%s'))
 > (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix
 > ess-dump-filename-template-proto) (ess-help-web-search-command quote ess-R-sos)
 > (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-hel\
 > p-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-smart-operators
 > . ess-R-smart-operators) (inferior-ess-program . inferior-R-program-name)
 > (inferior-ess-objects-command . inferior-R-objects-command)
 > (inferior-ess-font-lock-keywords quote inferior-R-font-lock-keywords)
 > (inferior-ess-search-list-command . search()
 > ) (inferior-ess-help-command . inferior-ess-r-help-command)
 > (inferior-ess-help-filetype) (inferior-ess-exit-command . q())
 > (inferior-ess-exit-prompt . Save workspace image? [y/n/c]: )
 > (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-error-regexp-alist
 > . ess-R-error-regexp-alist) (ess-describe-object-at-point-commands quote
 > ess-R-describe-object-at-point-commands) (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 . t) (comint-process-echoes . t)
 > (inferior-ess-primary-prompt . > ) (inferior-ess-secondary-prompt . + )
 > (comment-start . #) (ess-imenu-generic-expression
 > . ess-imenu-S-generic-expression) (comment-add . 1) (comment-start-skip . #+ *)
 > (comment-use-syntax) (comment-column . 40) (ess-no-skip-regexp concat ^ *@\|
 > (default-value (quote ess-no-skip-regexp))) (inferior-ess-prompt
 > . inferior-S-prompt) (ess-get-help-topics-function quote
 > ess-get-S-help-topics-function) (ess-getwd-command . getwd()
 > ) (ess-setwd-command . setwd('%s')
 > ) (ess-funargs-command . .ess.funargs(%s)
 > ))
 > (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) (indent-line-function quote ess-indent-line)
 > (parse-sexp-ignore-comments . t) (ess-style . ess-default-style)
 > (ess-mode-syntax-table . S-syntax-table) (add-log-current-defun-header-regexp
 > . ^\(.+\)\s-+<-[
 > ]*function) (ess-font-lock-keywords quote ess-R-font-lock-keywords)
 > ] (ess-font-lock-defaults ess--extract-default-fl-keywords
 > ] ess-R-font-lock-keywords) (font-lock-defaults quote (ess-font-lock-defaults
 > ] nil nil ((46 . w) (95 . w)))))
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=comint-simple-send

 > Finished setting up ESS-mode.

 > (R): ess-dialect=R, buf=do_dining.R, start-arg=nil
 >  current-prefix-arg=nil
 > (inferior-ess 0): ess-start-args=--no-readline
 > (inf-ess 1): lang=S, dialect=R, tmp-dialect=R, buf=do_dining.R
 > (inf-ess 1.1): procname=R temp-dialect=R, buf-name=*R*
 > (inferior-ess) Method #3 start=/home/jake.burkhead/yougov/ygdp/dining/ buf=*R*
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, 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)]
 > (ess-multi 0):  inf-ess-start-args=--no-readline  , comint-..echoes=t
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=inferior-ess-input-sender
 > (i-ess 1): buf=*R*, lang=S, comint..echo=t, comint..sender=inferior-ess-input-sender,
 > (i-ess end): buf=*R*, lang=S, comint..echo=t, comint..sender=inferior-ess-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
 >  :Args= --no-readline
 > Start File=nil
 > (ess-multi 2): waiting for process to start (before hook)
 > (ess-multi 3): waiting for process after hook(R): inferior-ess-language-start=options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient', show.error.locations=TRUE)
 > (R): version (3.0.0)
 > ess-request-a-process: {beginning}
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=comint-simple-send
 > (ess-mode-1): ess-language=S, ess-dialect=R buf=updateStack.R
 > (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist)
 > (ess-dialect . R) (ess-suffix . R) (ess-build-tags-command . rtags('%s',
 > recursive = TRUE, pattern = '\\.[RrSs](rw)?$',ofile = '%s'))
 > (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix
 > ess-dump-filename-template-proto) (ess-help-web-search-command quote ess-R-sos)
 > (ess-mode-syntax-tab\
 > le . 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-smart-operators . ess-R-smart-operators)
 > (inferior-ess-program . inferior-R-program-name) (inferior-ess-objects-command
 > . inferior-R-objects-command) (inferior-ess-font-lock-keywords quote
 > inferior-R-font-lock-keywords) (inferior-ess-search-list-command . search()
 > ) (inferior-ess-help-command . inferior-ess-r-help-command)
 > (inferior-ess-help-filetype) (inferior-ess-exit-command . q())
 > (inferior-ess-exit-prompt . Save workspace image? [y/n/c]: )
 > (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-error-regexp-alist
 > . ess-R-error-regexp-alist) (ess-describe-object-at-point-commands quote
 > ess-R-describe-object-at-point-commands) (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 . t) (comint-process-echoes . t)
 > (inferior-ess-primary-prompt . > ) (inferior-ess-secondary-prompt . + )
 > (comment-start . #) (ess-imenu-generic-expression
 > . ess-imenu-S-generic-expression) (comment-add . 1) (comment-start-skip . #+ *)
 > (comment-use-syntax) (comment-column . 40) (ess-no-skip-regexp concat ^ *@\|
 > (default-value (quote ess-no-skip-regexp))) (inferior-ess-prompt
 > . inferior-S-prompt) (ess-get-help-topics-function quote
 > ess-get-S-help-topics-function) (ess-getwd-command . getwd()
 > ) (ess-setwd-command . setwd('%s')
 > ) (ess-funargs-command . .ess.funargs(%s)
 > ))
 > (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) (indent-line-function quote ess-indent-line)
 > (parse-sexp-ignore-comments . t) (ess-style . ess-default-style)
 > (ess-mode-syntax-table . S-syntax-table) (add-log-current-defun-header-regexp
 > . ^\(.+\)\s-+<-[
 > ]*function) (ess-font-lock-keywords quote ess-R-font-lock-keywords) (ess-font-lock-defaults ess--extract-default-fl-keywords ess-R-font-lock-keywords) (font-lock-defaults quote (ess-font-loc\
 > k-defaults nil nil ((46 . w) (95 . w)))))
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=comint-simple-send

 > Finished setting up ESS-mode.
 > ess-request-a-process: {beginning}
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=comint-simple-send
 > (ess-mode-1): ess-language=S, ess-dialect=R buf=getGryphonData.R
 > (ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist)
 > (ess-dialect . R) (ess-suffix . R) (ess-build-tags-command . rtags('%s',
 > recursive = TRUE, pattern = '\\.[RrSs](rw)?$',ofile = '%s'))
 > (ess-dump-filename-template ess-replace-regexp-in-string S$ ess-suffix
 > ess-dump-filename-template-proto) (ess-help-web-search-command quote ess-R-sos)
 > (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-smart-operators . ess-R-smart-operators) (inferior-ess-program
 > . inferior-R-program-name) (inferior-ess-objects-command
 > . inferior-R-objects-command) (inferior-ess-font-lock-keywords quote
 > inferior-R-font-lock-keywords) (inferio!
 >  r-ess-search-list-command . search()
 > ) (inferior-ess-help-command . inferior-ess-r-help-command)
 > (inferior-ess-help-filetype) (inferior-ess-exit-command . q())
 > (inferior-ess-exit-prompt . Save workspace image? [y/n/c]: )
 > (inferior-ess-start-file) (inferior-ess-start-args . ) (ess-error-regexp-alist
 > . ess-R-error-regexp-alist) (ess-describe-object-at-point-commands quote
 > ess-R-describe-object-at-point-commands) (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 . t) (comint-process-echoes . t)
 > (inferior-ess-primary-prompt . > ) (inferior-ess-secondary-prompt . + )
 > (comment-start . #) (ess-imenu-generic-expression
 > . ess-imenu-S-generic-expression) (comment-add . 1) (comment-start-skip . #+ *)
 > (comment-use-syntax) (comment-column . 40) (ess-no-skip-regexp concat ^ *@\|
 > (default-value (quote ess-no-skip-regexp))) (inferior-ess-prompt
 > . inferior-S-prompt) (ess-get-help-topics-function quote
 > ess-get-S-help-topics-function) (ess-getwd-command . getwd()
 > ) (ess-setwd-command . setwd('%s')
 > ) (ess-funargs-command . .ess.funargs(%s)
 > ))
 > (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) (indent-line-function quote ess-indent-line) (parse-sexp-ignore-comments . t) (ess-style . ess-default-style) (ess-mode-syntax-table . S-syntax-table) (add-log-current-defun-header-regexp\
 >  . ^\(.+\)\s-+<-[
 > ]*function) (ess-font-lock-keywords quote ess-R-font-lock-keywords) (ess-font-lock-defaults ess--extract-default-fl-keywords ess-R-font-lock-keywords) (font-lock-defaults quote (ess-font-loc\
 > k-defaults nil nil ((46 . w) (95 . w)))))
 > (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t, comint..sender=comint-simple-send

 > Finished setting up ESS-mode.
 > ess-request-a-process: {beginning}

 > Emacs  : GNU Emacs 23.3.1 (x86_64-pc-linux-gnu)
 >  of 2012-09-21 on batsu, modified by Debian
 > Package: ess-mode 12.09-2 [<unknown>]
 > 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-use-ido t
 >  ess-use-eldoc t
 >  ess-use-tracebug nil
 >  ess-use-auto-complete t
 >  ess-eval-visibly-p t
 >  ess-can-eval-in-background nil
 >  ess-local-process-name "R"
 >  )

 > Jake Burkhead
 > Analyst
 > YouGov
 > What the world thinks

 > 111 W. 24th Street
 > New York, NY 10011
 > T: +1-646-537-9827
 > jake.burkhead at yougov.com
 > http://www.yougov.com

 > _______________________________________________
 > ESS-bugs ESS-bugs at r-project.org
 > https://stat.ethz.ch/mailman/listinfo/ess-bugs

 > _______________________________________________
 > ESS-core list: https://stat.ethz.ch/mailman/listinfo/ess-core



More information about the ESS-bugs mailing list