;;;; save-behaviour-log.el -- save data for editing-behaviour-log.el ;;; Time-stamp: <2006-03-24 15:22:28 jcgs> (require 'save-emacs-state) (defun save-behaviour-log () "Save the behaviour log." (let ((all-buffer-logs (mapcar (lambda (file) (if file (let ((buffer (get-file-buffer file))) (if buffer (save-window-excursion (set-buffer buffer) (if editing-behaviour-log (cons file editing-behaviour-log))))))) editing-behaviour-logged-files))) (when all-buffer-logs (save-window-excursion (let* ((filename (expand-file-name "zbuffer-logs.el" emacs-save-restorers)) (already (find-buffer-visiting filename))) (find-file filename) (erase-buffer) (save-state-insert-header) (insert "(require 'editing-behaviour-log)\n(editing-behaviour-logs-restore '(") (mapcar (lambda (buffer-entry) (when buffer-entry ;; (message "buffer entry %S" buffer-entry) (insert " (\"" (car buffer-entry) "\"") (mapcar (lambda (log-entry) (insert (format " %S" log-entry))) (cdr buffer-entry)) (insert ")\n"))) all-buffer-logs) (insert "))") (basic-save-buffer) (if (not already) (kill-buffer (current-buffer)))))))) (save-behaviour-log) ;;; end of save-behaviour-log.el