Mercurial > emacs
changeset 72087:585ed6ff296a
(tumme-write-tags): Add.
(tumme-write-comments): Add.
author | Mathias Dahl <mathias.dahl@gmail.com> |
---|---|
date | Mon, 24 Jul 2006 16:10:46 +0000 |
parents | 2d3129f3f8a0 |
children | baa31554e52a |
files | lisp/tumme.el |
diffstat | 1 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/tumme.el Mon Jul 24 16:09:33 2006 +0000 +++ b/lisp/tumme.el Mon Jul 24 16:10:46 2006 +0000 @@ -2074,6 +2074,41 @@ (save-buffer) (kill-buffer buf)))) +(defun tumme-write-comments (file-comments) + "Write file comments to database. +Write file comments to one or more files. FILE-COMMENTS is an alist on +the following form: + ((FILE . COMMENT) ... )" + (let (end comment-beg file comment) + (with-temp-file tumme-db-file + (insert-file-contents tumme-db-file) + (dolist (elt file-comments) + (setq file (car elt) + comment (cdr elt)) + (goto-char (point-min)) + (if (search-forward-regexp (format "^%s.*$" file) nil t) + (progn + (setq end (point)) + (beginning-of-line) + ;; Delete old comment, if any + (when (search-forward ";comment:" end t) + (setq comment-beg (match-beginning 0)) + ;; Any tags after the comment? + (if (search-forward ";" end t) + (setq comment-end (- (point) 1)) + (setq comment-end end)) + ;; Delete comment tag and comment + (delete-region comment-beg comment-end)) + ;; Insert new comment + (beginning-of-line) + (unless (search-forward ";" end t) + (end-of-line) + (insert ";")) + (insert (format "comment:%s;" comment))) + ;; File does not exist in database - add it. + (goto-char (point-max)) + (insert (format "\n%s;comment:%s" file comment))))))) + (defun tumme-update-property (prop value) "Update text property PROP with value VALUE at point." (let ((inhibit-read-only t))