From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: restarting an org-babel session? Date: Thu, 19 Mar 2015 19:03:41 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46847) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYjTj-0006R0-92 for emacs-orgmode@gnu.org; Thu, 19 Mar 2015 19:03:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYjTf-0001IM-Tj for emacs-orgmode@gnu.org; Thu, 19 Mar 2015 19:03:51 -0400 Received: from smtp.andrew.cmu.edu ([128.2.157.37]:59116) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYjTf-0001I6-On for emacs-orgmode@gnu.org; Thu, 19 Mar 2015 19:03:47 -0400 In-reply-to: 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: Andreas Leha Cc: emacs-orgmode@gnu.org Here is my solution so far: http://kitchingroup.cheme.cmu.edu/blog/2015/03/19/Restarting-org-babel-sessions-in-org-mode-more-effectively/ It is a few functions that can go through the code blocks and selectively rerun only the blocks that are in the session of the block you run the restart command from. It is not tested too heavily, just enough for this proof of concept. j Andreas Leha writes: > Hi John, > > tsd@tsdye.com (Thomas S. Dye) writes: >> Aloha all, >> >> John Kitchin writes: >> >>> That is an interesting one I did not know of. I would not want to always >>> run every block, some of them might not be part of a session, and it is >>> possible to have multiple named sessions in a buffer. It might be good >>> practice to not do that though ;) >> >> If org-babel-execute-buffer is too much, there is >> org-babel-execute-subtree: >> >> ,--------------------------------------------------------------------- >> | org-babel-execute-subtree is an interactive autoloaded compiled Lisp >> | function in `ob-core.el'. >> | >> | It is bound to C-c C-v s, C-c C-v C-s. >> | >> | (org-babel-execute-subtree &optional ARG) >> | >> | Execute source code blocks in a subtree. >> | Call `org-babel-execute-src-block' on every source block in >> | the current subtree. >> `--------------------------------------------------------------------- >> >> For finer control, this might work: >> >> ,---------------------------------- >> | #+name: recreate-my-named-session >> | #+header: :session my-named-session >> | #+begin_src lang >> | <> >> | <> >> | #+end_src >> `---------------------------------- >> > > That's what I am doing. But that is manual book-keeping. It means > ultimate control but also the book-keeping to be accurate. But I agree > with John, that org could be smart enough to execute the blocks of one > session. > >> hth, >> Tom >> >>> >>> I will share my way of doing this if nothing else comes up. > > Please do. I would be interested in such a function, as well. > > Thanks, > Andreas > > >>> >>> Thomas S. Dye writes: >>> >>>> Ken Mankoff writes: >>>> >>>>> On 2015-03-19 at 10:26, John Kitchin wrote: >>>>>> Is it possible to restart an org-babel session from the current point? >>>>>> What I mean is if you have a largish org-file with many session blocks, >>>>>> and you want to go the end and continue it, you need to run each session >>>>>> block before the end to recreate the "session". >>>>> >>>>> I am surprised there is no easy way to have an Org file run every code >>>>> block in order either on command or on export. It seems like this >>>>> would be a key component of reproducible research and literate >>>>> documents. >>>>> >>>>> Maybe there is a way, but it isn't mentioned in the "Evaluating code >>>>> blocks" section of the manual. >>>>> >>>>> -k. >>>> >>>> Would org-babel-execute-buffer work? >>>> >>>> ,-------------------------------------------------------------------- >>>> | org-babel-execute-buffer is an interactive autoloaded compiled Lisp >>>> | function in `ob-core.el'. >>>> | >>>> | (org-babel-execute-buffer &optional ARG) >>>> | >>>> | Execute source code blocks in a buffer. >>>> | Call `org-babel-execute-src-block' on every source block in >>>> | the current buffer. >>>> `-------------------------------------------------------------------- >>>> >>>> hth, >>>> Tom >>> >>> -- >>> Professor John Kitchin >>> Doherty Hall A207F >>> Department of Chemical Engineering >>> Carnegie Mellon University >>> Pittsburgh, PA 15213 >>> 412-268-7803 >>> @johnkitchin >>> http://kitchingroup.cheme.cmu.edu -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu