It has been rather quiet on this list.

Recently I discovered that my BBDB file was mis-sorted and I could
well reproduce what had happened.  I realized that I never paid
much attention to how BBDB re-sorts the database after changing a
record.  The old code was rather complicated and error-prone.  The
new code is simpler and hopefully also more robust.

Also, I added a new snarfing rule `eu' following a suggestion by
Marco Wahl sent to this list.  I am sorry, Marco, my final code
has turned out rather different from your original suggestion.  Yet
hopefully the new code will be more robust and it should also be
useful for yet more people.

2015-11-08  Roland Winkler  <>
        Add new snarfing rule eu for many continental European countries.
        Improve snarfing algorithm.
        * lisp/bbdb-snarf.el (bbdb-snarf-rule-alist): Add new rule eu.
        (bbdb-snarf-phone-nanp-regexp, bbdb-snarf-postcode-us-regexp)
        (bbdb-snarf-url-regexp): Improve regexp.  Use first subexpression.
        (bbdb-snarf-mail-regexp): New variable.
        (bbdb-snarf-mail): Use it.
        (bbdb-snarf-address-us-country): New variable.
        (bbdb-snarf-address-us): Use it.  Check whether we actually
        snarfed an address.
        (bbdb-snarf-phone-eu-regexp, bbdb-snarf-postcode-eu-regexp)
        (bbdb-snarf-address-eu-country): New variables.
        (bbdb-snarf-label): Use save-match-data.
        (bbdb-snarf-phone-nanp): Use save-match-data.  Reverse order of
        snarfed phone numbers.
        (bbdb-snarf-phone-eu, bbdb-snarf-address-eu): New functions.

2015-11-08  Roland Winkler  <>
        Simplify re-sorting of records when a record has been changed.
        Re-display re-sorted records.
        * lisp/bbdb.el (bbdb-need-to-sort): Removed.
        (bbdb-record-set-name): Simplify accordingly.
        (bbdb-record-set-sortkey): Always evaluate new sortkey.
        (bbdb-record-sortkey): Simplify accordingly.
        (bbdb-change-record): Sort records if we have a new sort key.
        (bbdb-redisplay-record-globally): Rename from
        bbdb-maybe-update-display.  New optional arg sort.
        (bbdb-delete-record-internal, bbdb-insert-record-internal): Do not
        unset sort key.
        (bbdb-display-records): Put point at beginning of buffer.
        (bbdb-redisplay-record): New optional arg sort.  Throw error if
        record was not displayed previously.
        (bbdb-sort-records): Clarify status message.  Redisplay sorted
        * lisp/bbdb-com.el (bbdb-fix-records): Sort records.
        (bbdb-create, bbdb-create-internal, bbdb-merge-records): Use nil
        for unused second arg of bbdb-change-record.
        (bbdb-edit-field, bbdb-transpose-fields): Do not worry about
        re-sorting records.
        * lisp/bbdb-mua.el (bbdb-annotate-message): Use nil
        for unused second arg of bbdb-change-record.

BBDB Home Page:

Reply via email to