+(setq bbdb-file "~/private/bbdb")
+
+(when (file-exists-p bbdb-file)
+
+ ;; Failsafe version if we can't load bbdb
+ (defun ff/explicit-name (email) email)
+
+ (when (ff/load-or-alert "bbdb")
+
+ (setq
+ ;; Stop asking (if not t or nil, will not ask)
+ bbdb-offer-save 'never
+ ;; I hate when bbdb decides to mess up my windows
+ bbdb-use-pop-up nil
+ ;; I have no problem with bbdb asking me if the sender email
+ ;; does not match exactly the address we have in the database
+ bbdb-quiet-about-name-mismatches 0
+ ;; I have european friends, too
+ bbdb-north-american-phone-numbers-p nil
+ ;; To cycle through all possible addresses
+ bbdb-complete-name-allow-cycling t
+ ;; Cycle with full names only, not through all net-addresses alone too
+ bbdb-dwim-net-address-allow-redundancy t
+ ;; Do not add new addresses automatically
+ bbdb-always-add-addresses nil
+ )
+
+ (defface ff/known-address-face
+ '((t (:foreground "blue2")))
+ "The face to display known mail identities.")
+
+ (defface ff/unknown-address-face
+ '((t (:foreground "gray50")))
+ "The face to display unknown mail identities.")
+
+ (defun ff/explicit-name (email)
+ "Returns a string identity for the first address in EMAIL. The