Hi Nathan, On 2021-02-20 at 11:10 -08, Nathan Neff <nathan.n...@gmail.com> wrote... > I have some code like this: > > * Heading 1 > > # code block name:FOO > > ** Subheading 1 > > # code block > > ** Subheading 2 > > # code block > > I find that I often want to evaluate the code in Heading 1 and its > subheadings. > > Currently, I navigate to Heading 1 and then use org-babel-execute-subtree > > I see that there's a function called org-babel-goto-named-src-block, > so I think I could write a small function to jump to FOO in Heading 1 > and then run execute subtree and then jump back to my previous > location in Emacs. > > Is there a more programmatic or built-in way? For example: > org-babel-execute-block-and-subheadings FOO
What about, (defun my/eval-parent-subtree() (save-excursion (outline-up-heading 1) (org-babel-execute-subtree))) And then binding that to some key or something? Or (outline-up-heading 99) if you always want to go to "*". Or make that line a bit more dynamically controllable by use of 'prefix-arg' ? -k.