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 する函数を書けば一段落かな。