Re: [PATCH 0/4] Allow specifying alternate names for addresses in other_email
[notmuch-archives.git] / 0f / 2c0bb1aaeda86dd49a1d97f84edd2c76cc21b9
1 Return-Path: <awg@xvx.ca>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 28F4A431FBC\r
6         for <notmuch@notmuchmail.org>; Tue, 13 Nov 2012 17:32:12 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -0.7\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
12         tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id 9j9wxiggbBaw for <notmuch@notmuchmail.org>;\r
16         Tue, 13 Nov 2012 17:32:10 -0800 (PST)\r
17 Received: from mail-vc0-f181.google.com (mail-vc0-f181.google.com\r
18         [209.85.220.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
19         (No client certificate requested)\r
20         by olra.theworths.org (Postfix) with ESMTPS id EFA13431FAF\r
21         for <notmuch@notmuchmail.org>; Tue, 13 Nov 2012 17:32:09 -0800 (PST)\r
22 Received: by mail-vc0-f181.google.com with SMTP id n11so8726834vch.26\r
23         for <notmuch@notmuchmail.org>; Tue, 13 Nov 2012 17:32:09 -0800 (PST)\r
24 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
25         d=google.com; s=20120113;\r
26         h=mime-version:sender:x-originating-ip:in-reply-to:references:date\r
27         :x-google-sender-auth:message-id:subject:from:to:cc:content-type\r
28         :x-gm-message-state;\r
29         bh=mT1uRdNnU60xLNn1DLxzh18dE5d/I7SIQtH1ToZL0l4=;\r
30         b=nepm+ii5oY/av3VPNL6cLg3//2EQX41/h8tOOCY9z2wWCJ1TieWMHXf1J6sFTPl1Jd\r
31         T6/ny2DH+xd2YJmqqi76IeuSWQsf+eHk9sDeRRunuI2WtVaFfYUPSZxgqk54FkgK78j1\r
32         uIezzNOlmhLLNNuhDd5fDWga8ug3n1Z3ch7VrUnVYLhB8ToKY1HpbrwAOKw+rBoEdNjd\r
33         9Zr0LLQmkSyxZaIXwikeTutCNVPf0/j6jBbfh392gknovixOIH+r+dfkdllolltVcWMn\r
34         7eFOQuV7t46CRrtF7Z6U01bhfUk/yInW18bXlqA7itKokoojkGtpYB1/00pUF9Ac7WPJ\r
35         +QbQ==\r
36 MIME-Version: 1.0\r
37 Received: by 10.220.8.195 with SMTP id i3mr8955455vci.44.1352856727937; Tue,\r
38         13 Nov 2012 17:32:07 -0800 (PST)\r
39 Sender: awg@xvx.ca\r
40 Received: by 10.220.154.205 with HTTP; Tue, 13 Nov 2012 17:32:07 -0800 (PST)\r
41 X-Originating-IP: [2001:470:b:2bb::2]\r
42 In-Reply-To:\r
43  <CA+y5ggiGrAcicQLeskaXFoxYyJQVVXZ1VRX=XS8zPFR9_mBFxA@mail.gmail.com>\r
44 References:\r
45  <CA+y5ggiGrAcicQLeskaXFoxYyJQVVXZ1VRX=XS8zPFR9_mBFxA@mail.gmail.com>\r
46 Date: Tue, 13 Nov 2012 18:32:07 -0700\r
47 X-Google-Sender-Auth: goF1VI5xbuUNQLdXQf7EUWJIZPw\r
48 Message-ID:\r
49  <CAMoJFUt8hvVF4svNdgKNPrDTTRWFn9+AWbBWL6egwy7jYnOqZg@mail.gmail.com>\r
50 Subject: Re: emacs: Handling external dependencies\r
51 From: Adam Wolfe Gordon <awg+notmuch@xvx.ca>\r
52 To: Damien Cassou <damien.cassou@gmail.com>\r
53 Content-Type: text/plain; charset=ISO-8859-1\r
54 X-Gm-Message-State:\r
55  ALoCoQlpcLorx081vLaz+ef7gikgg5jbGhcaFlD2W5R5eLlRv0Gefy61kiBp6m6Khp3c0OhhhC2P\r
56 Cc: notmuch mailing list <notmuch@notmuchmail.org>\r
57 X-BeenThere: notmuch@notmuchmail.org\r
58 X-Mailman-Version: 2.1.13\r
59 Precedence: list\r
60 List-Id: "Use and development of the notmuch mail system."\r
61         <notmuch.notmuchmail.org>\r
62 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
63         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
64 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
65 List-Post: <mailto:notmuch@notmuchmail.org>\r
66 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
67 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
68         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
69 X-List-Received-Date: Wed, 14 Nov 2012 01:32:12 -0000\r
70 \r
71 Hi Damien,\r
72 \r
73 On Sat, Nov 10, 2012 at 8:58 AM, Damien Cassou <damien.cassou@gmail.com> wrote:\r
74 > I recently sent a patch for notmuch emacs that depends on a particular\r
75 > library. What is the best way to deal with such dependencies?\r
76 \r
77 First off, what's the library, and what is it used for?\r
78 \r
79 I believe that currently the notmuch emacs interface only depends on\r
80 stuff that's included with emacs, which is a nice way to be. There are\r
81 some packages that can improve the notmuch emacs experience if they\r
82 are installed, like w3m. If possible, I'd encourage you to make the\r
83 new library recommended, rather than required.\r
84 \r
85 > I can see different solutions:\r
86 >\r
87 > 1) distribute a rewritten version of the dependency so that the code\r
88 > now belongs to notmuch (e.g., replace the name of the library by\r
89 > 'notmuch'). This has the disadvantage of requiring maintenance when a\r
90 > new version of the library is released and can also be considered\r
91 > 'stealing' by some authors.\r
92 >\r
93 > 2) use a package manager to load the library. This has the\r
94 > disadvantage that the now standard package manager is not in\r
95 > widespread use yet and is not compatible with other OS-based package\r
96 > managers (such as apt-get in Debian).\r
97 >\r
98 > 3) distribute the dependency with the rest of notmuch and load this\r
99 > one. This has the disadvantage of possibly shadowing an already\r
100 > existing version of this library installed through a different means.\r
101 >\r
102 > 4) distribute the dependency with the rest of notmuch (in a separate\r
103 > "fallback-libs/" directory) and load it only when requiring the\r
104 > library with the standard load-path does not work. Jonas Bernoulli\r
105 > gave me a way to do that:\r
106 >\r
107 > ,----\r
108 > | (or (require 'THE-LIB nil t)\r
109 > |     (let ((load-path\r
110 > |           (cons (expand-file-name\r
111 > |                  "fallback-libs"\r
112 > |                  (file-name-directory (or load-file-name buffer-file-name)))\r
113 > |                 load-path)))\r
114 > |       (require 'THE-LIB)))\r
115 > `----\r
116 >\r
117 > What do you think?\r
118 \r
119 I'm not big on any of these solutions. I'd suggest just using the\r
120 package, documenting it as a dependency, and letting users install it\r
121 however they like. This means adding it as a dependency to the\r
122 distro-specific packaging (easy for Debian and friends, not sure about\r
123 others).\r
124 \r
125 Just my thoughts - offering them mostly since no one else has replied.\r
126 \r
127 -- Adam\r