tm の customize
**************

tm の customize, および、customize を行うのに有用な関数について説明します。

fields
======

tm-view.el や tm-edit.el では message header field の表示・選択に field-list と field-regexp という対を用います。

ここではこの対を操作するための関数を紹介します。

 -- Function: tm:set-fields sym field-list &optional regexp-sym

     symbol SYM で指された field-list に FIELD-LIST を set します。

 -- Function: tm:add-fields sym field-list &optional regexp-sym

     symbol SYM で指された field-list に FIELD-LIST を追加します。

 -- Function: tm:delete-fields sym field-list &optional regexp-sym

     symbol SYM で指された field-list から FIELD-LIST を削除します。

有用な関数
=====

tm の設定に有用な関数を紹介します。

 -- Function: add-path path &rest options

     load-path に PATH を追加します。

     標準では default-load-path の直下のどこかに PATH が存在している時のみ、load-path の先頭に展開した形で追加します。

     OPTIONS に 'all-paths が存在する場合、load-path 全体から PATH を探索します。

     OPTIONS に 'append が存在する場合、load-path の末尾に追加します。

 -- Function: call-after-loaded module func &optional hook-name

     MODULE が provide されていれば FUNC をすぐに呼び、そうでなければ、MODULE が load された時に FUNC が呼ばれるように、 HOOK-NAME に add-hook します。

     HOOK-NAME が省略された場合、MODULE-load-hook が用いられます。

example
=======

tm の customize の例を示します。

preview-buffer で表示される field の変更
-------------------------------

標準設定に加え、"Mail-From", "Expires", "Xref", "Approved", "Sender", "X-.*" も表示しないようにします。

     (call-after-loaded
      'tm-view
      (lambda ()
        (tm:add-fields
         'mime-viewer/ignored-field-list
         '("Mail-From" "Expires" "Xref" "Approved" "Sender" "X-.*")
          )))

hilit19
-------

hilit19 を使った face の設定例

     (cond (window-system
            (let* ((header-patterns '(("^Subject:.*$" nil msg-subject)
     				 ("^From:.*$" nil msg-from)
     				 ("^--text follows this line--$"
     				  nil msg-separator)
     				 ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
     				 ))
     	      (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>}|]\\).*$"
     				nil msg-quote)))
     	      (message-patterns (append header-patterns body-patterns))
     	      )
     	 (hilit-set-mode-patterns 'msg-header header-patterns)
     	 (hilit-set-mode-patterns 'msg-body body-patterns)
     	 (hilit-set-mode-patterns 'mime/viewer-mode
     				  message-patterns
     				  'hilit-rehighlight-message)
     	 )
            (add-hook 'mime-viewer/content-header-filter-hook
     		 (function hilit-rehighlight-buffer-quietly))
            (add-hook 'mime-viewer/plain-text-preview-hook
     		 (function hilit-rehighlight-buffer-quietly))
            ))

browse-url
----------

Gnus 付属の browse-url.el の設定例

     (setq browse-url-browser-function
           (if (eq window-system 'x)
     	  'browse-url-netscape
     	'browse-url-w3))
     (autoload browse-url-browser-function "browse-url"
       "Ask a WWW browser to show a URL." t)