Wanderlust の覚え書き

この page では Wanderlust に関する情報を掲載しています。

お品書き

覚え書き

日本語ファイル名 (MIME/ISO-2022-JP) のファイルを扱いたい

FLIM の代わりに LIMIT (最新開発版) を使いましょう。

LIMIT を導入すると、以下のおまけも付いてきます。 :-)

LIMIT を導入せずに " " で囲まれた MIME ヘッダを読みたい

以下を ~/.wl に書き加えましょう。

(setq mime-header-lexical-analyzer
      '(;;eword-analyze-quoted-string
        eword-analyze-domain-literal
        eword-analyze-comment
        eword-analyze-spaces
        eword-analyze-special
        eword-analyze-encoded-word
        eword-analyze-atom))

古い FLIM なら以下。

(setq eword-lexical-analyzer
      '(;;eword-analyze-quoted-string
        eword-analyze-domain-literal
        eword-analyze-comment
        eword-analyze-spaces
        eword-analyze-special
        eword-analyze-encoded-word
        eword-analyze-atom))

User-Agent に書かれるコードネームを日本語化したい

rail を導入すれば、 FLIMSEMI 等のコードネームが日本語化されます。

(require 'rail nil t)

3 pane な画面で使いたい

以下を ~/.wl に書き加えましょう。

(setq wl-stay-folder-window t)

Folder の残り幅も指定できます。

(setq wl-stay-folder-window t
      wl-folder-window-width 30)

所謂半角カタカナを送信しないようにしたい

以下を ~/.wl に書き加えておくと、送信時に JIS X 0201 なカタカナを JIS X 0208 なカタカナに変換してくれます。

(add-hook 'wl-draft-send-hook
          #'(lambda ()
              (japanese-zenkaku-region (point-min) (point-max) t)))

From 等の補完で大文字小文字の区別をしない

以下を ~/.emacs に書き加えると良いです。

(setq completion-ignore-case t)

一部の Emacsen では初めから t になっていると思います。

天気予報を header に付加する

weather.el を使うと良いかもしれません。

(autoload 'weather-from-http "weather" "Weather" t)
(autoload 'weather-insert-header "weather" "Weather" t)
(setq weather-replace nil)

以上を ~/.emacs に、以下を ~/.wl に書き加える方法があります。

(add-hook 'wl-mail-setup-hook
          #'(lambda ()
              (weather-insert-header "大阪府")))

同様な tool に、 fortune.elpollen.el があります。

Citation Header をカスタマイズしたい

xcite.el を使いましょう。

(autoload 'xcite "xcite" "Exciting cite" t)
(autoload 'xcite-yank-cur-msg "xcite" "Exciting cite" t)
(autoload 'xcite-indent-citation "xcite")
(setq wl-draft-cite-function 'xcite-indent-citation)

僕は以下のように設定しています。

(setq xcite:insert-header-function 'ys:xcite:insert-header-function)
(defun ys:xcite:insert-header-function ()
  (format ">>>>> In %s %s\n>>>>>\t%s%s wrote:\n"
          (if ng "article" "message")
          msgid
          (if (string< "" tag) (concat "\"" tag "\" = ") "")
          (or handle id)))

メニューを日本語化したい

Wanderlust メーリングリストに投稿された wl-menu-ja.el を利用しましょう。

(load "wl-menu-ja" t t)

Netnews で reply する時に To: を空にしたい

wl-draft-reply-without-argument-list に適当な内容を追加・設定しましょう。

(setq wl-draft-reply-without-argument-list
      (append '(("Followup-To" . (nil nil ("Followup-To")))
                ("Newsgroups" . (nil nil ("Newsgroups"))))
              wl-draft-reply-without-argument-list))

例えば上の内容を ~/.wl に書くなど。

Gnus 風の k を使いたい

以下を ~/.wl に書いておくと良いです。 これには“C-u k で thread 全体を既読にしてから次の未読へ進む”というオマケも付いています。

(defun ys:wl-summary-kill-thread (&optional arg)
  "Mark articles which has the same subject as read, and then select the next."
  (interactive "P")
  (wl-thread-mark-as-read arg)
  (wl-summary-down t))
(add-hook 'wl-summary-mode-hook
          #'(lambda ()
              (local-set-key "k" 'ys:wl-summary-kill-thread)))

Daredevil SKK の version をヘッダに入れたい

以下を ~/.wl に書いておくと良いです。

(add-to-list 'wl-draft-config-alist
             `(t ("X-Input-Method" . ,(skk-version))))

また、コードネームを日本語化したいのなら、 skk-version-ja.el を導入すると良いです。

(require 'skk-version-ja nil t)

こちらは ~/.emacs に書いておく方が無難でしょう。

返信時、引用符“誰々様> ”から“様”を取り除きたい

以下を ~/.wl に書いておくと良いです。

(add-hook 'wl-mail-setup-hook
          #'(lambda ()
              (save-excursion
                (goto-char (point-min))
                (replace-regexp "^誰々\\(さん\\|サン\\|氏\\|様\\)>[ \t]*" "誰々> "))))

もちろん、“誰々”の部分は自分の名前に書き直しましょう。

返信時、メーリングリストのシリアルナンバーを削除

以下を ~/.wl に書いておくと良いです。

(defadvice wl-draft-strip-subject-re (before ys:wl-remove-ml-serial (subject))
  (if (string-match "^\\(([^) ]+[: ][0-9]+)\\|\\[[^] ]+[: ][0-9]+\\]\\) " subject)
      (setq subject (replace-match "" nil t subject))))
(ad-activate 'wl-draft-strip-subject-re)

subject で tab や複数の space を無視

以下を ~/.wl に書いておくと良いです。

(defadvice std11-unfold-string (after simply activate)
  (setq ad-return-value
        (elmo-replace-in-string ad-return-value "[ \t]+" " ")))

draft で消した User-Agent が送信時に付加されるのを防ぎたい

以下を ~/.wl に書いておくと良いです。

(add-hook 'wl-draft-send-hook
          #'(lambda ()
              (make-local-variable 'mime-edit-insert-user-agent-field)
              (setq mime-edit-insert-user-agent-field nil)))

User-Agent に書かれるコードネームを消したい

以下を ~/.wl に書いておくと良いです。

(defadvice wl-generate-user-agent-string (after ys:wl-ua-remove-comments activate)
  (let ((case-fold-search nil))
    (while (string-match " ([^bp()][^()]*)" ad-return-value)
      (setq ad-return-value (replace-match "" nil t ad-return-value)))))

…… wl-generate-user-agent-string を再定義した方が良いかもしれません。

機種依存文字と呼ばれるものも表示したい

japanese-jisx0212 や japanese-jisx0213-X が扱える環境の場合、 izonmoji-mode.el をインストールして、 以下を ~/.emacs に書いておくとそれなりに対応出来ます。

(when (locate-library "izonmoji-mode")
  (autoload 'izonmoji-mode "izonmoji-mode" nil t)
  (autoload 'izonmoji-mode-on "izonmoji-mode" nil t)
  (add-hook 'w3m-mode-hook 'izonmoji-mode-on)
  (add-hook 'wl-message-redisplay-hook 'izonmoji-mode-on))
"INDEX" に戻る