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/