Jekyll で tag をつかう快感を覚えたので、 Blog の各エントリーに tag をつけるようにした。 Emacs 上でのその作業を単純化するために elist で函数を作った。
(defvar tags-alist '())
(defun yaml-tags ()
(interactive "*")
(let
((tags "")
(tag (completing-read
"One tag each (to end, just retrun): "
tags-alist nil nil nil)))
(setq tags tag)
(setq tags-alist
(append (list (list tag)) tags-alist))
(while (not (string-equal tag ""))
(setq tag (completing-read
"One tag each (to end, just retrun): "
tags-alist nil nil nil))
(setq tags-alist
(append (list (list tag)) tags-alist))
(setq tags (concat tags " " tag))
)
tags
))
みればわかるように、 じつはめちゃめちゃ不細工なところ (不必要な繰り返し)がある。 あと少し考えれば繰り返しを避ける方法を 思い付きそうなのだが、 めんどいので、そのままにしている。 自分への見せしめのために晒しておく。 do ... while ... みたいな構文があればいいのだが。
あとは、このtags-alistを save/load する函数を書けば一段落かな。