I just submitted a new set of changes for BBDB.
First of all, the most noteworthy change is that BBDB has been
transfered from CVS to git. So for anonymous checkout, you should
now use
git clone git://git.savannah.nongnu.org/bbdb.git
I am most grateful to Ted Zlatanov and Barak Pearlmutter who
actually did all the work for this. The new git repository contains
not only the new bbdb, but as a separate branch it even contains the
full history of BBDB.
The CVS repository on savannah will not be updated anymore. If
hopefully git works for everyone as expected, the CVS repository
will be removed soon.
What are the changes in the latest code?
- I added support for anniversaries. My original idea was to do
something very sophisticated based on note handlers. But this
turned out to be too complicated to make it a robust scheme
(Sorry guys, if anybody was looking forward to this. Let me know
if you believe it would really be a great improvement for BBDB
that was worth the pain of implementing it...)
So now you just define note fields such as `birthday'. If the
value of this field is 24 Dec 2000, this will be marked in the
emacs diary. See the new file bbdb-anniv.el for details.
- I made bbdb-transpose-fields more robust. Now this should also
work for any subfields that can be transposed, including even
first and last names (if somehow these are in wrong order).
- On a more technical side, I separated formatting functions from
display functions more consistently. (This was a byproduct of my
attempts to define the note handlers.)
- Finally, I fixed various bugs and improved the documentation.
2011-04-02 Roland Winkler wink...@gnu.org
* lisp/bbdb.el (bbdb-utilities-anniv): New customization group.
(bbdb-create-hook, bbdb-change-hook)
(bbdb-after-change-hook, bbdb-notice-hook)
(bbdb-default-separator): Improve doc string.
(bbdb-separator-alist): Improve doc string. Include entries for
anniversaries.
(bbdb-records): Use make-variable-buffer-local.
(bbdb-current-field): Do not remove field-name.
(bbdb-record-note): Simplified.
(bbdb-record-note-n): Removed.
(bbdb-record-note-split): New function.
(bbdb-record-set-note): Improved documentation.
(bbdb-format-note, bbdb-record-format-note): New function.
(bbdb-display-text): Renamed from bbdb-format-text.
(bbdb-display-list): Renamed from bbdb-format-list.
(bbdb-display-name-organization): Renamed from
bbdb-format-name-organization.
(bbdb-display-record-one-line): Renamed from
bbdb-format-record-one-line. Unify text properties.
(bbdb-display-record-multi-line): Renamed from
bbdb-format-record-multi-line. Unify text properties.
(bbdb-display-record-full-multi-line): Renamed from
bbdb-format-record-full-multi-line.
(bbdb-display-record-pop-up-multi-line): Renamed from
bbdb-format-record-pop-up-multi-line.
(bbdb-display-record): Renamed from bbdb-format-record.
(bbdb-parse-internal, bbdb-parse-frobnicate): Simplified search
for first record.
(bbdb-delete-record-internal, bbdb-overwrite-record-internal):
Disentangle code.
* lisp/bbdb-com.el (bbdb-editable): Throw error if *BBDB* buffer
is out of sync with database.
(bbdb-search): Use suffix -re for all args that are regular
expressions.
(bbdb-delete-duplicate-mails, bbdb-sort-addresses)
(bbdb-sort-phones, bbdb-sort-notes): New optional arg update.
(bbdb-record-edit-note): Renamed from bbdb-record-edit-notes.
(bbdb-list-transpose, bbdb-ident-point): New functions.
(bbdb-transpose-fields): Use them. Make code more robust such
that it can be applied to any subfields of the same type.
(bbdb-field-equal, bbdb-next-field): Removed (obolete).
(bbdb-mail-aliases, bbdb-get-mail-aliases, bbdb-add-mail-alias)
(bbdb-browse-url): Use bbdb-record-note-split.
* lisp/bbdb-mua.el (bbdb-mua-wrapper): Do not use
rmail-select-summary.
(bbdb-mua-auto-update): Bug fix.
* lisp/bbdb-rmail.el (bbdb-insinuate-rmail)
* lisp/bbdb-mhe.el (bbdb-insinuate-mh): Bind to
bbdb-mua-edit-notes-sender.
* lisp/bbdb-vm.el (bbdb/vm-auto-folder, bbdb/vm-virtual-folder)
(bbdb/vm-auto-add-label): Use bbdb-record-note-split.
* lisp/bbdb-print.el (bbdb-print-omit-fields): Remove `omit'.
* lisp/bbdb-anniv.el: New file.
* lisp/Makefile: Honor lisp/bbdb-anniv.el.
BBDB is avaiable at
http://git.savannah.nongnu.org/cgit/bbdb.git
To check it out, use
git clone git://git.savannah.nongnu.org/bbdb.git
--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it