Andreas Leha writes: > Hi Rainer, > > Rainer M Krug writes: >> Andreas Leha writes: >> >>> Hi Rainer, >> >> Hi Andreas, >> >>> >>> Rainer M Krug writes: >>>> Christopher Witte 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 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: Rainer@krugs.de Skype: RMkrug PGP: 0x0F52F982