howmの新規作成をw3m-emacsで閲覧中のURLに対応させる その2
前回のhowmを「w3m-emacsで閲覧中のURL」に対応させるemacs lispですが、w3mが起動していないときにhowm-createを呼び出したときに以下のが発生するのを修正しました。
Symbol's value as variable is void: w3m-buffer-url
また、今回のelispコードを使った方がhowm の標準的な挙動にそう形になるなので、こっちがおすすめです。
こんな感じになります。
= (カーソルはここに来る) [2006-07-03 2:32] >>> (直前に閲覧していたURL)
以下を.emacs へ追加
(defsubst w3m-buffer-url (buffer) "Return the title of the buffer BUFFER." (with-current-buffer buffer (if (boundp 'w3m-current-url) w3m-current-url nil))) (add-hook 'howm-create-hook (lambda () (let ((url (w3m-buffer-url b))) (when url (progn (goto-line 2) (end-of-line) (insert ">>> " url) (goto-line 1) (end-of-line) )))))
しかし、力業ですね。。一応動きますがemacs lisp らしくないコードだと思います。
もっとスマートな方法はないものか。。
howm-mode.elは一応読んだのですが、うまくテンプレートに組み込む方法が分かりませんでした。