emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH] WAS Re: Bug: problem w/ R code blocks [8.3beta (release_


From: Rainer M Krug
Subject: Re: [O] [PATCH] WAS Re: Bug: problem w/ R code blocks [8.3beta (release_8.3beta-362-ga92789 <at> /usr/local/share/emacs/site-lisp/org/)]
Date: Wed, 17 Sep 2014 09:26:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin)

Rainer M Krug <address@hidden> writes:

Using it, error is gone.

Rainer

> Charles Berry <address@hidden> writes:
>
>> Charles Berry <ccberry <at> ucsd.edu> writes:
>>
>>> 
>>> Rainer M Krug <Rainer <at> 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.
>
> Thanks.
>
> Haven't tried it yet, but I can't imagine any downside of this
> patch. Could this be committed?
>
> Rainer
>
>>
>> Chuck
>> ==
>>
>> From 89472012d80ce9ad4c8722f304c0d29327efa1fc Mon Sep 17 00:00:00 2001
>> From: chasberry <address@hidden>
>> 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)

-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

Attachment: pgpGHOPHPwfRm.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]