+You can operate on this variable in similar fashion to CL's
+hash-table: lsdb-puthash for puthash, lsdb-gethash to gethash,
+lsdh-maphash to maphash are available to you. For example, you can
+write the following expression to get the record for "Daiki Ueno":
+
+ (lsdb-gethash "Daiki Ueno" lsdb-hash-table)
+
+ =>
+
+ ((last-modified . "2002-04-23")
+ (creation-date . "2002-04-26")
+ (net "ueno@unixuser.org")
+ (mailing-list "emacs-mime-ja")
+ (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