Alex Bennée <alex.ben...@linaro.org> writes: Hi,
> I've trying to further automate my maintainer tasks by moving things > into babel snippets. I have one to find a cover letter and edit the > file: > > #+name: edit-cover-letter > #+begin_src emacs-lisp :var cover=create-qemu-pull[0] > > (find-file (expand-file-name (concat default-directory (car cover)))) > (mail-mode) > #+end_src > > However when I run the code although the file is loaded and in the right > mode I never see the buffer come up and have to switch to it manually. I > expect this is because the code is running under some sort of > safe-excursion. Is there anyway to pass a final buffer back to org-mode > after the code is run and switch to it? Actually I don't know why the switch to the other buffer does not apply with the babel execution. For a practical realization you could use a timer. #+begin_src emacs-lisp :var cover="cover.txt" (let ((buf (find-file cover))) (mail-mode) (run-at-time 1 nil #'switch-to-buffer buf)) #+end_src Ciao Marco