From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: Difference between EBDB and BBDB Date: Tue, 25 Jun 2019 14:40:30 -0700 (PDT) Message-ID: <8056f276-13f2-4f0a-a238-01e30cc37faf@default> References: <47447FCB-5DFA-49C8-8733-F6D07B7FFE57@icloud.com> <87ef3hmtuz.fsf@ericabrahamsen.net> <87a7e5mpc0.fsf@ericabrahamsen.net> <87blyll5mh.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="593"; mail-complaints-to="usenet@blaine.gmane.org" Cc: help-gnu-emacs@gnu.org, Stefan Monnier To: Eric Abrahamsen Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Jun 25 23:41:41 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hftC9-0018Hd-5Y for geh-help-gnu-emacs@m.gmane.org; Tue, 25 Jun 2019 23:41:41 +0200 Original-Received: from localhost ([::1]:35446 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hftC8-0003kS-5I for geh-help-gnu-emacs@m.gmane.org; Tue, 25 Jun 2019 17:41:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54531) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hftBU-0003hH-TB for help-gnu-emacs@gnu.org; Tue, 25 Jun 2019 17:41:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hftBS-0004Sh-Nj for help-gnu-emacs@gnu.org; Tue, 25 Jun 2019 17:41:00 -0400 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:46984) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hftBP-0004DE-2d for help-gnu-emacs@gnu.org; Tue, 25 Jun 2019 17:40:56 -0400 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x5PLeaKM035051; Tue, 25 Jun 2019 21:40:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=5tjOHTvDck62RY3I150wghgyz1Wuy99WA6EqnNcsOok=; b=5WtbF4/45PWarHfP46sd79gsA3PUN3VcmiEDZQbIzbpqmp/fHNiuv6WG8AGxbUOb7gYn TUr+057XyPljc9l0EkgVFKrftDc1whNDYWEd+3L6u4rCATE5GI5QLj5hophLIbRfuwWa mrdpSNSTQyptJP2ntP6c2HFF0Ub29MUJXILJzJCzRVurWxPo44KAjUQas7f1NW/k+T3v bw6MXgvRSlEF9kKKWuqb994h5DQ/YTQMnBRn2xbwGsPm8cAcniBOtShghh5mZxEVO1Dk tKH4+RKadii08Ic6xGUW4+raLMkTg9B45OXK4JUAcE97JJTb/npw6kOkpTU7eG/Lg1Sp SA== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 2t9c9ppvgq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 25 Jun 2019 21:40:35 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x5PLe5l7051371; Tue, 25 Jun 2019 21:40:35 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3030.oracle.com with ESMTP id 2t99f443q6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 25 Jun 2019 21:40:35 +0000 Original-Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x5PLeXcR025664; Tue, 25 Jun 2019 21:40:33 GMT In-Reply-To: <87blyll5mh.fsf@ericabrahamsen.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4861.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9299 signatures=668687 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=546 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906250167 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9299 signatures=668687 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=596 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906250168 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 141.146.126.78 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:121056 Archived-At: > > Just food for thought: > > > > It's good to be able to separate the use (UI, UX or > > whatever) from the database itself - form of records > > etc. Regardless of whether it's BBDB or whatever > > else might come along or already exists out there > > somewhere. >=20 > That was absolutely my first principle in making this package: the > classes responsible for storage and behavior have nothing to do with the > interface presented to the user. In fact, ebdb.el should be usable as an > API for other packages, while ebdb-com.el should only be responsible for > the ebdb-mode buffers. I wouldn't be surprised if I've screwed up this > separation somewhat, but that was the original idea, and I will fix > relevant bugs! >=20 > > A generic way for a user to define her own > > record-to-record mapping (for whatever storage form) > > could help. It could be a mapping for one-time > > conversion or a mapping to use at runtime to access > > another database directly. >=20 > While the documentation doesn't go into this at this point, this is > precisely how the whole system works, right down to the "generic" term: > `cl-defgeneric' is basically how you take control of the whole system. The curmudgeon has nothing more to say. Good job!