Rainer M Krug <rai...@krugs.de> writes: > Andreas Leha <andreas.l...@med.uni-goettingen.de> writes: > >> Hi Rainer, >> >> Rainer M Krug <rai...@krugs.de> writes: >>> Andreas Leha <andreas.l...@med.uni-goettingen.de> writes: >>> >>>> Hi Rainer, >>> >>> Hi Andreas, >>> >>>> >>>> Rainer M Krug <rai...@krugs.de> writes: >>>>> Christopher Witte <ch...@witte.net.au> 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 <rai...@krugs.de> 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 >
I am on ess-15.09-devel. >> >> 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. > Fine. Andreas