emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] How to end a :session?


From: Rainer M Krug
Subject: Re: [O] How to end a :session?
Date: Thu, 28 May 2015 14:00:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin)

Andreas Leha <address@hidden> writes:

> Hi Rainer,
>
> Rainer M Krug <address@hidden> writes:
>> Andreas Leha <address@hidden> writes:
>>
>>> Hi Rainer,
>>
>> Hi Andreas,
>>
>>>
>>> Rainer M Krug <address@hidden> writes:
>>>> Christopher Witte <address@hidden> writes:
>>>>
>>>>> perhaps what you want is a named session, see
>>>>> http://orgmode.org/manual/session.html
>>>>
>>>> Sure - that's what I have.
>>>>
>>>> But how can I close the named session when I don't need it anymore, or
>>>> want to start, the next time I use the named session, with a new
>>>> session?
>>>>
>>>>
>>>>>
>>>>> On 28 May 2015 at 10:44, Rainer M Krug <address@hidden> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> I can start a session as follow:
>>>>>>
>>>>>> --8<---------------cut here---------------start------------->8---
>>>>>> #+begin_src R :session Test
>>>>>> cat("Session Test\n")
>>>>>> #+end_src
>>>>>> --8<---------------cut here---------------end--------------->8---
>>>>>>
>>>>>> Now I hava an R session named *Test*. But how can I closes this session?
>>>>>> I thought about just quitting R
>>>>>>
>>>>>> --8<---------------cut here---------------start------------->8---
>>>>>> #+begin_src R :session Test
>>>>>> q(save = "no)
>>>>>> #+end_src
>>>>>> --8<---------------cut here---------------end--------------->8---
>>>>>>
>>>>>> but this does not return as ESS is waiting for the prompt (">").
>>>>>>
>>>>>> Is there a way of closing the session *Test* and close the buffer?
>>>>>>
>>>>>> My reasoning is that I want to do different longer analysis in one org
>>>>>> file and start each in its own session, i.e. clean R. But as they
>>>>>> involve several steps, I don't want to put them into one code block.
>>>>>>
>>>>>> So I have several code blocks which I want to execute in a "throw away
>>>>>> session" which I would like to discard afterwards.
>>>>>>
>>>>>> So I am looking for something like
>>>>>>
>>>>>> #+CLOSE_SESSION Test
>>>>>>
>>>>>> which would then close the session *Test*
>>>>>>
>>>>>> Is something like this possible at the moment?
>>>>>>
>>>
>>> How about
>>>
>>> #+name: killRsession
>>> #+begin_src emacs-lisp :var rsession="*myR*" :results none
>>> (progn
>>>   (switch-to-buffer rsession)
>>>   (ess-quit)
>>>   (sleep-for 1)
>>>   (kill-buffer))
>>> #+end_src
>>>
>>>
>>> #+call: killRsession("*myR*") :results none
>>
>> Thanks - this works. But I get an error which says:
>>
>> ,----
>> | save-excursion: Wrong type argument: integer-or-marker-p, nil
>> `----
>>
>> Any suggestion on how to avoid this?
>>
>
> I do not see that error, so hard to say.  Do you have a backtrace?  Wild
> guess: Maybe the ess-quit changed?  What version of ess are you using?

ess-15.03

>
> Note, that this could be improved by replacing the (sleep-for 1) with
> something that actually waits until R has quit...

I can live with the error for now, but I might look into it some time
later.

Thanks a lot,

Rainer

>
> - Andreas
>
>

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      address@hidden

Skype:      RMkrug

PGP: 0x0F52F982

Attachment: signature.asc
Description: PGP signature


reply via email to

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