#+Title: Periodically Rerun a Code Block Here's the lisp code to define a function to continually re-run a code block. Evaluate the following code block, then =M-x continually-run=, press ENTER and then type in the name of the code block to continually run (in this case "date"). #+begin_src emacs-lisp :results silent (defvar continual-runners nil "Holds running block timers (so they may be canceled).") (defun run-block-in-buffer (name buffer) (save-match-data (with-current-buffer buffer (save-excursion (org-babel-goto-named-src-block name) (with-local-quit (undo-boundary) (with-temp-message (format "re-running %s" name) (org-babel-execute-src-block)) (undo-boundary)))))) (defun continually-run (name) "Continually run the supplied code block name. The code block is assumed to be in the current buffer." (interactive "scode block to continually run: ") (let ((run-buffer (current-buffer))) (add-to-list 'continual-runners (run-at-time nil 5 'run-block-in-buffer name run-buffer)))) #+end_src Here's the code block to be continually re-run. #+Name: date #+begin_src sh date #+end_src And here are the results which will be continually updated. #+RESULTS: date : Wed Jan 9 22:04:08 MST 2013 Execute the following to stop all continually updating code blocks. #+begin_src emacs-lisp :results silent (mapc #'cancel-timer continual-runners) #+end_src