Skip to content

skarra/bbdb3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

-*- org -*-

Copyright (C) 2010, 2011 Roland Winkler <[email protected]> See the end of the file for license conditions.

BBDB is the Insidious Big Brother Database for GNU Emacs. It provides an address book for email and snail mail addresses, phone numbers and the like. It can be linked with various Emacs mail clients (Message and Mail mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.

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

Feedback welcome! – There is a mailing list for discussion of BBDB:

[email protected]

To join, send mail to [email protected]

==================================================================

Installation

Here it is in a nutshell, with BBDB-specific information.

autoreconf –install ./configure [OPTIONS] make # or just “make -C lisp” for using a private copy make install # not required to use a private copy

The invocation of ./configure takes a few unusual options. (a) If you want the TeX support files installed, give a path: ./configure texmfdir=/usr/local/lib/texmf (b) If you do not want VM support, but do have VM installed, say so: ./configure –without-vm-dir (c) If you have VM but not on standard load-path and want it supported: ./configure –with-vm-dir=PATH-TO-VM

To use, add (require ‘bbdb-loaddefs “/path/to/bbdb/lisp/bbdb-loaddefs.el”) to your emacs initialization file.

Questions, comments, suggestions, and bug reports may be directed to the BBDB mailing list at [email protected]. To subscribe, send mail to [email protected], with ‘subscribe’ as the subject.

==================================================================

Usage notes

This revised version of BBDB requires GNU Emacs 23 or newer. Its code is still under development. While it should work reliably, users of previous versions of BBDB are advised that the format of the BBDB database file has changed. Migration to the new format should happen automatically. Yet it is recommended to make a copy of the old file, in case something unexpected happens or you might want to go back.

The BBDB info manual is still awaiting a more complete overhaul.

As compared with BBDB v2.xx, many variables, functions, and commands have changed in BBDB v3. Most likely you will have to review your customizations carefully. You may want to call bbdb-undocumented-variables to identify outdated (i.e., now usually undocumented) variables in your init file. All user variables in BBDB v3 are listed at the beginning of bbdb.el.

BBDB interface with mail user agents (MUAs)

===========================================

BBDB can interface with various mail user agents (MUAs). These include Rmail, Gnus, VM, MH-E, Message and Mail mode. This lets you

  • display the BBDB records for the sender and/or recipients of a message you are viewing
  • create or update the BBDB records for the sender and/or recipients of a message
  • add annotations to the BBDB records for the sender and/or recipients of a message

There are two ways for BBDB to interface with MUAs:

Interactive commands


Call bbdb-initialize (usually in your init file) to initialize the MUA interfaces based on interactive commands

MUA commands include

bbdb-mua-display-records, bbdb-mua-display-sender, bbdb-mua-display-recipients bbdb-annotate-record, bbdb-mua-annotate-sender, bbdb-mua-annotate-recipients bbdb-mua-edit-field, bbdb-mua-edit-field-sender, bbdb-mua-edit-field-recipients

These MUA commands operate either on existing records only. Or they can create new records.

They are all controlled by bbdb-mua-update-interactive-p. This is a cons pair (WITHOUT-PREFIX . WITH-PREFIX). The car is used if the command is called without a prefix. The cdr is used if the command is called with a prefix.

Allowed values are (here ADDRESS is an email address found in a message): nil Do nothing. search Search for existing records matching ADDRESS. query Search for existing records matching ADDRESS; query for creation of a new record if the record does not exist. create or t Search for existing records matching ADDRESS; create a new record if it does not yet exist. a function This functions will be called with no arguments. It should return one of the above values (see below). read Read the value interactively.

BBDB v2 also used MUA-specific variables bbdb/MUA-update-records-mode to control its interfaces with MUAs. In BBDB v3 the variables bbdb/MUA-update-records-p are only used as fallback if the generic (MUA-independent) variables bbdb-mua-update-interactive-p, bbdb-update-records-p or bbdb-mua-auto-update-p result in a value of nil for the arg UPDATE-P of bbdb-update-records.

Noninteractive functions


Call bbdb-mua-auto-update-init (usually in your init file) to hook BBDB’s hook function bbdb-mua-auto-update into the MUAs.

bbdb-mua-auto-update automatically displays or updates the BBDB records for the sender and/or recipients of a message. Its behavior is controlled by bbdb-mua-auto-update-p. This may take the same values as bbdb-mua-update-interactive-p (except read).

Binding this to a function is often most helpful for noninteractive use. For example, you may want to bind bbdb-mua-auto-update-p to the function bbdb-select-message, see bbdb-accept-message-alist and bbdb-ignore-message-alist. If a message is accepted by bbdb-select-message, the actual action performed by BBDB (i.e., the return value of bbdb-select-message) is given by bbdb-mua-update-records-p.

==================================================================

FAQ

Building and Installation of BBDB V3

I get an error “configure.ac:15: warning: macro `AM_SILENT_RULES’ not found in library”

BBDB V3 requires fairly recent versions of the ‘autotools’ suite: autoconf, autoreconf, automake, etc. Check the versions you have by looking at the ouptut of the following commands:

$ autoconf –version # should be greater than 2.64 $ automake –version # should be greater than 1.11

If you do not have the minimum versions specified above, you should upgrade to recent versions using your system package manager

I get an error ‘configure: error: cannot find install-sh, install.sh, or shtool in “.” “./..” “./../..”

You have ignored errors in previous steps of the build process, which originally stem from old version of autotools. Refer to the question above.

I am on MacOS X and how can I upgrde autoconf; homebrew does not cut it

The autotools formulae in homebrew are ‘keg-only’, meaning once you install them using ‘brew install automake’, it is installed to the Cellar directory (such as usr/local/Cellar/automake/1.11.3) but is not sym-linked to usr/local like a normal installation. This is to prevent unwanted dependencies between the system version of these tools and the brew versions.

The following has been known to work on MacOS X

Step 0: Install the brew versions of autoconf and automake (brew install automake && brew install autoconf)

Step 1: $ mkdir -p /usr/local/upgraded/bin

Step 2: make sym links to all programs installed by brew in Step 1 in usr/local/upgraded/bin

Step 3: edit etc/paths and put /usr/local/upgraded/bin at the top of the file in line 1.

Step 4: Now rebuild BBDB.

I get an error: “bbdb-vm.el:25:1:Error: Cannot open load file: vm-autoload”

You are likely using GNU Emacs and the system cannot find the VM mail reader. You should run configure like so: ./configure –without-vm-dir

Equivalently if you have installed VM separately and know where to find it, run configure like so: ./configure –with-vm-dir=$VM_DIR

Misc

Copyright (C) 2010, 2011 Roland Winkler <[email protected]>

This file is part of the Insidious Big Brother Database (aka BBDB),

BBDB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

BBDB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with BBDB. If not, see http://www.gnu.org/licenses/.

About

My repo of the development version of BBDB V3

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Emacs Lisp 100.0%