I have written the following code that uses the Emacs vc-* commands to generate a commit log. I would like the output of this code to be included when my file is exported.
#+begin_src emacs-lisp :var limit="" ;; Most of this code is copied from vc.el vc-print-log (when (vc-find-backend-function (vc-backend (buffer-file-name (current-buffer))) 'print-log) (let* ((limit (if (numberp limit) limit vc-log-show-limit)) (vc-fileset (vc-deduce-fileset t)) ;FIXME: Why t? --Stef (backend (car vc-fileset)) (files (cadr vc-fileset))) (with-temp-buffer (vc-call-backend backend 'print-log files (current-buffer)) (sit-for 5 t) (buffer-string)))) #+end_src What is happening is; 1) The code between #+begin_src and #+end_src is exported and not the result of evaluating the code (the commit log). 2) I have to add at delay of at least 5 seconds (set-for 5 t) as vc-git calls "git log" as an asynchronous process. If not for the delay then babel immediately returns an empty buffer and the "vc-call-backend" process never completes. How can I fix (1). Is there a better way that I can accomplish (2) ? Thanks, -Luke