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/

Reply via email to