From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!.POSTED!not-for-mail
From: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Newsgroups: gmane.emacs.devel
Subject: RFC: Adding BBDB to Emacs core
Date: Sat, 14 Apr 2018 01:54:46 -0400
Message-ID: <m3zi265o49.fsf@fitzsim.org>
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: blaine.gmane.org 1523685180 1456 195.159.176.226 (14 Apr 2018 05:53:00 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sat, 14 Apr 2018 05:53:00 +0000 (UTC)
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
To: emacs-devel@gnu.org
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 14 07:52:56 2018
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([208.118.235.17])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1f7E7L-0000Fa-6i
	for ged-emacs-devel@m.gmane.org; Sat, 14 Apr 2018 07:52:55 +0200
Original-Received: from localhost ([::1]:33808 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1f7E9R-0003aN-N6
	for ged-emacs-devel@m.gmane.org; Sat, 14 Apr 2018 01:55:05 -0400
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49381)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <fitzsim@fitzsim.org>) id 1f7E9G-0003Yy-Vj
	for emacs-devel@gnu.org; Sat, 14 Apr 2018 01:54:56 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <fitzsim@fitzsim.org>) id 1f7E9C-0000Rk-1H
	for emacs-devel@gnu.org; Sat, 14 Apr 2018 01:54:55 -0400
Original-Received: from mail-it0-x232.google.com ([2607:f8b0:4001:c0b::232]:52999)
	by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
	(Exim 4.71) (envelope-from <fitzsim@fitzsim.org>) id 1f7E9B-0000RK-RM
	for emacs-devel@gnu.org; Sat, 14 Apr 2018 01:54:49 -0400
Original-Received: by mail-it0-x232.google.com with SMTP id f6-v6so5705621ita.2
	for <emacs-devel@gnu.org>; Fri, 13 Apr 2018 22:54:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=fitzsim-org.20150623.gappssmtp.com; s=20150623;
	h=from:to:subject:date:message-id:user-agent:mime-version;
	bh=bNbRBFodLSVplt7f8LH+LjCW/7ULHrs/5vehEQ9Tdic=;
	b=OaNIGl7+omj9pLnvKfAA0xnM1jFFT8EdFx8h1uXuoonUm4gWJ6t1M6/vvmXG9KTVUX
	3AS7pzjIjR4iFV3tHkEQ4WaD3TQrrUCMB/QIMBJ0InvEdt74p4oRAfeOxgPhPeFjH41N
	UfNn1ZpSk6fialEppWWiup3+CZkeFJYOJ1Pner4Jb/UqRM+UiWHbEHog5jUPz9tnToqI
	XJGGkgcPhE0JWs8SSY4fikh39ZCWahMzlLo0fzaP6+OUUtZeDQi6eIv1YHygHC4FEHyF
	YcQCc1q0FzSPiYFzhnYcLdcyjK7mMAdJDjWXX+8uVlOeJb89E7wD/PbErrlsJdM5giQ+
	Md3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:from:to:subject:date:message-id:user-agent
	:mime-version;
	bh=bNbRBFodLSVplt7f8LH+LjCW/7ULHrs/5vehEQ9Tdic=;
	b=qWxlWLktCfn+Yhpb9TQOMSswzvdjJ+ZSzC1OKIQaKirKuBgO24X7DL4THoJL3K5WvE
	l8Kt84qJ7ec3AztbOg6MHchmjcupQRQ0XCdCgKAuuSt8u/kXffgw/OHFGhPsDchc/btC
	SPrLSLKfqeUMYkSdoOmQZ/j88iiNzo5Cf0aLfNBaEQcimnPcwegoJT7BUr6sgwrCKFvy
	LV6m0+xKND/0R3F3nBzU3kFSAbqnYhY57XSZN4EOJC15UfvoYluljx7hpN6y24+/R1ri
	jrACQ6A8tfwMWlvP3vkyo0cOVmwdP4rFHLDzMdKAwsROINPFc0n6Hfu5rXKLaM40xwhq
	RLdg==
X-Gm-Message-State: ALQs6tAa79QsI2lQ+rt47u7d8PmIPw9I/2mcBFhL/4U7gxrKPlSxC4mr
	cPIJ4wyq49s+Z5HDdzfwFv2Odyxd
X-Google-Smtp-Source: AIpwx49kF5TP0C/PuLQ643czlj5KFYV4KIjzN503fexi6tS1LKLhoRaj9mIXcxRj0us0cb/7v8omsg==
X-Received: by 2002:a24:df04:: with SMTP id
	r4-v6mr8119744itg.105.1523685288417; 
	Fri, 13 Apr 2018 22:54:48 -0700 (PDT)
Original-Received: from hp-dv5t (69-165-165-189.dsl.teksavvy.com. [69.165.165.189])
	by smtp.gmail.com with ESMTPSA id p70sm550546ioe.7.2018.04.13.22.54.46
	for <emacs-devel@gnu.org>
	(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
	Fri, 13 Apr 2018 22:54:47 -0700 (PDT)
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-Received-From: 2607:f8b0:4001:c0b::232
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/emacs-devel/>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Original-Sender: "Emacs-devel" <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Xref: news.gmane.org gmane.emacs.devel:224578
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/224578>

Hi,

Now that BBDB is copyright clear and available in GNU ELPA, thanks to
Roland Winkler, I'd like to see what people think about also adding it
to Emacs core.

While maintaining EUDC in Emacs core, I've encountered many references
to BBDB that are unresolved.  The only reason for this, as far as I can
tell, is that historically BBDB's copyright status didn't allow it to be
included in core.  Otherwise it probably would have been included all
along.  Now it's possible to fix this properly.

I've started an integration attempt on the scratch/eudc-bbdb-3 branch.
I merged a recent version of BBDB from GNU ELPA into lisp/bbdb, then I
resolved references to BBDB in EUDC.  For example, we can remove things
like:

   (declare-function bbdb-record-phones "ext:bbdb" t) ; via bbdb-defstruct

and apply changes like:

--- a/lisp/net/eudc-export.el
+++ b/lisp/net/eudc-export.el
@@ -31,10 +31,8 @@
 ;;; Code:
 
 (require 'eudc)
-
-;; NOERROR is so we can compile it.
-(require 'bbdb nil t)
-(require 'bbdb-com nil t)
+(require 'bbdb)
+(require 'bbdb-com)
 
 (defun eudc-create-bbdb-record (record &optional silent)
   "Create a BBDB record using the RECORD alist.

This makes the code cleaner and easier to maintain.  We can also rely
only on the version of BBDB in GNU Emacs (or a later one in GNU ELPA)
and so all the BBDB < 3 compatibility code can be deleted without risk
of breaking people's package sets (BBDB >= 3 auto-converts BBDB < 3
databases to the updated format).

I think applying this same type of effort to the other BBDB-dependent
core packages would simplify them too.

I'd like BBDB to become the default out-of-the-box local contact
management library for GNU Emacs, in particular so that Gnus/EUDC/BBDB
work together to provide email completion and snarfing out-of-the-box,
without extra configuration or package installation.

Thoughts?

Thomas