The FAQ is unmaintained, but you probably find an answer to your question in the mailing list archives. Feel free to mail me any things that should be on this list.

This is the BBDB FAQ, $Revision: 1.6 $.

About BBDB and this document
What is the BBDB?
Updated: 21 July 2000

The BBDB is an addressbook for Emacs[1] users. It integrates tightly with Emacs-based mail and news readers, and provides some support for Netscape Mail and News. It is intended to be as unobtrusive in use as possible.

The full name of BBDB is "The Insidious Big Brother Database".

[1] In this FAQ, "Emacs" refers to both GNU Emacs and XEmacs.

What is the most current version of the BBDB?
Updated: 20 August 2005

The current stable version is 2.34. The current development version is 2.35. Generally speaking, the development version is the preferred version.

Where can I get the most current version of the BBDB?
Updated: 21 July 2000

BBDB is hosted, developed and maintained at The current stable and development releases are posted here.

About the FAQ
Updated: 25 February 2001

This FAQ is currently being constructed from a backlog of saved email messages from the bbdb-info mailing list. It is part of the BBDB CVS tree and thus can be updated by anyone with write access to the tree. Suggestions for additional questions (and answers!) can be sent to

The FAQ answers assume you have some familiarity with Emacs. Where configuration variables are mentioned, there's usually a customize interface that allows you to do point-and-click option setting.

Installing the BBDB
How do I install BBDB?
Updated: 25 February 2001

Read the file INSTALL in the distribution

Configuring the BBDB
BBDB sometimes displays the user's full name along with some names, and not with others.
Updated: 25 February 2001

Set bbdb-dwim-net-address-allow-redundancy to t. This tells BBDB it's okay to add full names to addresses of the form <Firstname.Lastname@wherever>

Is there a way to insert literal strings in the phone number field?
Updated: July 28 2001

Set bbdb-north-american-phone-numbers-p to nil. This tells BBDB to not try parsing numbers, but to simply accept whatever the user types in.

How to I get BBDB to not keep changing the name field for a record?
Updated: August 20 2005
Probably the easiest way to do this is to use bbdb-ignore-some-messages-alist; see the documentation on this for more details. You'll also need to set bbdb/{mail,news}-auto-create-p to bbdb-ignore-some-messages-hook, or invoke the latter from whatever your auto-create-p variables currently point at.
How do I make BBDB do something not covered in the FAQ??
Updated: 20 August 2005

Read The Fine Manual, and then if you're still unsure ask on the bbdb-info list.

Using BBDB
How do I get BBDB to fill out an email address for me?
Updated: 28 June 2001

Type as much of the address as you feel necessary, then hit M-TAB to get BBDB to attempt to complete what you've typed. If it finds several matches, you can loop through them by repeatedly pressing M-TAB; you can also select from a completion-buffer of choices.

I have 42 records for Douglas Adams. How do I delete the duplicates?
Updated: 20 August 2005

M-x bbdb-show-duplicates, and delete or merge the ones you don't want.

Every time I modifiy bbdb mail-alias fields, I need to quit and restart before Gnus sees the changes!
Updated: 28 June 2001

(Thanks to John Hunter)
(add-hook 'message-setup-hook 'bbdb-define-all-aliases)

How do I submit a bug report?
Updated: 20 August 2005
Use bbdb-submit-bug-report. This extracts version information and settings from your running copy of BBDB and prepares an email message including them. The default address for this mail is the bbdb-info list, so that all developers can see it, but if you've got privacy issues with that then you can send it directly to me ( A few essential notes:
  • Check the mailing list archives to see if your bug has previously been discussed.
  • Make sure you've tried out the latest CVS version, in case your bug has already been solved.
  • Be as precise as you can. Do not use wording like "I got an error message about some file"; include the exact text of the error message and the filename it referred to.
  • If you can, try and provide a minimal .bbdb file that illustrates the problem. There is apparently an ongoing issue with completion not providing all possible expansions, but since noone has yet provided a .bbdb file that demonstrates the problem, I've been unable to reproduce it.
XEmacs is giving me an error about BBDB being already loaded.
Updated: 25 February 2001 (David S. Goldman)

Add the following before you call (bbdb-initialize):
  (unload-feature 'bbdb-autoloads t)
This is fixed in the developer release, and should be available in the next stable release.

I downloaded the developer release from CVS and I can't build it.
Updated: 25 February 2001

The developer version from CVS does not include the configure script; this should be generated using autoconf. The configure script is included in the nightly tarball, so you can get it there if you wish. Alternatively, it may be downloaded from the BBDB Web Site.

The other problem you may have is that you're on a Win32 system with no support for Makefiles or scripts in general. Your options are to install the Cygwin environment (XXX there is a known issue with building under Cygwin XXX) or to check the mailing list archives for a recent make.bat file. The latter will probably migrate to the BBDB bits section of CVS once the author has nailed it down to his satisfaction.

Talking to the world outside Emacs
BBDB with Gnus is asking me if I want to update <non-ASCII-name> to <non-ASCII-name<
Updated: 20 August 2005

This should be (mostly) solved in CVS. If you encounter this, please submit a bug report.

How do I get BBDB and supercite to play together?
Updated: 28 June 2001

(Thanks to Kevin Davidson, quoted here)
 Take a look at bbdb-sc.el that comes with BBDB.

 I found I also needed to patch supercite.el (up to at least version
 3.1 as supplied with Xemacs 20.3) otherwise it stops using your
 sc-preferred-attribution-list and starts using a broken default one.

 Patch here:

*** supercite.el        Wed May  6 10:45:12 1998
--- supercite.el.orig   Wed May  6 10:43:11 1998
*** 1250,1259 ****
              (setq attribution attrib
                    attriblist nil))
             ((listp attrib)
!             (setq attribution (eval attrib))
!             (if attribution
!                (setq attriblist nil)
!               (setq attriblist (cdr attriblist))))
             (t (error "%s did not evaluate to a string or list!"
--- 1250,1257 ----
              (setq attribution attrib
                    attriblist nil))
             ((listp attrib)
!             (setq attribution (eval attrib)
!                   attriblist nil))
             (t (error "%s did not evaluate to a string or list!"

You might also need the following, from Sergei Pokrovsky:
 '(sc-citation-nonnested-root-regexp "\\([-._]\\|\\w\\)+")
 '(sc-citation-root-regexp "\\([-._]\\|\\w\\)*")

How do I get my Pilot/Addressbook/Phone/Widget to sync with BBDB?
Updated: 28 June 2001

Run screaming, waving hands in air.

Still here? Okay. This is a problem complicated by some basic differences in the respective tools' approach to addressbooks, neatly summarised in a message from Jamie Zawinski. The solutions to date are at least three different bbdb-pilot.el files, SyncBBDB and SyncAB + BBDB. The latter two are quite good, although personally I don't use anything to keep my bits in sync at present.
Updated: 25 February 2001

The BBDB was originally created by Jamie Zawinski. The cast of characters involved since then is listed in the BBDB documentation. The current maintainer is Waider, assisted by whoever's got write access on the SourceForge tree and a supporting cast on the bbdb-info mailing list.
$Date: 2007/01/30 22:05:41 $