Hello, I incorporated a bunch of smaller changes and bug fixes.
(Thanks to everyone who contributed to this in one or the other way!) - Editing and display of names (full names, first-last, last-first) can be customized, see bbdb-name-format and bbdb-read-name-format. If bbdb-read-name-format is fullname, it is possible to edit the first and last name individually via a prefix arg for bbdb-read-record and bbdb-record-edit-name. -- We had discussed here yet fancier solutions based on a separating character such as "}" when names are edited in full. But after I had implemented the current changes for editing names, I thought it's better to give those a try and go from there. Could it be that the current solution is really sufficient? - The face for font-locking the names of a record can be customized per record, see bbdb-name-face-alist. - Some time ago we discussed on this list to make merging fields of records more flexible. When I looked through this more carefully, I realized that there existed in parallel two independent approaches for this problem: - merging notes based on mail messages handled by BBDB - merging fields for merging records So I tried to unify this. The bottom line is that merging of fields is now always handled by bbdb-record-set-field. - New variable bbdb-message-try-all-headers: Several commands extract either the sender or the recipients' addresses from a message according to `bbdb-message-headers'. If BBDB does not find any address (for example, because an address is excluded because of `bbdb-user-mail-address-re') but `bbdb-message-try-all-headers' is t, then these commands will also consider the remaining headers. Apart from these changes, I tried to fix all bugs that were recently reported on this list. If you reported one of them, please check that the bug fix is included in the ChangeLog below and also check that now the code works as expected. -- I apologize if I overlooked anything. Please report here once more. Roland 2011-10-10 Roland Winkler <wink...@gnu.org> * lisp/bbdb.el (bbdb-name-format, bbdb-read-name-format) (bbdb-name-face-alist): New user variables. (bbdb-record-name-lf): New function. (bbdb-display-name-organization): Use bbdb-name-format for customizable display of name. Use note field name-face for customizable font-locking of name of a record. (bbdb-layout-list): Omit name-format and name-face for multi-line and pop-up-multi-line format. (bbdb-separator-alist): New default values for name-first-last and name-last-first. (bbdb-record-set-name): Use them. * lisp/bbdb-com.el (bbdb-read-name): New function. (bbdb-read-record, bbdb-record-edit-name): Use it. New optional arg first-and-last. * lisp/bbdb.el: (bbdb-merge-notes-function): Removed (obsolete). (bbdb-record-type): New internal variable. (bbdb-check-type): Moved here from lisp/bbdb-com.el. Use the pseudo-code of bbdb-record-type. (bbdb-record-get-field, bbdb-merge-concat) (bbdb-merge-concat-remove-duplicates, bbdb-merge-string-least) (bbdb-merge-string-most, bbdb-merge-lists, bbdb-divide-name) (bbdb-parse-postcode): Moved here from lisp/bbdb-com.el. (bbdb-merge-note): Rewrite. (bbdb-record-set-field): Moved here from lisp/bbdb-com.el. New optional args check and merge. (bbdb-record-note-intern): New function. (bbdb-record-set-note): Throw error if the name of a note field equals the name of any other record field. (bbdb-parse-frobnicate): Include all note fields in bbdb-notes-label-list. * lisp/bbdb-com.el (bbdb-create-internal): Use bbdb-check-type. (bbdb-merge-records-internal): Removed (merged with bbdb-merge-records). (bbdb-merge-records): Use bbdb-record-set-field. * lisp/bbdb-mua.el (bbdb-annotate-record): Renamed from bbdb-annotate-note. Use bbdb-record-set-field. * lisp/bbdb.el (bbdb-initialize): Do not require bbdb-autoloads. * lisp/bbdb.el (bbdb-phone-string): Fix error message. * lisp/bbdb.el (bbdb-error-retry): Use progn. * lisp/bbdb.el (bbdb-message-try-all-headers): New user variable. * lisp/bbdb-mua.el (bbdb-get-address-components): Use it. * lisp/bbdb-print.el (bbdb-print): Do not use \catcode. ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/