保存块执行历史记录

时间:2012-10-15 23:39:06

标签: emacs org-mode org-babel

有没有办法保存Babel代码块的执行历史? 基本上我想记录块,时间戳和文件名。

也许如果不存在,有人知道我可以破解的类似功能吗? 基本上我需要一种方法来获取当前选择,时间戳和文件名,以及将其附加到文本文件的方法。

1 个答案:

答案 0 :(得分:2)

你可以做什么:

  • 建议一个函数org-babel-execute-src-block
  • 将结果放入缓冲区,“我的示例”中的“babel-log”

您还可以将结果写入日志文件。

(require 'time-stamp)

(defadvice org-babel-execute-src-block (after log-org-babel-execute-src-block activate)
  (org-narrow-to-block)
  (let ((file (buffer-file-name)) (src-block (buffer-substring-no-properties (point-min) (point-max))))
    (with-current-buffer "babel-log"
      (insert (concat "file:" file " time:" (time-stamp-string) " block\n" src-block "\n\n")))
    )
  (widen)
  )