X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=README;h=b30c91fda3b2352cdeee21193ab6da5b12c8421d;hb=ca4a316fdb2c5188a089f3192cde4a6f162b5ba8;hp=426c77de1c77f6adaca0bf97fefa24634be15564;hpb=07621c45acbc6e8ebc4d3d41264d58362d23fdcc;p=elisp%2Flsdb.git diff --git a/README b/README index 426c77d..b30c91f 100644 --- a/README +++ b/README @@ -2,10 +2,23 @@ .* What's LSDB LSDB (The Lovely Sister Database) is a rolodex-like database program -for SEMI based MUA. It's intended to be a lightweight relacement for +for SEMI based MUA. It intends to be a lightweight replacement for BBDB (The Insidious Big Brother Database). Unfortunately, it currently doesn't support the all features of BBDB. +.* Requirements +LSDB works under following environment at least: + + - Emacs 20.7 + - XEmacs 21.4 or later + +You will also need the following libraries: + + - APEL 10.2 or later + ftp://ftp.m17n.org/pub/mule/apel/ + - FLIM 1.12 or later + ftp://ftp.m17n.org/pub/mule/flim/ + .* Installation .. (a) run in expanded place @@ -46,9 +59,17 @@ If you use Semi-gnus or its variant, put the following lines into your (autoload 'lsdb-gnus-insinuate "lsdb") (autoload 'lsdb-gnus-insinuate-message "lsdb") (add-hook 'gnus-startup-hook 'lsdb-gnus-insinuate) -(add-hook 'message-setup-hook + +;; If you are using T-gnus 6.15.7 or later, type M-x +;; customize-variable and set message-expand-name-function to +;; lsdb-complete-name, instead of adding the following lines. +;; (add-hook 'message-setup-hook +;; (lambda () +;; (define-key message-mode-map "\M-\t" 'lsdb-complete-name))) + +(add-hook 'gnus-summary-mode-hook (lambda () - (define-key message-mode-map "\M-\t" 'lsdb-complete-name))) + (define-key gnus-summary-mode-map ":" 'lsdb-toggle-buffer))) If you use Wanderlust, put the following lines into your ~/.wl: (require 'lsdb) @@ -56,13 +77,19 @@ If you use Wanderlust, put the following lines into your ~/.wl: (add-hook 'wl-draft-mode-hook (lambda () (define-key wl-draft-mode-map "\M-\t" 'lsdb-complete-name))) +(add-hook 'wl-summary-mode-hook + (lambda () + (define-key wl-summary-mode-map ":" 'lsdb-wl-toggle-buffer))) If you use Mew, put the following lines into your ~/.mew: (autoload 'lsdb-mew-insinuate "lsdb") (add-hook 'mew-init-hook 'lsdb-mew-insinuate) (add-hook 'mew-draft-mode-hook (lambda () - (define-key mew-draft-header-map "\M-\t" 'lsdb-complete-name))) + (define-key mew-draft-header-map "\M-I" 'lsdb-complete-name))) +(add-hook 'mew-summary-mode-hook + (lambda () + (define-key mew-summary-mode-map "l" 'lsdb-toggle-buffer))) If you use MU-CITE, put the following lines into your ~/.emacs: (autoload 'lsdb-mu-insinuate "lsdb") @@ -76,31 +103,36 @@ functions, set lsdb-insert-x-face-function as follows: (require 'x-face-e21) (insert-image (x-face-create-image x-face :scale-factor 0.5)))) -.* Bug reports -If you found bugs, please drop a note to the EMACS-MIME Mailing List: +.* Bug Reports +If you found bugs, please drop a note to the Lsdb-info Mailing List: + + lsdb-info@lists.sourceforge.jp - emacs-mime-en@m17n.org (English) - emacs-mime-ja@m17n.org (Japanese) +.* File Release +Latest version of LSDB can be found at: + + http://sourceforge.jp/projects/lsdb/files/ .* API The API are quite simple but not written in a way that maximizes flexibility. -.. Gathering Records -. : lsdb-update-records +.. Record Management +. : Gathering Records +. , lsdb-update-records lsdb-update-records is called from the buffer which contains raw contents of MIME entity. Once it is called, it returns a list of records which could be gathered from the buffer. -.. Display Records -. : lsdb-display-record +. : Display Records +. , lsdb-display-record lsdb-display-record takes only one record, pops up a window, and displays the formatted contents of the record within the window. If you want to multiple records such as search results at the same time, use lsdb-display-records instead. .. Internal Data Model -. : lsdb-hash-table +. : Primary Hash Table lsdb-hash-table is the variable which holds all the records in LSDB. You can operate on this variable in similar fashion to CL's hash-table: lsdb-puthash for puthash, lsdb-gethash to gethash, @@ -118,6 +150,63 @@ write the following expression to get the record for "Daiki Ueno": (attribution . "DU") (user-agent "T-gnus/6.15.6 (based on Oort Gnus v0.06) (revision 03)")) +. : Secondary Hash Tables +LSDB can also have one or more secondary hash tables. These hash +tables are mainly used to hint lsdb-hash-table to gather additional +relationship information between record name and entries. For +example, lsdb-address-cache is a kind of secondary hash table which +maintains the mapping of mail addresses to record names. + +The variable lsdb-secondary-hash-tables holds a list where each +element is corresponding to the name of global variable such as +lsdb-address-cache. When the primary hash table is loaded or saved, +the secondary hash tables will be handled automatically. + +. , Operate on Secondary Hash Tables +You will need to follow the manner of the LSDB hooks. + +. ; lsdb-lookup-full-name-functions +List of functions to pick up the existing full-name of the sender. +The sender is passed to each function as the argument. + +. ; lsdb-update-record-functions +List of functions called after a record is modified. +The modified record is passed to each function as the argument. + +.* Development +.. CVS +Development of LSDB uses CVS. So latest developing version is +available at CVS. + +. : cvs login (first time only) + + % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login + + CVS password: [CR] # NULL string + +. : checkout + + % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout lsdb + + If you would like to join CVS based development, please send mail to + + cvs@cvs.m17n.org + +with your account name and your public key for ssh. cvsroot is +:ext:cvs@cvs.m17n.org:/cvs/root. + +If you cannot use ssh, please send UNIX /etc/passwd style crypted +password. you can commit with the cvsroot +:pserver:@cvs.m17n.org:/cvs/root. + +We hope you will join the open development. + + +.* Authors +Daiki Ueno +Hideyuki SHIRAI (support for Mew) +Yuuichi Teranishi + .* Local emacs vars. The following `outline-layout' local variable setting: - closes all topics from the first topic to just before the third-to-last,