[Mew-dist 269] Re: BBDB for mew-cite

Shuhei KOBAYASHI shuhei-k at example.com
1996年 12月 12日 (木) 17:10:02 JST


  こばやし@JAIST です。

  神田さんの patch は自分でいろいろといじって、bbdb-mew.el に merge
して試用しています。今は

  (require 'bbdb-mew)
  (setq mew-cite-prefix-function (function mew-cite-prefix-bbdb))

だけで使えるようになっています。

From: Kanda
Subject: [Mew-dist 268] Re: BBDB for mew-cite
Date: Thu, 12 Dec 1996 13:33:12 +0900
Message-ID: <199612120433.NAA13023 at example.com>
>   すいません、bbdb-sc.el とか mu-bbdb.el ってなんですか?

  bbdb-sc.el は Supercite と組み合わせて prefix を登録するためのもので、
http://www.forwiss.uni-erlangen.de/~jws/bbdb/ に置いてあります。
  mu-bbdb.el は tm 付属の mu-cite.el と組み合わせて prefix を登録する
ための module です。

> > BBDB の version はいくつですか?  私が使っているのは最新の 1.51 です。
>   僕も 1.51です。
>   パッチ当たりませんでしたか?

  始めのうち、BBDB にわざわざ patch を当ててこのような関数を定義する必要
があるのかな、ひょっとして version が違うのかも、と思っていました(^^;;;
使ってみるとこの 2 つは便利ですね。(ちょっと手を加えましたけど)

(defun bbdb-record-field (record field)
  (cond
   ((eq field 'firstname) (bbdb-record-firstname record))
   ((eq field 'lastname)  (bbdb-record-lastname record))
   ((eq field 'aka)       (bbdb-record-aka record))
   ((eq field 'company)   (bbdb-record-company record))
   ((eq field 'phones)    (bbdb-record-phones record))
   ((eq field 'addresses) (bbdb-record-addresses record))
   ((eq field 'net)       (bbdb-record-net record))
   ((eq field 'raw-notes) (bbdb-record-raw-notes record))
   ((eq field 'cache)     (bbdb-record-cache record))
   (t
    (and (consp (bbdb-record-raw-notes record))
         (cdr (assq field (bbdb-record-raw-notes record)))
         ))))

(defun bbdb-record-fields (record fields)
  (let (value)
    (while (and fields (null value))
      (setq value (bbdb-record-field record (car fields)))
      (setq fields (cdr fields)))
    value))


>   パッチ見るとわかりますが、mew-cite-strings とか mew-header-get-value
> とかをかきかえています。
...
>   このぶぶんを、うえの mew-cite-prefix のようにそとのへんこうですむ
> ようにはできないでしょうか?  やっぱりほんたいのかきかえってあまり
> やりたくないです。

  あまり綺麗ではないですが、このような手がよく使われます。

(or (fboundp 'bbdb:mew-cite-strings)
    (fset 'bbdb:mew-cite-strings (symbol-function 'mew-cite-strings)))
(defun mew-cite-strings ()
  (if mew-use-bbdb
      (apply (function format)
             mew-cite-format
             (mapcar
              (function
               (lambda (x)
                 (or (if (string= x "From:")
                         (mew-header-get-bbdb-name)
                       (mew-header-get-value x))
                     "")))
              mew-cite-fields))
    (bbdb:mew-cite-strings)))

-- 
小林 修平 / Shuhei KOBAYASHI / <shuhei-k at example.com>
http://www.jaist.ac.jp/~shuhei-k/bbdb-mew.el



Mew-dist メーリングリストの案内