2005-07-02

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

に「今日の戯事」さんのページで鋭いツッコミが入った。

でも #1 は,いらないような気が・・・
ここで言う #1 は、リンク・タグの番号のこと。復習すると、リンク・タグの書式はこう。
(link: [2005-07-01] foo #1)

この番号、実は、なくてもいい。 ChangeLog メモは時系列順に並んでるから、番号がなくても物事の順序は明確。だから要らない。そして、途中で このメモはこのスレッドに含めといた方がいいかなとメモを挿入すると番号をずらさなきゃいけなくなる。バグの温床だね。

一つ言い訳させてもらうと、このリンク・タグを考えた時、スレッドの分岐を考えてた。メールのやり取りでも、スレッドが二つ三つに分かれることがあるから、そういう時にどうするか。そこで思いついたのが、 RCS のサブバージョン番号の方法。

1
↓
2
↓
3
↓     ⇓
4.1.1 4.2.1
↓     ↓
4.1.2 4.2.2
↓     ↓
4.1.3 4.2.3

こんな感じに、スレッドが分岐したら、小さな番号を付けて管理すればいいと思った。

リンク・タグを個人的に一年間使っての感想: 実際、スレッドの分岐なんてほとんど起こらない。起きたら、そのスレッドが分かれた時に新しいリンク・タグを用意した方がスッキリしてて分かり易い。

そんなわけで、今はリンク・タグの番号に必要性は感じてない。

こんな時に番号があると楽になるのでは? とか、番号はない方がイイ、とか御意見・コメント下さい。とりあえず、番号なしリンク・タグ用の elisp です。

;
; link
;
(defun clmemo-tag-link-grep ()
  (interactive)
  (let (query beg end)
    (setq beg (progn (beginning-of-line) (skip-chars-forward " \t") (point))
   end (search-forward ")" nil t)
   query (regexp-quote (buffer-substring-no-properties beg end)))
    (if (fboundp 'clgrep-item)
 (funcall #'clgrep-item query)
      (occur query))))

(defun clmemo-tag-link-insert ()
  (interactive)
  (concat "["
    (save-excursion
      (clmemo-backward-entry)
      (buffer-substring-no-properties
        (point) (progn (skip-chars-forward "-0-9") (point)))) "] "))

(setq clmemo-tag-list
      '("link" clmemo-tag-link-grep clmemo-tag-link-insert))

[2005-07-05]: Fixed bag.

No comments:

Post a Comment