I am sorry for the long delay. Finally I have installed a bunch of
changes for BBDB. See the ChangeLog attached below for the complete
list of changes. Thanks to Sam Steingold for submitting several
patches. Also, thanks to Philip Hudson for a bunch of docstring
fixes.

BBDB is available at
http://savannah.nongnu.org/projects/bbdb/
To check it out, use
git clone git://git.savannah.nongnu.org/bbdb.git

I'll try to summarize important changes:

I renamed bbdb-no-duplicates to bbdb-allow-duplicates.
The problem was that this feature was broken in several ways: First,
the docstring of bbdb-no-duplicates did not match what the variable
name suggested. Second, the docstring recommended not to have
duplicates, but by default duplicates were allowed. Third, the old
code was broken that was supposed to detect duplicates.
For the renamed variable, I did not change its docstring. By default,
BBDB now throws an error if you try to use duplicate names, and all
this should work as promised.

Another old bug (going back to BBDB v2): bbdb-complete-mail did not
obey bbdb-completion-list if this was a list of symbols. This should
be fixed now.

On Mon Dec 26 2011 Sam Steingold wrote:
> I want to avoid putting the email uid into the first name slot.
> I.e., when creating a record for "f...@bar.com", I want the names to
> be void, not "foo" "".

Set the new variable bbdb-message-mail-as-name to nil.
Also, you might want to customize the new var bbdb-message-clean-name-function.

On Tue Dec 27 2011 Sam Steingold wrote:
> When visiting an article from "foo <b...@baz.com>" who is not in my db,
> I am offered to add name "foo" and address "b...@baz.com" to the record
> of "First Last - foo", i.e., a person whose _organization_ is "foo".
> I think this is wrong: matching the name "foo" against organization
> "foo".

The related searching of the hash table should be more robust now
such that it uses only the relevant fields of the records.

On Wed Dec 28 2011 Sam Steingold wrote:
> If I set bbdb-check-auto-save-file to t, modify the db and not
> save it right away, I am asked all the time about recovering bbdb
> from the auto save file. with v2, I was asked this only when bbdb
> was first loaded, which was useful.

Now with bbdb-check-auto-save-file set to t, BBDB should check the
auto-save file only once when actually reading bbdb-file (though as
we discussed before, under normal cirumstances there should be no
need for bbdb-check-auto-save-file being set to t).

On Thu Feb 9 2012 Sam Steingold wrote:
> Here is yet another patch:
> it is very annoying that some messages are marked as coming from a known
> sender but ':' does not show them because "known senders" are matched by
> e-mail and name and the ':' searches just by email.
> this patch makes them consistent.

Done.

On Fri Mar 16 2012 Sam Steingold wrote:
> I get asked the above question for matching records with an email but
> without a name:

Handling of records without a name should be more robust now, though
there could still be unexpected surprises. I consider such records
somewhat exceptional and "expected behavior" becomes a matter of
personal context (and taste).

On Tue Jan 3 2012 Sam Steingold wrote:
> I have 3 more patches which, I think, are quite uncontroversial:
> * 6abeb87..: Sam Steingold 2011-12-27 Use `symbol-value' instead of `eval' for
> symbols.

Done.

> * 77d6afa..: Sam Steingold 2011-12-27 ignore Makefiles and configure files;
> autoloads->loaddefs

I could not find this patch.

> * 2aa061a..: Sam Steingold 2011-12-27 * lisp/bbdb-mua.el
> (bbdb-annotate-message): Do not offer to replace the name if it is already an
> AKA.

Done.

BBDB internals:

bbdb-record-set-field is now the recommended low-level function to
set any field. Here the symbol `notes' denotes the most common note
field, whereas the symbol `Notes' denotes the element of the BBDB
record structure holding all note fields.  To avoid name clashes,
`Notes' may not be used to denote a note field.


2012-06-24  Sam Steingold  <s...@gnu.org>
        * lisp/bbdb-mua.el (bbdb-update-records): Use bbdb-message-search
        instead of bbdb-search when `update-p' is `search' so that all
        senders are displayed.
        * lisp/bbdb-mua.el (bbdb-annotate-message): Do not offer to
        replace the name if it is already an AKA.

        * lisp/bbdb.el (bbdb-label-completion-list): Use symbol-value
        instead of eval for symbols.
        * lisp/bbdb-mua.el (bbdb-update-records): Ditto.

