Thanks, Eric (and Seb and Nick). FYI, I've passed this issue to the ESS help list.
-- Mike ----- Original Message ----- > From: Eric Schulte <schulte.e...@gmail.com> > To: Michael Hannon <jm_han...@yahoo.com> > Cc: Org-Mode List <emacs-orgmode@gnu.org> > Sent: Monday, October 17, 2011 1:30 PM > Subject: Re: [O] Missing newline in R code causes Org-Mode eval to hang > > Hi Michael, > > I can confirm this problem occurs on my machine locally. I believe the > issue has something to do with how ESS sends inputs to R and waits for > command prompts from R. When the lines are pasted into an ESS buffer > one at a time the problem does not occur, however when the lines are > pasted into ESS all at once (without pressing enter between lines) the > ESS comint buffer hangs. > > One option could be to explicitly call `inferior-ess-send-input' between > every line of R code, but I'm loath to touch the comint interface as > small changes like this can sometimes have unpredictable effects. > > Perhaps this could be fixed on the ESS side? > > Best -- Eric > > Michael Hannon <jm_han...@yahoo.com> writes: > >> Greetings. The appended R code fragment executes without problem in >> an ESS buffer, but it hangs indefinitely when I try to execute it >> directly from the Org buffer via C-c C-c. >> >> The solution is to add the trailing newline in the "noteToSelf" >> variable: >> >> noteToSelf <- "Buy low.\nSell high.\n" >> >> Obviously this isn't a big deal from my perspective, but it did >> surprise me, and it does seem inconsistent. >> >> BTW, I've appended also the details of my own (linux) configuration, >> but I tried the same thing on a different OS (Mac OS 10.6.8) and got >> the same results. >> >> -- Mike >> >> ###### Org code that exhibits error >> >> #+BABEL: :session *R* :cache yes :results output verbatim :exports both > :tangle yes >> >> * This is a test >> >> #+begin_src R >> >> x <- 42 >> noteToSelf <- "Buy low.\nSell high." >> cat(noteToSelf) >> print("All done now") >> >> #+end_src >> >> >> ###### My set-up >> >> Emacs : GNU Emacs 23.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.24.4) >> of 2011-05-23 on x86-12.phx2.fedoraproject.org >> Package: Org-mode version 7.7 (release_7.7.328.g1a97) >> >> current state: >> ============== >> (setq >> org-export-latex-after-initial-vars-hook > '(org-beamer-after-initial-vars) >> org-structure-template-alist '(("r" "#+begin_src > R\n\n#+end_src" "<src > lang=\"R\">\n\n</src>") >> ("S" "#+BEGIN_SRC ?\n\n#+END_SRC" "<src > lang=\"?\">\n\n</src>") >> ("s" "#+begin_src ?\n\n#+end_src" "<src > lang=\"?\">\n\n</src>") >> ("e" "#+begin_example\n?\n#+end_example" > "<example>\n?\n</example>") >> ("q" "#+begin_quote\n?\n#+end_quote" > "<quote>\n?\n</quote>") >> ("v" "#+begin_verse\n?\n#+end_verse" > "<verse>\n?\n/verse>") >> ("c" "#+begin_center\n?\n#+end_center" > "<center>\n?\n/center>") >> ("l" "#+begin_latex\n?\n#+end_latex" > "<literal > style=\"latex\">\n?\n</literal>") >> ("L" "#+latex: " "<literal > style=\"latex\">?</literal>") >> ("h" "#+begin_html\n?\n#+end_html" > "<literal > style=\"html\">\n?\n</literal>") >> ("H" "#+html: " "<literal > style=\"html\">?</literal>") ("a" > "#+begin_ascii\n?\n#+end_ascii") >> ("A" "#+ascii: ") ("i" "#+index: ?" > "#+index: ?") >> ("I" "#+include %file ?" "<include file=%file > markup=\"?\">")) >> org-speed-command-hook '(org-speed-command-default-hook > org-babel-speed-command-hook) >> org-agenda-files '("~/Documents/scratch.org") >> org-babel-load-languages '((emacs-lisp . t) (R . t) (python . t) (sh . > t) (latex . t) (C . t) (octave \.t)) >> org-metaup-hook '(org-babel-load-in-session-maybe) >> org-after-todo-state-change-hook '(org-clock-out-if-current) >> org-babel-tangle-lang-exts '(("C++" . "cpp") > ("latex" . "tex") ("python" . "py") > ("emacs-lisp" . "el")) >> org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup) >> org-export-latex-format-toc-function > 'org-export-latex-format-toc-default >> org-tab-first-hook '(org-hide-block-toggle-maybe > org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe) >> org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) >> org-confirm-shell-link-function 'yes-or-no-p >> org-export-first-hook '(org-beamer-initialize-open-trackers) >> org-agenda-before-write-hook '(org-agenda-add-entry-text) >> org-blank-before-new-entry nil >> org-babel-pre-tangle-hook '(save-buffer) >> org-cycle-hook '(org-cycle-hide-archived-subtrees > org-cycle-hide-drawers org-cycle-show-empty-lines >> org-optimize-window-after-visibility-change) >> org-export-preprocess-before-normalizing-links-hook > '(org-remove-file-link-modifiers) >> org-mode-hook '(#[nil > "\300\301\302\303\304$\207" [org-add-hook > change-major-mode-hook org-show-block-all append local] 5] >> #[nil "\300\301\302\303\304$\207" > [org-add-hook change-major-mode-hook org-babel-show-result-all append local] > 5] >> org-babel-result-hide-spec org-babel-hide-all-hashes) >> org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point > org-babel-execute-safely-maybe) >> org-confirm-elisp-link-function 'yes-or-no-p >> org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src > org-babel-exp-inline-src-blocks)) >> org-clock-out-hook '(org-clock-remove-empty-clock-drawer) >> org-occur-hook '(org-first-headline-recenter) >> org-from-is-user-regexp "\\<Michael > Hannon\\>" >> org-export-preprocess-before-selecting-backend-code-hook > '(org-beamer-select-beamer-code) >> org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate >> org-export-latex-final-hook '(org-beamer-amend-header > org-beamer-fix-toc org-beamer-auto-fragile-frames >> org-beamer-place-default-actions-for-lists) >> org-metadown-hook '(org-babel-pop-to-session-maybe) >> org-export-blocks '((src org-babel-exp-src-block nil) (comment > org-export-blocks-format-comment t) >> (ditaa org-export-blocks-format-ditaa nil) (dot > org-export-blocks-format-dot nil)) >> ) >> > > -- > Eric Schulte > http://cs.unm.edu/~eschulte/ >