records have multi addresses

Hiroya Murata lapis****@pop06*****
2002年 10月 2日 (水) 20:34:11 JST


In the message <20021****@pine*****>
   on Wed, 02 Oct 2002 19:12:21 +0900,  wrote:

土> でもって,この2つは同一人物だからと,手作業で Foo さんのレコードの net 
土> エントリに foo @ bar を追加して,「foo @ bar」レコードを削除します.

ここで, LSDB のバッファで s(lsdb-mode-save), l(lsdb-mode-load) の
順で操作して lsdb-address-cache をリビルドすれば, マージ後のレコー
ドが表示されませんか?

土> その後で,もう一度

土>     From: foo @ bar

土> というメールを見ると,foo @ bar という名前のレコードが復活してしまうので
土> す.

順に lsdb-address-cache を見てみると,

1. 最初
 {foo @ foo => Foo}

2. From: foo @ bar を表示
 {foo @ foo => Foo, foo @ bar => foo @ bar}

3. Foo に foo @ bar を追加
 {foo @ foo => Foo, foo @ bar => Foo}

4. foo @ bar を削除
 {foo @ foo => Foo}

と, なっていて foo @ bar から Foo へのマッピングが削除されているの
が原因じゃないでしょうか?

patch でなくて済みませんが, こんな感じじゃないかと.

(defun lsdb-delete-address-cache (record)
  (let ((net (cdr (assq 'net record))))
    (while net
      (when (string= (car record)
		     (lsdb-gethash (car net) lsdb-address-cache))
	(lsdb-remhash (car net) lsdb-address-cache))
      (setq net (cdr net)))))

;; テストはしてません.

-- 
Hiroya Murata (村田 浩也) mailto:lapis****@pop06*****
PGP fingerprint: 53B6 1B4A 8193 A2D4 1526  BC9E 9AEF 2F6D 249D 5F17




Lsdb-info メーリングリストの案内
Back to archive index