2012-06-24  Philip Hudson <phil.hud...@iname.com>
        * lisp/bbdb.el (bbdb-read-only, bbdb-initialize-hook)
        (bbdb-mode-hook, bbdb-layout-alist, bbdb-case-fold-search)
        (bbdb-message-caching, bbdb-complete-mail-allow-cycling)
        (bbdb-after-save-hook, bbdb-completion-display-record)
        (bbdb-update-records-address, bbdb-warn, bbdb-split, bbdb-concat)
        (bbdb-read-string, bbdb-current-record, bbdb-debug)
        (bbdb-timestamp, bbdb-creation-date, bbdb-gethash)
        (bbdb-hash-record, bbdb-record-name, bbdb-record-name-lf)
        (bbdb-record-sortkey, bbdb-record-set-sortkey, bbdb-record-marker)
        (bbdb-record-set-marker, bbdb-record-deleted-p)
        (bbdb-record-set-deleted-p, bbdb-merge-concat)
        (bbdb-merge-string-least, bbdb-merge-string-most)
        (bbdb-phone-string, bbdb-error-retry, bbdb-display-list)
        (bbdb-display-record-one-line, bbdb-display-record-multi-line)
        (bbdb-display-records, bbdb-display-records-internal)
        (bbdb-redisplay-record, bbdb-pop-up-window)
        (bbdb-electric-display-records, bbdb-electric-throw)
        (bbdb-electric-quit, bbdb-quit-window, bbdb-mouse-menu, bbdb-save)
        (bbdb-offer-to-create bbdb-lastname-suffixes)
        (bbdb-update-records-p, bbdb-new-mails-always-primary): Fix
        docstring.
        (bbdb-mail-user-agent): Untabify.

2012-06-24  Roland Winkler  <wink...@gnu.org>
        Update copyright notices.

        * lisp/bbdb.el (bbdb-allow-duplicates): Rename from
        bbdb-no-duplicates to match the unchanged docstring of this
        variable.
        (bbdb-record-Notes): Rename from bbdb-record-notes to avoid name
        clashes.
        (bbdb-puthash): Do not hash empty strings.
        (bbdb-gethash): New arg predicate.
        (bbdb-check-name): New function.
        (bbdb-record-set-name): For args first and last allow new value t.
        Use bbdb-check-name.
        (bbdb-record-name, bbdb-record-name-lf): Use it.
        (bbdb-record-set-field): Use it.  Simplify.
        (bbdb-label-completion-default, bbdb-data-completion-list)
        (bbdb-data-completion-default): Remove unused function.
        (bbdb-buffer): Handle here that bbdb-file might have changed on
        disk and auto-save file could be newer than bbdb-file instead of
        bbdb-records doing this.
        (bbdb-revert-buffer): Fix docstring.  Use prefix arg as in
        revert-buffer.  Use variable bbdb-buffer instead of function
        bbdb-buffer to avoid recursion.
        (bbdb-parse-records): Rename from bbdb-parse-internal.  Add
        docstring.  Do not polute buffer-undo-list when reading bbdb-file.
        Use unwind-protect.  Merge with bbdb-parse-frobnicate.  Handle
        bbdb-allow-duplicates properly.
        (bbdb-with-db-buffer): Add docstring.
        (bbdb-display-record-one-line, bbdb-display-record-multi-line):
        Simplify.
        (bbdb-pop-up-window): Fix docstring.
        (bbdb-sendmail-menu): Add docstring.
        (bbdb-electric-quit): Rename from bbdb-electric-done.
        (bbdb-electric-display-records): Simplify.

        * lisp/bbdb-com.el (bbdb-editable): Fix docstring.  Check more
        carefully without reverting.
        (bbdb-message-search): Use bbdb-buffer.
        (bbdb-read-record): Use bbdb-buffer and bbdb-check-name.
        (bbdb-create-internal): Fix docstring.  Use bbdb-check-name.
        (bbdb-edit-field):  Merge with bbdb-record-edit-name.
        (bbdb-record-edit-name): Remove.
        (bbdb-completion-predicate): Bug fix.
        (bbdb-complete-mail): Use bbdb-buffer and
        bbdb-completion-predicate.
        (bbdb-search-duplicates, bbdb-message-search)
        (bbdb-create-internal): Use arg predicate of bbdb-gethash.

        * lisp/bbdb.el (bbdb-gethash): New arg predicate.
        (bbdb-check-name, bbdb-record-set-field, bbdb-parse-records) Use
        it.
        * lisp/bbdb-com.el (bbdb-search-duplicates, bbdb-message-search)
        (bbdb-create-internal): Use it.

        * lisp/bbdb-mua.el (bbdb-message-get-cache): Use bbdb-buffer.

        * lisp/bbdb.el (bbdb-message-clean-name-function)
        (bbdb-message-mail-as-name): New variables.
        * lisp/bbdb-mua.el (bbdb-get-address-components)
        (bbdb-annotate-message): Use them.
        (bbdb-message-clean-name-default): Rename from
        bbdb-message-clean-name.  Clean names properly, too.

        * tex/Makefile.in (install-TeX): Bug fix (Bug#108041).

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to