LSDB 0.1

Hideyuki SHIRAI (=?iso-2022-jp?B?GyRCR3IwZj0oOVQbKEI=?=) shirai @ rdmg.mgcs.mei.co.jp
2002年 4月 27日 (土) 16:31:24 JST


こんにちは、白井です。

# emacs-mime-ja には入っていませんので、エラーになるかもしれない
# です。(_ _)

From: Daiki Ueno <ueno @ unixuser.org> さん曰く
Subject: LSDB 0.1
Message-ID: <02c445d4-56d4-416a-b09d-775730edc807 @ deisui.org>
Date: Sat, 27 Apr 2002 04:38:29 +0900

> FLIM/SEMI と親和性の高い(?) 軽量なアドレス帳 LSDB (The Lovely Sister
> Database) をリリースします。

(へそ曲がりなので)Mew で試してみました。BBDB と比べてもサクサク
動いてすばらしいです。また、試したのは、Meadow-1.15(=Emacs-20.7)
です。

以下、バグ?及び要望です。

(1) M-x lsdb の buffer で寺西さんの Attribution を消そうと
Yuuichi Teranishi の行頭で "d" => "Attribution" をすると、
上野さんの Attribution が消えてしまいました。これは寺西さんの方
が自然ですよね。

Daiki Ueno
	Net: ueno @ unixuser.org
	Attribution: DU		<== こっちが消えた
	User-Agent: T-gnus/6.15.6 (based on Oort Gnus v0.06) (revision 03)
Yuuichi Teranishi
~	Net: teranisi @ gohome.org
	Attribution: 寺		<== こっちを消したい
	Creation-Date: 2002-04-27

以下のパッチのようにすれば動きました。

--- lsdb.el.orig	Fri Apr 26 23:34:16 2002
+++ lsdb.el	Sat Apr 27 16:01:48 2002
@@ -578,10 +578,11 @@
 	 '(lsdb-font-lock-keywords t))))
 
 (defun lsdb-narrow-to-record ()
-  (narrow-to-region
-   (previous-single-property-change (point) 'lsdb-record nil (point-min))
-   (next-single-property-change (point) 'lsdb-record nil (point-max)))
-  (goto-char (point-min)))
+  (let ((end (next-single-property-change (point) 'lsdb-record nil (point-max))))
+    (narrow-to-region
+     (previous-single-property-change end 'lsdb-record nil (point-min))
+     end)
+    (goto-char (point-min))))
 
 (defun lsdb-current-record ()
   (let ((record (get-text-property (point) 'lsdb-record)))


(2) lsdb-mode-save() のときに y-or-n の質問を抑制できるとうれし
    いです。今は、hook から呼ぶときに
    (call-interactively 'lsdb-mode-save) していますが、引数 or
    変数の方がうれしいです。


(3) 可能で、かつ、そんなに時間がかからなければで良いのですが、
    M-x lsdb で表示される buffer を header で sort してくれると
    とうれしいです。

-- 
白井秀行 (mailto:shirai @ rdmg.mgcs.mei.co.jp)

こちらの ML の方々には興味ないと思われますが、Mew で必要だった最
小限の設定↓

(add-hook 'mew-init-hook 'lsdb-mew-insinuate)

(defun lsdb-mew-insinuate ()
  "Call this function to hook LSDB into Mew."
  (require 'lsdb)
  (add-hook 'mew-message-hook 'lsdb-mew-update-record)
  (add-hook 'mew-summary-toggle-disp-msg-hook
	    (lambda ()
	      (unless (mew-sinfo-get-disp-msg)
		(lsdb-wl-hide-buffer))))
  (add-hook 'mew-suspend-hook 'lsdb-wl-hide-buffer)
  (add-hook 'mew-quit-hook 'lsdb-mode-save)
  (add-hook 'kill-emacs-hook 'lsdb-mode-save))

(setq lsdb-decode-field-body-function
      (lambda (body name)
	(set-text-properties 0 (length body) nil body)
	body))

(defun lsdb-mew-update-record ()
  (let* ((fld (mew-current-get-fld (mew-frame-id)))
	 (msg (mew-current-get-msg (mew-frame-id)))
	 (cache (mew-cache-hit fld msg 'must-hit))
	 records)
    (save-excursion
      (set-buffer cache)
      (when (setq records (lsdb-update-records))
	(lsdb-display-record (car records))))))

(add-hook 'mew-draft-mode-hook
	  (lambda ()
	    (define-key mew-draft-header-map "\M-I" 'lsdb-complete-name)))

# 動くのは Mew-2.x 以降かしら?





More information about the Emacs-mime-ja mailing list