From mboxrd@z Thu Jan 1 00:00:00 1970 From: Charles Berry Subject: [PATCH] WAS Re: Bug: problem w/ R code blocks [8.3beta (release_8.3beta-362-ga92789 /usr/local/share/emacs/site-lisp/org/)] Date: Wed, 17 Sep 2014 03:25:57 +0000 (UTC) Message-ID: References: <87bnqgzljd.fsf@kademan.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49483) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XU5sp-0005Z2-H5 for emacs-orgmode@gnu.org; Tue, 16 Sep 2014 23:26:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XU5sj-0004mv-Fp for emacs-orgmode@gnu.org; Tue, 16 Sep 2014 23:26:19 -0400 Received: from plane.gmane.org ([80.91.229.3]:48572) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XU5sj-0004mY-90 for emacs-orgmode@gnu.org; Tue, 16 Sep 2014 23:26:13 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XU5sd-0006yK-OH for emacs-orgmode@gnu.org; Wed, 17 Sep 2014 05:26:08 +0200 Received: from 172-7-166-26.lightspeed.sndgca.sbcglobal.net ([172.7.166.26]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 17 Sep 2014 05:26:07 +0200 Received: from ccberry by 172-7-166-26.lightspeed.sndgca.sbcglobal.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 17 Sep 2014 05:26:07 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Charles Berry ucsd.edu> writes: > > Rainer M Krug krugs.de> writes: > > > > > Thanks - you came before me. I get the same error but managed to work > > around. > > > > This is likely caused by the upgrade of ess, > > Likely. > > But it may not be an ESS problem per se. > > M-x R starts a process that runs asynchronously. In interactive use there > is no issue (barring something in .First() that slows the startup for > a very long time). > > But, ... > > If the (rename-buffer ...) in org-babel-R-initiate-session > runs before all the setup that ESS performs in the process buffer is > complete, chaos can result. > > Not sure what the best way is to fix this. > OK. Looks like (ess-wait-for-process) fixes this. Here is a patch. Chuck == >From 89472012d80ce9ad4c8722f304c0d29327efa1fc Mon Sep 17 00:00:00 2001 From: chasberry Date: Tue, 16 Sep 2014 19:57:59 -0700 Subject: [PATCH] lisp/ob-R.el: use `ess-wait-for-process' to assure clean session startup * lisp/ob-R.el (org-babel-R-initiate-session): Make sure that (R) has finished before `rename-buffer' is run. TINYCHANGE --- lisp/ob-R.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/ob-R.el b/lisp/ob-R.el index 41b943c..7575acf 100644 --- a/lisp/ob-R.el +++ b/lisp/ob-R.el @@ -35,6 +35,8 @@ (declare-function inferior-ess-send-input "ext:ess-inf" ()) (declare-function ess-make-buffer-current "ext:ess-inf" ()) (declare-function ess-eval-buffer "ext:ess-inf" (vis)) +(declare-function ess-wait-for-process "ext:ess-inf" + (&optional proc sec-prompt wait force-redisplay)) (declare-function org-number-sequence "org-compat" (from &optional to inc)) (declare-function org-remove-if-not "org" (predicate seq)) (declare-function org-every "org" (pred seq)) @@ -262,6 +264,7 @@ This function is called by `org-babel-execute-src-block'." ;; Session buffer exists, but with dead process (set-buffer session)) (require 'ess) (R) + (ess-wait-for-process) (rename-buffer (if (bufferp session) (buffer-name session) -- 1.8.5.2 (Apple Git-48)