Pages

2005-07-06

関連するメモのスレッド表示 (3) |ChangeLogメモ|Emacs|

、link タグを使って ChangeLog メモ のスレッド表示をする話をしてきた。今回は、リンク・タグ挿入の補助ツールについて。

初めてリンク・タグを入力するには、関数 clmemo-tag-link-insert ( C-c ( l) を使う。では、二回目以降は? clmemo-tag-link-insert を使って、記憶を頼りにタグを入力してももよいけれど、入力したタグ一覧を見ることができた方がよいよね。というわけで関数を書いた。

(defun clmemo-tag-list-link ()
  "List all the latest link tags."
  (interactive)
  (let (link list)
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward "^\t\\((link: .+)\\)" nil t)
 (setq link (match-string 1))
 (unless (member link list)
   (setq list (cons link list))))
      (setq list (nreverse list)))
    (pop-to-buffer "*tag-link*")
    (delete-region (point-min) (point-max))
    (insert "  ==clmemo-tag==\n\n")
    (insert (mapconcat (lambda (l) l) list "\n"))
    (goto-char (point-min))))

ChangeLog メモファイルの中で、 M-x clmemo-tag-list-link すると、別ウィンドウが開いてリンク・タグの一覧が表示される。目的のタグを見つけたらコピーする。

時間ができたら、リンク・タグの一覧の上で RET するだけでタグを挿入するようにしたい。

P.S. clmemo-tag-link-insert にバグがありました。[2005-07-05] にコードを修正しました。[2005-07-05] 以前のコードをコピーされた方は、もう一度コピーし直して下さい。

ref

No comments:

Post a Comment